

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