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