潘安娜
摘要:所謂“單元教學(xué)”(即綜合化教學(xué)),就是在學(xué)生掌握的已有概念和學(xué)科思維、方法的基礎(chǔ)上,結(jié)合學(xué)科特點(diǎn),開(kāi)展任務(wù)型教學(xué)、活動(dòng)型教學(xué)、項(xiàng)目式學(xué)習(xí)、主題式教學(xué)等活動(dòng),以增強(qiáng)學(xué)生的探究意識(shí)、創(chuàng)新意識(shí)以及分析和解決問(wèn)題的能力。以“算法與程序?qū)崿F(xiàn)”單元為例,說(shuō)明單元教學(xué)的特點(diǎn):立足單元,目標(biāo)實(shí)現(xiàn)更現(xiàn)實(shí);難度遞進(jìn),問(wèn)題解決更容易;舉一反三,實(shí)際問(wèn)題更實(shí)用。
關(guān)鍵詞:?jiǎn)卧虒W(xué)算法與程序?qū)崿F(xiàn)綜合化整體化
所謂“單元教學(xué)”(即綜合化教學(xué)),就是在學(xué)生掌握的已有概念和學(xué)科思維、方法的基礎(chǔ)上,結(jié)合學(xué)科特點(diǎn),開(kāi)展任務(wù)型教學(xué)、活動(dòng)型教學(xué)、項(xiàng)目式學(xué)習(xí)、主題式教學(xué)等活動(dòng),以增強(qiáng)學(xué)生的探究意識(shí)、創(chuàng)新意識(shí)以及分析和解決問(wèn)題的能力。單元教學(xué)一般是基于課程單元內(nèi)容的,但更多的是在大情境、大任務(wù)、大項(xiàng)目、大觀念、大問(wèn)題的背景下進(jìn)行綜合化、整體化的設(shè)計(jì),再按照教學(xué)時(shí)間要求進(jìn)行統(tǒng)籌安排,實(shí)施教學(xué)。
我校一直倡導(dǎo)和重視單元教學(xué),提出了“STEAM+跨學(xué)科學(xué)習(xí)、全科閱讀、系統(tǒng)思考”等單元教學(xué)理念,并就單元教學(xué)多次開(kāi)設(shè)全國(guó)、省、市級(jí)示范課。筆者作為一員也多次參與其中。以下是筆者設(shè)計(jì)的“算法與程序?qū)崿F(xiàn)”單元教學(xué)案例,希望能夠帶給同行一些思考和借鑒。
一、立足單元,目標(biāo)實(shí)現(xiàn)更現(xiàn)實(shí)
傳統(tǒng)教學(xué)為每節(jié)課都設(shè)置了知識(shí)與技能、過(guò)程與方法、情感態(tài)度與價(jià)值觀的三維目標(biāo),通常會(huì)使一節(jié)課目標(biāo)達(dá)成的操作難度過(guò)大,同時(shí)各節(jié)課目標(biāo)之間的層次性也不夠。單元教學(xué)以整個(gè)單元的視角來(lái)設(shè)計(jì)教學(xué)目標(biāo),使單元中某幾節(jié)課是偏重知識(shí)的,某幾節(jié)課是偏重方法的,某幾節(jié)課是偏重情感的,從而使每節(jié)課教學(xué)目標(biāo)的操作性更強(qiáng)。
例如,“算法與程序?qū)崿F(xiàn)”的單元教學(xué)目標(biāo)是:
1.通過(guò)實(shí)例分析與討論,學(xué)會(huì)運(yùn)用恰當(dāng)?shù)拿枋龇椒ê涂刂平Y(jié)構(gòu)表示簡(jiǎn)單的算法。
2.通過(guò)實(shí)踐,掌握程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí),理解三大結(jié)構(gòu),實(shí)現(xiàn)簡(jiǎn)單的算法,培養(yǎng)利用計(jì)算機(jī)解決實(shí)際問(wèn)題的意識(shí)和能力。
3.通過(guò)解決實(shí)際問(wèn)題,體驗(yàn)程序設(shè)計(jì)的基本流程,感受算法的魅力,掌握程序調(diào)試與運(yùn)行的方法。
目標(biāo)1是理論層面上的分析,目標(biāo)2是技術(shù)層面上的操作,目標(biāo)3是實(shí)際層面上的應(yīng)用。本單元教學(xué)的最終目的是,學(xué)生能夠通過(guò)判斷、分析與綜合各種信息資源,運(yùn)用合理的算法形成解決問(wèn)題的方案,并能夠借助數(shù)字化工具表達(dá)思想、建構(gòu)知識(shí),養(yǎng)成數(shù)字化學(xué)習(xí)與創(chuàng)新的習(xí)慣。
單元教學(xué)強(qiáng)調(diào)綜合化、整體化的教學(xué)設(shè)計(jì),可以按照單元教學(xué)的目標(biāo)整體設(shè)計(jì)單元內(nèi)容。由此,梳理出本單元的教學(xué)內(nèi)容如下:
1.用流程圖描述程序的三大結(jié)構(gòu),描述解決問(wèn)題的算法思想。
2.用Python語(yǔ)言實(shí)現(xiàn)程序的三大結(jié)構(gòu),實(shí)現(xiàn)簡(jiǎn)單的算法。
3.體驗(yàn)用計(jì)算機(jī)解決問(wèn)題的過(guò)程,利用算法解決生活、學(xué)習(xí)中的實(shí)際問(wèn)題。
根據(jù)教學(xué)內(nèi)容設(shè)計(jì)出本單元的三個(gè)主題以及具體的知識(shí)結(jié)構(gòu)(如圖1)。
二、難度遞進(jìn),問(wèn)題解決更容易
傳統(tǒng)教學(xué)更注重每節(jié)課的教學(xué)設(shè)計(jì),教師往往在“生吞活剝”后,將復(fù)雜問(wèn)題簡(jiǎn)單化,導(dǎo)致學(xué)生不會(huì)將知識(shí)運(yùn)用到復(fù)雜的情境中去,學(xué)生的知識(shí)既未主動(dòng)建構(gòu),也未形成體系,而是以單一的形式“記”在腦子里。即:教師教得“斷章取義”,學(xué)生學(xué)得“一知半解”。而單元教學(xué)強(qiáng)調(diào)把“節(jié)”放到“章”里去透視,從而更好地聚焦“節(jié)”的重點(diǎn),發(fā)揮“節(jié)”的作
圖1
用,讓學(xué)生不僅見(jiàn)樹(shù)木,更見(jiàn)森林。
例如,“程序設(shè)計(jì)三大結(jié)構(gòu)”通常的教學(xué)方式是針對(duì)每種結(jié)構(gòu)舉很多實(shí)例來(lái)幫助學(xué)生理解,但這些實(shí)例之間并無(wú)聯(lián)系,容易造成學(xué)生“狗熊掰玉米——學(xué)一個(gè),丟一個(gè)”的現(xiàn)象。而筆者基于單元教學(xué)的理念,為三大結(jié)構(gòu)(順序結(jié)構(gòu)—分支結(jié)構(gòu)—循環(huán)結(jié)構(gòu))分別設(shè)計(jì)了“求三角形面積問(wèn)題”“改進(jìn)求三角形面積問(wèn)題”和“多次求三角形面積問(wèn)題”三個(gè)實(shí)例。其教學(xué)過(guò)程如下——
[出示問(wèn)題:輸入3個(gè)正數(shù)值,利用海倫公式計(jì)算以它們?yōu)檫呴L(zhǎng)的三角形的面積。教師分析后提供測(cè)試數(shù)據(jù),如(3,4,5)、(10,15,18)、(1,2,3)、(12,8,22)。學(xué)生實(shí)際操作。]
生為什么后兩組數(shù)據(jù)結(jié)果不對(duì),還報(bào)錯(cuò)?
師想一想三角形的構(gòu)成條件。
生(恍然大悟)需要判斷是否能構(gòu)成三角形。
(學(xué)生完善程序。)
師每次運(yùn)行程序只能計(jì)算一次,多組數(shù)據(jù)測(cè)試起來(lái)非常不方便。如何解決?
生可以讓程序自動(dòng)運(yùn)行多次。
師對(duì)的,我們可以通過(guò)計(jì)數(shù)型循環(huán)For語(yǔ)句來(lái)實(shí)現(xiàn)這一功能。
(教師介紹計(jì)數(shù)型循環(huán)For語(yǔ)句的用法。學(xué)生完善程序,并連續(xù)測(cè)試多組數(shù)據(jù)。)
師使用For循環(huán),程序一定要運(yùn)行完我們?cè)O(shè)定的次數(shù)才能退出。我們想隨時(shí)結(jié)束程序,怎么辦?(稍停)可以通過(guò)While循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn)這一功能。
(教師介紹While循環(huán)語(yǔ)句的用法。學(xué)生繼續(xù)完善程序,再次連續(xù)測(cè)試多組數(shù)據(jù)。)
三個(gè)實(shí)例由淺入深,逐層遞進(jìn),引導(dǎo)學(xué)生在編寫(xiě)程序時(shí)考慮程序的健壯性、完善性、實(shí)用性,在分析和設(shè)計(jì)的過(guò)程中提高問(wèn)題解決的能力,感受程序設(shè)計(jì)的魅力,掌握程序調(diào)試運(yùn)行的方法,促進(jìn)計(jì)算思維的發(fā)展。
除了縱向難度上的遞進(jìn),對(duì)于復(fù)雜問(wèn)題,還可以將難度橫向分解。例如,在“計(jì)算機(jī)解決實(shí)際問(wèn)題”主題中,“移動(dòng)的小船”是比較復(fù)雜的項(xiàng)目,要求學(xué)生掌握通過(guò)鍵盤(pán)控制窗口中小船的左右移動(dòng)。這其中涉及的知識(shí)點(diǎn)比較多,比如pygame模塊的安裝和導(dǎo)入、游戲窗口的設(shè)置、窗口中物體的顯示、窗口中物體的運(yùn)動(dòng)等等。筆者引導(dǎo)學(xué)生對(duì)功能模塊進(jìn)行分解,來(lái)降低整體難度:首先實(shí)現(xiàn)各個(gè)小功能模塊,最后實(shí)現(xiàn)完整的程序。
三、舉一反三,實(shí)際問(wèn)題更實(shí)用
單元教學(xué)經(jīng)常采用大情景、大任務(wù)、大項(xiàng)目、大觀念、大問(wèn)題的模式,更能貼近學(xué)生的學(xué)習(xí)生活,讓學(xué)生的代入感更強(qiáng);以解決實(shí)際問(wèn)題為目的,更能培養(yǎng)學(xué)生舉一反三的能力。
例如,前面提到的“移動(dòng)的小船”項(xiàng)目,實(shí)際上是“計(jì)算機(jī)解決實(shí)際問(wèn)題”主題中“游戲創(chuàng)意設(shè)計(jì)”這個(gè)大項(xiàng)目的一個(gè)引例。“游戲創(chuàng)意設(shè)計(jì)”項(xiàng)目要求學(xué)生自己設(shè)計(jì)一款小游戲?!耙苿?dòng)的小船”項(xiàng)目通過(guò)pygame模塊實(shí)現(xiàn)了鍵盤(pán)控制物體運(yùn)動(dòng)的操作。在這一實(shí)例的啟發(fā)下,學(xué)生舉一反三,設(shè)計(jì)出了“接金幣”“躲導(dǎo)彈”“搶紅包”“打地鼠”(如圖2—圖5)等游戲?!巴妗弊约涸O(shè)計(jì)的游戲讓學(xué)生積極性高漲,創(chuàng)意迸發(fā),信心百倍。能力強(qiáng)的學(xué)生還探究出了怎樣在游戲中實(shí)現(xiàn)計(jì)分,怎樣設(shè)計(jì)游戲的難度系數(shù)等。
圖2圖3
圖4圖5
舉一反三的能力不僅表現(xiàn)在可以使用一種方法解決許多類(lèi)似的問(wèn)題,而且體現(xiàn)在可以使用多種方法解決同一個(gè)問(wèn)題。例如,筆者設(shè)計(jì)了“優(yōu)美的函數(shù)圖像”項(xiàng)目,引導(dǎo)學(xué)生嘗試通過(guò)多種方法實(shí)現(xiàn)函數(shù)圖像的繪制——可以用表格畫(huà)函數(shù)圖像,也可以用程序畫(huà)函數(shù)圖像。并通過(guò)對(duì)比不同方法的優(yōu)劣,引導(dǎo)學(xué)生學(xué)會(huì)在解決實(shí)際問(wèn)題時(shí)選擇更優(yōu)的方法。
單元教學(xué)的實(shí)用性遠(yuǎn)不止于此,還有諸如培養(yǎng)學(xué)生的團(tuán)隊(duì)合作能力等效能。本文僅作為“引玉的磚”,以期引發(fā)廣大同仁的思考與推廣。
參考文獻(xiàn):
[1] 董付國(guó).Python程序設(shè)計(jì)基礎(chǔ)(第2版)[M].北京:清華大學(xué)出版社,2018.
[2] 〔美〕Warren Sande,Carter Sande.父與子的編程之旅——與小卡特一起學(xué)Python[M].蘇金國(guó),易鄭超,譯.北京:人民郵電出版社,2014.