聶建鋒
(東莞市常平中學(xué),廣東 東莞)
隨著《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》的發(fā)布,“信息意識(shí)、計(jì)算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會(huì)責(zé)任”等4大信息技術(shù)核心素養(yǎng)逐漸成為人們熱議的話題。其中,計(jì)算思維作為信息技術(shù)學(xué)科核心素養(yǎng)之一,以其面向?qū)W科的特性受到格外關(guān)注[1],而程序設(shè)計(jì)教學(xué)是落實(shí)計(jì)算思維的培養(yǎng)的一個(gè)重要載體。
傳統(tǒng)的程序設(shè)計(jì)教學(xué)一般以知識(shí)點(diǎn)的內(nèi)在結(jié)構(gòu)和演化邏輯組織教學(xué)[2],先介紹知識(shí)點(diǎn)的語(yǔ)法格式,再通過(guò)實(shí)例說(shuō)明知識(shí)點(diǎn)在程序設(shè)計(jì)中的用法。這種教學(xué)方法的特點(diǎn)是知識(shí)結(jié)構(gòu)比較完整,有利于學(xué)生全面、系統(tǒng)地掌握知識(shí)。另一方面,這種以知識(shí)點(diǎn)為中心的教學(xué)方法也帶來(lái)一個(gè)問(wèn)題,就是學(xué)生容易在學(xué)習(xí)知識(shí)點(diǎn)的過(guò)程中只見(jiàn)樹(shù)木不見(jiàn)森林,迷失方向。
由于信息技術(shù)課程并非高考科目,對(duì)于零基礎(chǔ)、學(xué)習(xí)動(dòng)機(jī)不強(qiáng)的學(xué)生來(lái)說(shuō),學(xué)習(xí)程序設(shè)計(jì)這種相對(duì)抽象的課程,往往存在畏難情緒。為了調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,筆者在校本課程《Python程序設(shè)計(jì)》教學(xué)過(guò)程總結(jié)出“三段教學(xué)法”的教學(xué)方法。所謂“三段”,就是把程序設(shè)計(jì)教學(xué)過(guò)程由淺入深、循序漸進(jìn)劃分為三個(gè)階段:認(rèn)識(shí)程序、會(huì)讀程序、會(huì)寫(xiě)程序,每個(gè)階段的目標(biāo)和實(shí)現(xiàn)方法見(jiàn)下表。
程序設(shè)計(jì)教學(xué)的“三段教學(xué)法”
在教學(xué)的初期,向?qū)W生介紹程序設(shè)計(jì)與程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)知識(shí),演示趣味小程序,如猜數(shù)游戲、漢諾塔游戲等,激發(fā)學(xué)生的學(xué)習(xí)興趣。課堂中讓學(xué)生運(yùn)行現(xiàn)成的Python小程序,熟悉Python語(yǔ)言的編程環(huán)境,體驗(yàn)程序輸入、處理、輸出的執(zhí)行過(guò)程,形成“Python程序挺好玩”的初步認(rèn)知。
在學(xué)生對(duì)Python程序產(chǎn)生好感之后,接下來(lái)就要讓學(xué)生從感性認(rèn)知上升為理性認(rèn)知。通過(guò)解釋程序語(yǔ)句的含義、借助紙筆運(yùn)算模擬用程序解決問(wèn)題的過(guò)程、請(qǐng)學(xué)生修改程序體驗(yàn)不同的運(yùn)行結(jié)果,不僅使學(xué)生了解Python語(yǔ)言的語(yǔ)法知識(shí),更重要的是讓學(xué)生學(xué)會(huì)從整體的角度去理解程序,既看到樹(shù)木,也看到森林。
同時(shí),也要注意引導(dǎo)學(xué)生理解程序是怎樣解決問(wèn)題的,體會(huì)程序中蘊(yùn)含的計(jì)算思維要素,為下一階段設(shè)計(jì)算法、編寫(xiě)程序做好鋪墊。
閱讀一個(gè)好程序就猶如閱讀一篇好文章,不僅可以從中學(xué)習(xí)編程者排版布局、編程習(xí)慣、編程技巧等,還可以學(xué)習(xí)編程者不同的編程思想。為解決同一個(gè)問(wèn)題而編寫(xiě)出來(lái)的不同程序,有的紛繁復(fù)雜,有的簡(jiǎn)潔易懂,有的漏洞百出,有的嚴(yán)謹(jǐn)細(xì)致。學(xué)會(huì)閱讀程序、欣賞程序,也是一種學(xué)習(xí)程序設(shè)計(jì)必須掌握的重要能力。
能根據(jù)問(wèn)題建立模型、設(shè)計(jì)算法并編寫(xiě)程序解決問(wèn)題,是計(jì)算思維的顯性體現(xiàn)。
編寫(xiě)程序可以先從解決簡(jiǎn)單的問(wèn)題開(kāi)始,如打印輸出自己的姓名、貨幣轉(zhuǎn)換等。對(duì)一些稍復(fù)雜的問(wèn)題,如猜數(shù)問(wèn)題、信息加密問(wèn)題等,可以通過(guò)學(xué)生先閱讀示例程序,修改示例程序,理解程序的邏輯流程,再進(jìn)行歸納小結(jié),最后自己編寫(xiě)程序的方式來(lái)降低直接編寫(xiě)程序的難度,增強(qiáng)學(xué)生的學(xué)習(xí)興趣和成就感。通過(guò)應(yīng)用練習(xí),訓(xùn)練學(xué)生獨(dú)立建模、設(shè)計(jì)算法與編寫(xiě)程序的能力。
通過(guò)閱讀程序、編寫(xiě)程序的反復(fù)訓(xùn)練,讓學(xué)生感受、理解邏輯思維與計(jì)算思維的區(qū)別,掌握運(yùn)用計(jì)算思維解決問(wèn)題的能力。
通過(guò)對(duì)學(xué)生以匿名的方式進(jìn)行問(wèn)卷調(diào)查,結(jié)果顯示,59.6%的學(xué)生學(xué)習(xí)Python的興趣比較高或很高,37.1%的學(xué)生對(duì)學(xué)好Python的信心很強(qiáng),83.3%的學(xué)生對(duì)Python程序設(shè)計(jì)課程總體表示滿意。
在程序設(shè)計(jì)課程中運(yùn)用“三段教學(xué)法”進(jìn)行教學(xué),從認(rèn)識(shí)程序開(kāi)始激發(fā)學(xué)生的學(xué)習(xí)興趣,從閱讀程序中感受和學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言,從編寫(xiě)程序中訓(xùn)練學(xué)生的計(jì)算思維,由整體到局部、由淺入深、循序漸進(jìn),降低了學(xué)習(xí)的臺(tái)階和難度,符合學(xué)習(xí)認(rèn)知規(guī)律。
由于筆者所任教的學(xué)校在東莞高中階段屬于中等層次,學(xué)生對(duì)程序設(shè)計(jì)課程的學(xué)習(xí)動(dòng)機(jī)不強(qiáng),因此在教學(xué)過(guò)程中主要以培養(yǎng)學(xué)生的學(xué)習(xí)興趣和形成良好編程習(xí)慣為主,以訓(xùn)練學(xué)生的計(jì)算思維為目標(biāo)。同時(shí),在教學(xué)內(nèi)容方面也進(jìn)行了適當(dāng)降階處理,期望通過(guò)這種方式減少學(xué)生對(duì)程序設(shè)計(jì)的畏懼心理,主要采用一些貼近生活、簡(jiǎn)單易懂的問(wèn)題作為示例,上機(jī)練習(xí)也是多以改寫(xiě)程序、模仿編程為主,在培養(yǎng)學(xué)生的創(chuàng)新能力方面還有待進(jìn)一步的研究。