周曉燕
摘要:面向?qū)ο蠹夹g(shù)作為程序設(shè)計(jì)中的重要思想和模式在業(yè)界早已普遍使用。但由于難度、課時(shí)等多方面的因素,在高中信息技術(shù)課程的程序設(shè)計(jì)教學(xué)模塊中一直難以展開和深入。該文就近年來在高中信息技術(shù)課程中面向?qū)ο蠹夹g(shù)的教學(xué)嘗試做了初步的經(jīng)驗(yàn)總結(jié),并提出成熟的教學(xué)思路,以期利用有限的課時(shí),能夠?qū)⒚嫦驅(qū)ο蠹夹g(shù)核心的思維方式及編程思路傳授給學(xué)生。
關(guān)鍵詞:高中信息技術(shù);面向?qū)ο?思維方式;教學(xué)實(shí)踐
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)33-0257-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1引言
隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,面向?qū)ο蟪绦蛟O(shè)計(jì)在行業(yè)中的應(yīng)用早已占據(jù)主導(dǎo)地位。同時(shí),面向?qū)ο笤谲浖こ讨校彩且环N思維方式,甚至工作方法,其重要性不言而喻。
但在現(xiàn)階段的中學(xué)信息技術(shù)教學(xué)中,由于種種原因,面向?qū)ο蟪绦蛟O(shè)計(jì)的內(nèi)容有限,教師的重視程度也不足,這與其自身的重要性和在行業(yè)中的地位并不相符。
筆者在以往的教學(xué)過程中,也時(shí)常遇到學(xué)生提出相關(guān)問題,一般都無法用三言兩語解釋清楚。所以近兩年,筆者嘗試將面向?qū)ο蟮膬?nèi)容融入教學(xué)中,初步取得了一些經(jīng)驗(yàn)。
2 高中階段面向?qū)ο蠹夹g(shù)的教學(xué)現(xiàn)狀
2.1 普通高中教學(xué)
以蘇教版的高中信息技術(shù)教材為例,在程序設(shè)計(jì)模塊中,面向?qū)ο蟮膬?nèi)容只占一個(gè)小結(jié)。以往的講授只是簡(jiǎn)單地介紹,比較合理的做法是結(jié)合VB的界面編程,通過控件來介紹屬性、方法等概念。而關(guān)于面向?qū)ο蟮娜齻€(gè)最重要的特性,即封裝、繼承和多態(tài),一般只是照本宣科,學(xué)生難以做到完全理解。
從學(xué)科知識(shí)的角度而言,教學(xué)效果自然差強(qiáng)人意。索性考核要求也不高,所以多年來,面向?qū)ο筮@部分內(nèi)容只是簡(jiǎn)單介紹,甚至就直接跳過。
2.2 學(xué)科競(jìng)賽
信息技術(shù)奧賽,作為最權(quán)威也最具代表性的學(xué)科競(jìng)賽,主要使用C++編程語言(很快將不采用C, Pascal),涉及了更多的面向?qū)ο蟮闹R(shí),例如運(yùn)算符重載、stl編程等等。事實(shí)上,這些都要求學(xué)生具備一定的面向?qū)ο缶幊棠芰退枷搿?/p>
2.3 與國(guó)際課程接軌
對(duì)比國(guó)外的相關(guān)課程,例如英國(guó)的A-Level課程體系中的計(jì)算機(jī)科目,面向?qū)ο笫亲鳛橹匾獌?nèi)容系統(tǒng)講解的,且對(duì)編程的要求也很高。所以可以肯定的是,從難度上講,面向?qū)ο缶幊虒?duì)高中生,特別是在小學(xué)初中有一定基礎(chǔ)的學(xué)生而言,是不成問題的,當(dāng)然,這還需要足夠的學(xué)時(shí)。
2.4學(xué)生情況
在日常教學(xué)中,學(xué)生往往會(huì)提出或者遇到面向?qū)ο笙嚓P(guān)的問題。例如VB.net(代替老舊的VB6.0)中最常用的輸出語句Console.WriteLine,到底是什么語法現(xiàn)象。再如很多學(xué)生接觸了流行的Python語言(Python已作為新一代教材的指定語言),往往會(huì)對(duì)其“一切都是對(duì)象”的說法產(chǎn)生困惑。還有一些學(xué)生會(huì)結(jié)合小學(xué)階段所學(xué)習(xí)的Scratch來思考程序的結(jié)構(gòu),如果沒有面向?qū)ο蟮母拍顒t仍然難以理解。這樣的問題不在少數(shù)。
上述情況由來已久,使筆者感到,在教學(xué)中刻意回避面向?qū)ο蟮南嚓P(guān)內(nèi)容,已經(jīng)遠(yuǎn)遠(yuǎn)不能跟上技術(shù)的發(fā)展,反而讓學(xué)生的疑惑得不到解答。而在教學(xué)過程中適當(dāng)引入面向?qū)ο蟮膬?nèi)容,采用一定的方法講授給學(xué)生,是否對(duì)高中生而言就會(huì)困難重重,是否對(duì)教師而言就是費(fèi)時(shí)費(fèi)力?通過近幾年的教學(xué)實(shí)踐,答案是否定的。
3 教學(xué)實(shí)踐中的幾點(diǎn)問題
3.1 教學(xué)安排
毋庸諱言,課時(shí)有限是教學(xué)過程中最突出的問題,系統(tǒng)地講解面向?qū)ο蟪绦蛟O(shè)計(jì)仍然難以做到。所以采用集中分散相結(jié)合的辦法。集中講解的課時(shí)不超過2堂課,甚至更少,主要以程序演示為主。分散是指講授其他知識(shí)點(diǎn)時(shí),聯(lián)系或引申面向?qū)ο蟮膬?nèi)容和思想。例如,向VB的frame上拖拽按鈕的時(shí)候,很容易就可以區(qū)分類和對(duì)象的概念。
教學(xué)方法上,盡量多通過實(shí)例引出概念,通過問題啟發(fā)思考。這里的實(shí)例不僅僅是具體程序,還可以是生活的事例。例如,以現(xiàn)實(shí)中繼承的例子,從而過渡到面向?qū)ο蟮睦^承。所提問題也需要精心設(shè)計(jì),例如通過“類與結(jié)構(gòu)體有哪些異同?”這樣的問題,讓學(xué)生掌握屬性和方法的運(yùn)用。
3.2 難度把握
從知識(shí)點(diǎn)難度上考慮,面向?qū)ο蟮姆庋b、繼承兩個(gè)概念,學(xué)生易于理解。筆者在教學(xué)中通過人與人的關(guān)系來講解封裝和消息的概念;通過現(xiàn)實(shí)生活中的繼承來講解繼承的含義。如果時(shí)間允許,花一節(jié)課時(shí),由老師編寫相關(guān)的程序(現(xiàn)為VB.net)并做解釋,不僅能夠讓學(xué)生的理解更加清晰,同時(shí)也解答了程序應(yīng)用中的種種疑惑。
而對(duì)于面向?qū)ο蟮亩鄳B(tài)性,不管從概念還是程序理解上來說難度相對(duì)較大。現(xiàn)在采取的方法是通過簡(jiǎn)單例程講解靜態(tài)多態(tài)。而動(dòng)態(tài)多態(tài)性,則期望普及Python語言后,通過Python來講解,則會(huì)非常方便。
3.3 強(qiáng)調(diào)優(yōu)勢(shì)
在教學(xué)過程中,盡量讓學(xué)生體會(huì)面向?qū)ο蟮膬?yōu)勢(shì)。通過與面向過程的編程方式做比較,讓學(xué)生理解從函數(shù)模塊到“類”的發(fā)展;結(jié)合人們?nèi)粘5乃季S方式,讓學(xué)生體會(huì)“面向?qū)ο笃鋵?shí)是編程思維的返璞歸真”;再從開發(fā)者的角度,讓學(xué)生切實(shí)感到面向?qū)ο笠彩且环N高效率的軟件開發(fā)方式。從多個(gè)方面使學(xué)生能夠自然地接受面向?qū)ο蠹夹g(shù)。
4 高中信息技術(shù)課程面向?qū)ο笾R(shí)模塊教學(xué)總結(jié)
4.1教學(xué)效果總結(jié)
通過對(duì)學(xué)生學(xué)習(xí)情況的了解,絕大部分學(xué)生對(duì)面向?qū)ο缶幊逃辛顺醪搅私?,能夠?qū)⑵渑c面向過程的編程方式區(qū)分開來,并理解面向?qū)ο缶幊痰奶攸c(diǎn)和優(yōu)點(diǎn),特別是對(duì)遇到的一些語法現(xiàn)象不再迷茫。就難度而言,學(xué)生普遍反映課上所講完全可以理解,包括例程。當(dāng)然,更深刻的體會(huì)不可能一蹴而就,但已經(jīng)完全達(dá)到打好面向?qū)ο缶幊袒A(chǔ)的教學(xué)目的。
此外,一些學(xué)習(xí)較好的學(xué)生,已經(jīng)能夠用面向?qū)ο蟮乃悸纺7轮帉懸恍┏绦颍瑢?duì)遇到的問題,會(huì)主動(dòng)思考是否可以用類來做抽象。對(duì)這些學(xué)生,筆者引導(dǎo)他們嘗試對(duì)以往的程序用面向?qū)ο缶幊套龈膶?,在這個(gè)過程中,更能清楚地比較面向過程和面向?qū)ο髢煞N編程模式。但這些工作暫未全班推廣。
4.2教學(xué)經(jīng)驗(yàn)
首先,筆者認(rèn)為,現(xiàn)有的高中信息技術(shù)課程中的程序設(shè)計(jì)教學(xué)模塊,難度和深度已經(jīng)足以講解面向?qū)ο蟮南嚓P(guān)知識(shí),無須刻意回避。而講解面向?qū)ο蟮南嚓P(guān)知識(shí),學(xué)生的收獲是很大的,所以完全應(yīng)該堅(jiān)持下去。
其次,通過精心的教學(xué)設(shè)計(jì),可以盡量做到化難為易,化繁為簡(jiǎn),同時(shí)也增強(qiáng)了學(xué)生的學(xué)習(xí)信心。例如,編寫合適的例程;概念多角度講解;多舉實(shí)例和生活中的例子等等。
最后,根據(jù)學(xué)生特點(diǎn),對(duì)較優(yōu)秀的學(xué)生再推一把,通過指導(dǎo)課外學(xué)習(xí),充分調(diào)動(dòng)他們的積極性。
4.3 量表評(píng)價(jià)
具體的面向?qū)ο蠹夹g(shù)在高中信息技術(shù)課程中的教學(xué)效果,以校本課程評(píng)價(jià)量表的形式說明如下:
5 結(jié)束語
在整個(gè)面向?qū)ο蠹夹g(shù)的教學(xué)過程中,筆者覺得,最理想的狀態(tài)是在講解基本概念的基礎(chǔ)上,引導(dǎo)學(xué)生自覺地去使用面向?qū)ο蠹夹g(shù)思考問題、分解問題、解決問題,使學(xué)生真正體會(huì)到其優(yōu)勢(shì)和好處。
事實(shí)上,面向?qū)ο?,從來不僅僅是編程技術(shù),也是方法和模式。在高中信息技術(shù)的課堂上,利用有限的課時(shí),能夠?qū)⑦@種思維方法和工作模式傳授給學(xué)生,那么面向?qū)ο蠹夹g(shù)的教學(xué)目的也就真正達(dá)到了。
參考文獻(xiàn):
[1] 韓燕麗,楊慧炯.工程應(yīng)用導(dǎo)向的面向?qū)ο笙盗姓n程體系重構(gòu)[J]. 軟件工程,2019(3):60-62.
[2] 張成.基于核心素養(yǎng)的高中信息技術(shù)學(xué)科教學(xué)策略研究[J].中小學(xué)教學(xué)研究,2019(1):73-76.
[3] 譚火彬,林廣艷.培養(yǎng)軟件工程思想的面向?qū)ο蟪绦蛟O(shè)計(jì)課程改革與實(shí)踐[J].計(jì)算機(jī)教育,2018(8):53-58.
[4] 孫勇徐,建輝.定位于實(shí)踐的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)探索[J].教育現(xiàn)代化,2018(10):271-274.
[5] 譚珊珊,楊簡(jiǎn)云,程慶雷.高中信息技術(shù)項(xiàng)目學(xué)習(xí)記錄表的設(shè)計(jì)與實(shí)施路徑——以《人工智能及其應(yīng)用》單元為例[J].中國(guó)信息技術(shù)教育,2020(21):58-60.
[6] 周靜,吳涵.項(xiàng)目化學(xué)習(xí)在高中Python編程教學(xué)中的應(yīng)用[J].中國(guó)信息技術(shù)教育,2020(20):55-56.
[7] 韋麗娟. 面向?qū)ο蟪绦蛟O(shè)計(jì)的高中編程思維培養(yǎng)[J]. 信息化建設(shè), 2016(8):42.
[8] 丁智國(guó),錢婕. 面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)改革[J].計(jì)算機(jī)教育,2011(9):9-12
[9] 毛曉娟.基于創(chuàng)客教育理念的項(xiàng)目教學(xué)應(yīng)用研究——以普通高中信息技術(shù)課程為例[D]. 天津職業(yè)技術(shù)師范大學(xué),2018
【通聯(lián)編輯:王力】