姜孝春


如何提高學生學習程序設計的積極性和參與度?興趣是最好的老師,將程序知識的教學融合到一個個開源硬件項目設計之中,寓教于樂,能夠給師生帶來新的程序教學體驗。
在基于Micro:bit的Python教學實踐中,我們創新了一套基于Micro:bit開源硬件的項目式Python程序設計課堂教學范式。用Micro:bit硬件代替VB的窗體設計環節,學生可以直觀地把項目設計成果掌控在自己的手里,同時也能更加聚焦于程序設計的核心——算法,有效提升了課堂上的程序設計完成率。
基于Micro:bit的Python項目式程序課程
Micro:bit是一款便攜、易于學習的可編程開源硬件,不僅支持多種即學即會的圖形化編程環境,還支持多種主流的代碼編程語言,甚至還能支持運行Python,讓我們可以低成本實現基于Micro:bit開源硬件的Python程序教學。打通軟件與硬件的程序設計教學,用硬件實物代替界面設計,能使學生更專注于程序邏輯,學習過程更聚焦于程序知識,更有助于學生突破軟件限制,培養學生的計算思維和解決問題的能力。
學生在完成項目的設計中,需要團隊協作發散思維設計方案,通過學習預設的相關Python知識點對開源硬件編程,完成項目設計,在項目的迭代、優化中鞏固教學知識點,培養學生的計算思維和綜合創新能力。學生在基于Micro:bit的項目式學習中訓練計算思維,通過Python程序設計語言實踐項目設計的方式和方法,獲得運用程序設計解決問題的成功體驗,不斷增強學習程序設計的信心,通過創新和展示激發了學生源源不斷的創新動力,使學生深度參與程序學習,培養學生運用計算思維設計方案和解決問題的能力。
基于Micro:bit的項目式Python程序教材
編寫原則:教學內容由簡單到復雜,由基礎到應用;章節和項目的設置依據高內聚、低耦合的原則;項目實現方式既有程序設計也有硬件搭建。用軟硬件結合的方式,從學生原有的塊語言程序設計基礎完成到代碼語言的過渡,逐漸培養學生運用開源硬件與程序設計結合的綜合項目設計能力。
基于Micro:bit的Python項目式教學設計模型:基于已有知識水平,本著讓學生感興趣、讓教師可掌控的原則,我們采用貼近中學生生活的項目式教學方式,綜合STEM理念對課程進行整合,運用創客思維設計課程,將Python語言程序設計知識與Micro:bit開源硬件進行整合,組成一個個教學項目。每個項目的教學過程分為情境式項目導入、項目分析、問題分解、技術實現、團隊展示和應用拓展這幾個環節。
校本教材的整體設計思路:以課程指導綱要為指導,基于Micro:bit的Python程序教學課程主要用于八年級下學期的程序教學,依據課時安排和學生已有知識能力等實際情況,設計了16章教學內容,每章設計一個項目范例,用1~2個課時完成。每節課的教學都有明確的學習目標、程序相關知識點,通過Micro:bit組件和Python語言知識,完成范例項目,并在此基礎上嘗試拓展思考和創新。教材第1~3章為入門的基礎內容,第4~12章為項目式Python語言程序設計教學,第13~16章為綜合項目設計。
基于Micro:bit的項目式Python教學實施
下面以第8章《循環很有趣》的教學設計為例,結合課堂教學過程中所涉及的多個環節逐一進行闡述。
課前準備:2人一組,BBC micro:bit,USB連接線,教材、學案。
教學目標:了解遍歷的一般概念;掌握for…in結構;運用range()函數生成相應的列表;掌握display.set_pixel()方法;在教學過程中積累依據規則進行代碼編碼的經驗;培養采用小組合作形式解決問題的能力;體會開源硬件編程的樂趣;激發學習程序設計的興趣。
1.項目情境導入
每個項目都有一個吸引人的項目名稱,如“會呼吸的燈”,通過情境文字結合配圖對項目進行描述,將程序教學與創客教育有效整合,形成一個個貼近學生生活的創新項目設計,賦予課堂活力,激發學生創造與設計的興趣,培養學生學習程序設計解決實際問題的綜合能力。同時,為了便于課程的實施推廣,更高效直觀地引導師生自學,結合易加互動平臺上的課程資源庫建設,錄制并上傳微視頻,師生通過掃描二維碼即可觀看《會呼吸的燈》等所有課例的完成效果演示視頻。
“會呼吸的燈”是指燈光在程序控制之下完成亮度由亮到暗的逐漸變化,并且不斷循環,好像是人在呼吸一樣。在實際教學中,教師引導學生合理使用Micro:bit的硬件功能與性能,構想實現效果的多種可能性,在此基礎上展開討論分析確定程序設計方案。
2.動手寫一寫
在完成項目情境導入、項目流程分析之后,教材同時設計了Python語言和圖形化塊語言兩套程序方案,這樣既可以為Python初學者提供閱讀程序的階梯,也可以豐富學生對程序設計的認識,同時有助于整班上課時學困生的差異化教學,讓無法運用Python語言完成程序設計的學生也能通過簡單易學的塊語言感受到程序設計帶來的樂趣和成就感。
教師引導學生根據Micro:bit開源硬件的特點,運用Micro:bit自帶的5×5LED點陣信息屏幕作為燈光,通過程序控制實現亮度逐漸從暗到亮,再從亮到暗。這里從暗到亮需要按照圖像*(1/9)、圖像*(2/9)……圖像*(9/9)的順序將圖像逐一顯示出來。每次顯示變化的是圖像*(x/9)中的x,而且x是從1到9有規律地變化的,對此本程序可以學習使用for…in遍歷結構。反之,讓x從9到1變化則實現從亮到暗。學生在通過動手寫一寫編寫Python語言程序的探究學習中,可根據自己的知識與經驗和教材的提示,通過小組合作完成相關任務。“動手寫一寫”Python語言和圖形化塊語言兩套程序方案如圖1所示。
3.代碼解說
先對程序進行總體概括性描述,然后按程序運行流程進行逐條解釋,其中貫穿新授的知識點介紹。根據章節設置,為了便于教學目標的達成,以及難點、重點的突破,其中穿插了項目相關的“Python知識”模塊,將Python知識重點進行詳細講解,從一般語句結構介紹開始,配有文字描述和程序流程圖,結合例程進行講解。從常規應用到特殊情況和注意事項,力求細致、全面、簡潔。“Micro:bit知識”模塊如圖2所示,配圖介紹了項目設計所運用到的Micro:bit相關傳感器性能、參數,以及在MicroPython環境中“microbit”內置模塊對象的調用方法和注意事項。
4.思考題
通過思考與實踐鞏固本節Python程序語言知識,鼓勵學生綜合運用新舊知識,充分發揮小組的創造力解決新問題、設計新項目,在以小組為基本單位的項目式學習中培養學生的計算思維和團隊協作能力。
例如,在本節內容后布置了如下思考題:實現一個“閃爍的星空”的效果,即在LED屏幕(天空)上隨機點亮(9級)一些點(星星),然后這些星星的亮度逐漸由亮變暗直至消失,而這些星星會交錯地出現,周而復始,就像夏日夜晚中搖曳的星空。在這個項目中,學生設計除了需要用到本節的for…in遍歷結構,還需要復習之前做過的項目,綜合運用第6章《隨機數的樂趣》中的隨機數對象random,結合micro:bit知識和range()函數生成相應的新列表,完成程序主干部分;而“這些星星的亮度逐漸由亮變暗直至消失”,則是開放性的設計,可以通過多種方式達到殊途同歸的效果,訓練學生的發散性思維,實踐和探究解決問題的多種策略。
5.運用“易加互動”學習平臺支持,共建優質在線資源
“易加互動”學習平臺是蘇州工業園區智慧教育網絡平臺,全區教師、學生做到人人有賬號、個個能登錄。平臺資源共建、共享簡化了教師工作,教師可以在平臺上分工協作開發課程,共同完成資源庫建設,《跟著“小微”學Python》(蘇州大學出版社出版)課程資源已經通過易加平臺共享給全區教師,教師可以引用共享資源,創建適合自己教學的新課程資源。“易加互動”學習平臺豐富的教學資源和互動評價為學生自主學習提供了有力的支持。運用“易加互動”學習平臺支持,可有效開展差異化教學,促成高效互動的程序項目式Python程序設計課堂。
課程實施的感悟與收獲
在開展基于Micro:bit的項目式Python程序設計教學過程中,教師在課堂教學中起引路人的作用。教師要熟練掌握Python語言,熟悉Micro:bit的硬件性能,也需要了解創客教育的規律,充分發揮學生在學習過程中的主體性,把握學生在模仿、設計、制作、調試等環節中的難點問題,培養學生的計算思維和解決問題的能力,激發學生更多的創意。在教學中我們要激活課堂,調動學生的自主性,合理設置項目難度梯度,給予學生信任和充足的自主時間,通過適當的教學資源輔助和個性化指導,充分激發學生的想象力與創造力。
教師在程序教學的實踐中應把握信息技術學科教育的基本規律和原則,從實際情況出發,引導學生從小項目做起,在學習、模仿、設計、反復優化作品的過程中不斷累積,培養學生的計算思維和解決問題的綜合能力。