秦維超 戴曉芬

面向人工智能前沿領域的Python編程內容已納入浙教版高中信息技術教材。對于在編程領域零起點的高中生,純Python編程的學習往往停留于知識點的羅列,自然感到乏味、無趣。那么,在學習Python編程時如何提高學生解決真實問題的能力呢?筆者認為,將Python教學的知識點融合到開源硬件Micro:bit搭建的實際項目設計中,寓教于樂,使學生在Python編程學習中經歷發現問題、分析問題、分解問題、轉化問題、解決問題、總結問題的全過程,可全面提高學生的問題解決能力。
● 開源硬件在Python編程學習中的優勢
對于學習Python編程的大部分高中生來說,在學習了Python的基本語法、數據結構、三種控制結構等基礎知識后常會出現學習積極性不高和迷茫的情況,之所以出現這種情況,往往是因為缺乏Python編程的實踐場景。
《普通高中信息技術課程標準(2017年版)》將“開源硬件項目設計”作為選擇性必修模塊劃入新課標,其中主要包括“開源硬件的特征”“開源硬件項目流程”和“基于開源硬件的作品設計與制作”三部分內容。基于開源硬件的項目設計體現了信息技術課程中硬件和軟件編程相融合的理念。開源硬件在編程學習中的優勢主要有:①變抽象的知識點羅列為直觀的可操作的應用。基于開源硬件的Python編程,調試結果將通過硬件(如LED燈、聲音、風扇等)直接呈現在外部環境,學生的感官能直接觀察到相應的光、聲、動等信息,調動多感官參與學習來深化對編程技能與思維的理解。②提供有挑戰性的以問題解決為導向的學習內容。基于開源硬件的Python編程,拓展了應用Python編程來解決問題的場景,如何組合并聯動不同類型的硬件來解決特定的問題,考驗并檢驗了學習者對編程的理解程度和學習遷移能力。③從生活中來到生活中去。基于開源硬件的Python編程,提供了真實學習場景,即利用可編程的開源硬件來仿真生活中的場景。這樣既能引導學生進一步探究實際生活場景背后的技術原理,又能鼓勵學生思考如何將所學的編程知識運用到解決生活問題上——這是編程學習以應用和問題解決為導向的特點。
● 如何在Python課堂中巧用開源硬件
在設計基于Python的硬件編程課程時,不要認為凡是硬件編程的內容,都是圍繞學習某硬件的功能特性來展開的,對于入門級的Python硬件編程課程而言,設計者需要思考如何把對硬件的編程與Python軟件編程結合在一起。
筆者嘗試了一種基于Micro:bit的以問題解決為導向的Python編程課堂教學范式,借助Micro:bit代替Python單純語句教學形式,學生可以直觀地把Python編程項目成果展現在自己的作品中。例如,在借助Micro:bit構建的點陣LED燈光屏幕中,結合Python編程重難點內容之一的雙重循環,將其轉化為一個LED燈的顯示、一行LED燈的顯示、多行LED燈的顯示,調動了學生學習積極性,提高了學生在真實場景中的問題意識、問題思維能力和轉化能力。
● 基于開源硬件的Python課堂有利于提升問題解決能力
開源硬件的教育應用應著重發展學生的創新能力,包括學習能力、發現問題能力、設計解決問題方案能力和實踐其方案的能力。基于Micro:bit的以問題解決為導向的Python編程的課堂教學范式,主要由創設問題、分析問題、問題轉化、問題分解、解決問題、總結問題等環節組成。
1.創設問題
借助Micro:bit的正面LED屏,模擬城市景觀燈,顯示多彩的滾動燈光秀。第0排從左到右依次點亮LED等待1秒之后自動全部熄滅,接著第1排從左到右依次點亮LED等待1秒之后自動全部熄滅,然后是第2、第3、第4排。第4排結束之后能自動重新回到第0排進行周期性亮燈。
2.分析問題
引導學生借助流程圖進行分析,Micro:bit正面有5×5的LED顯示屏,可以用來顯示圖案和文字。將上面的問題情境經過算法分析,可以借助5次循環依次控制每一排LED燈的亮和滅,形成圖1所示的流程圖。
3.問題轉化
轉化就是把較復雜的問題變成較簡單的問題,把未知的問題變成已經解決的問題,如點亮LED燈的問題可以轉化成數字圖像。
4.問題分解(如圖2)
把復雜的、籠統的問題拆解成一個個小的、可執行開展的問題就是問題拆解能力,只有正確拆解了問題,才能形成合理的假設、切入點。這個能力是不斷進階并勝任復雜任務的基本功。
5.解決問題(如圖3)
6.總結問題
本節課將理論知識與動手實踐結合,培養了學生的創新實踐能力與團隊協作能力,通過該實驗讓學生認識到在信息課上學到的知識、技術是有用的,是真的可以轉化成實際的產品甚至是藝術品的,提高了學生學習信息技術學科的興趣,為學生學習后續的知識增加了驅動力。但同時本節課也有一些不足,如該實驗難度不大但環節較多,學生水平的差異導致部分小組進度較慢等,因此筆者在后續班級的教學中,根據學生學習能力進行了分組,每組都有不同學習能力的學生,這樣在提高實驗效率的同時也鍛煉了學生的團結協作精神。
● 開源硬件帶來的改變
在認知層面,主要表現在開源硬件作為基礎教學工具,能夠降低學生理解程序設計相關知識的難度,同時為學生的編程提供更廣闊的動手操作空間,對學生學業成就、問題解決能力、認知能力等方面的提高具有顯著促進作用。在非認知層面,將開源硬件作為創新能力培養的平臺,可以有效提高學生的學習興趣、學習自信和主觀能動性,使學生向更樂于合作、參與、分享、實踐的態度轉變。