● 引言
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》指出,教師在課堂教學(xué)中要注重對學(xué)生信息意識、計算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新和信息社會責(zé)任四個方面核心素養(yǎng)的培養(yǎng),而計算機(jī)編程無疑是培養(yǎng)學(xué)生計算思維的主要途徑與方法。但筆者調(diào)查發(fā)現(xiàn),在所任教的班級中,每個班級都有90%以上的學(xué)生沒有接觸過計算機(jī)語言,所以很難理解計算機(jī)編程語言的語義語法,也不會使用。因此,為了更好地促進(jìn)學(xué)生在做中學(xué),筆者在講解Python時,將《必修1 數(shù)據(jù)與計算》中第2章的內(nèi)容與必修2中《2.6 小型信息系統(tǒng)的組建》的內(nèi)容相結(jié)合,設(shè)計了基于硬件的Python語言項目學(xué)習(xí)(如下表)。
● 實(shí)施過程
1.以身邊事例引入項目
教師以學(xué)生身邊的事例引入,引導(dǎo)學(xué)生分析“交通信號燈的亮燈的完整過程”,激發(fā)學(xué)生學(xué)習(xí)的積極性,并清晰地理解交通信號燈的過程及算法,為后面Python程序的編寫打下堅實(shí)的基礎(chǔ)。
2.搭建硬件為Python編程鋪路
本次課堂中使用的硬件有Arduino UNO R3板、紅綠燈模塊及杜邦線。教師利用1課時的時間講解《2.6 小型信息系統(tǒng)的組建》一節(jié)的內(nèi)容,讓學(xué)生認(rèn)識Arduino UNO R3板及板的主要構(gòu)造(正極、負(fù)極、模擬數(shù)字端口、數(shù)字端口等)、LED燈、基本傳感器的端口介紹及與Arduino UNO R3板的連線,并設(shè)置一個簡單的實(shí)驗,利用Arduino程序代碼編寫,讓Arduino UNO R3板上自帶的LED燈亮起來,并通過按鈕控制LED燈。
3.做足準(zhǔn)備,讓UNO R3板讀懂Python語言
第一步:在Pyhton中安裝pyfirmata模塊,讓Python語言控制UNO R3板成為可能。
第二步:打開Arduino軟件燒錄文件(目的是讓UNO認(rèn)識Python文件并執(zhí)行),燒錄的文件如下頁圖所示。
4.項目活動設(shè)計,讓燈亮起來
教師重點(diǎn)講述第二課時的活動實(shí)施過程。
活動一:教師介紹硬件及其工作原理(1表示燈亮,0表示燈滅),讓學(xué)生將USB插入到計算機(jī)的USB接口中,并完成相應(yīng)的表格任務(wù)。
設(shè)計意圖:通過UNO R3板的串口的填寫及交通信號燈的接線,讓學(xué)生更熟悉UNO R3板,為后續(xù)程序的閱讀與完善做好鋪墊。
活動二:教師給出只有綠燈亮起—熄滅、黃燈跳閃一次的代碼,解釋程序中導(dǎo)入pyfirmata庫的代碼,解釋庫的作用,引導(dǎo)學(xué)生填入UNO板的串口號,填好后運(yùn)行程序觀察燈的變化(綠燈亮滅后,黃燈亮滅),并要求學(xué)生根據(jù)燈的顯示給四行代碼添加注釋語句(注釋語句用#表示)。接著,引導(dǎo)學(xué)生觀察并思考編寫的程序需要完善的地方。學(xué)生通過代碼運(yùn)行會發(fā)現(xiàn),當(dāng)前黃燈只閃爍一次。但生活中為了便于發(fā)揮黃燈的警示作用,黃燈跳閃多次,紅燈才會亮起,思考如何通過代碼讓黃燈跳閃多次。
設(shè)計意圖:通過注釋語句的填寫讓學(xué)生熟悉程序代碼及已經(jīng)實(shí)現(xiàn)的功能,方便學(xué)生對后面代碼的理解和修改。通過黃燈閃爍多次的問題引出本節(jié)課的重點(diǎn)循環(huán)結(jié)構(gòu)。
活動三:教師講解for語句格式,通過下面的例子讓學(xué)生理解循環(huán)次數(shù)的設(shè)置及執(zhí)行過程,并通過計數(shù)循環(huán)語句的講解,讓學(xué)生利用for語句完善代碼,實(shí)現(xiàn)黃燈的3次閃爍。
打印10顆“*”?print(“*”)寫10次,思考:如何改成循環(huán)語句?
設(shè)計意圖:通過簡單的例子幫助學(xué)生理解計數(shù)循環(huán),讓學(xué)生理解for語句的使用及正確書寫,并能解決實(shí)際問題。
活動四:引導(dǎo)學(xué)生做一個SOS緊急救援燈(三短三長三短)。
引導(dǎo)學(xué)生分析項目要求,并得出只用黃燈(3次快速跳閃,3次慢速跳閃,3次快速跳閃)就可以完成項目。
設(shè)計意圖:設(shè)置挑戰(zhàn)環(huán)節(jié),激發(fā)有能力的學(xué)生進(jìn)一步學(xué)習(xí),最后通過欣賞優(yōu)秀的作品,提高學(xué)生的學(xué)習(xí)積極性。
● 結(jié)語
本項目通過Arduino UNO R3板與Python編程語言的結(jié)合,讓學(xué)生在“聯(lián)系觀察—分析思考—動手實(shí)踐—反思調(diào)整”的過程中,一步步完成智能交通信號燈的制作,進(jìn)而提升學(xué)生的思維能力,把學(xué)生學(xué)習(xí)的過程變成不斷突破、不斷超越的過程。