謝作如 劉正云
對(duì)信息技術(shù)教師來(lái)說(shuō),人工智能并非全新的名詞。早在2003年,高中信息技術(shù)課程中已經(jīng)增加了《人工智能初步》模塊。物聯(lián)網(wǎng)也一樣,在2012年左右,在江蘇省編制的義務(wù)教育階段的信息技術(shù)課程標(biāo)準(zhǔn)中,物聯(lián)網(wǎng)就作為一個(gè)重要的組成部分。正如一位課程專家所說(shuō)的,寫入課標(biāo),寫入政策文件,萬(wàn)里長(zhǎng)征才僅僅邁出了第一步。如何落地才是最重要的工作。
新技術(shù)如何真正走進(jìn)中小學(xué)課堂?我們請(qǐng)來(lái)了兩位分別開發(fā)過(guò)多門課程,并且擔(dān)任過(guò)信息技術(shù)教材主編的名師,請(qǐng)他們介紹課程開發(fā)和教材編寫中的一些幕后故事。
● 困難所在
《中國(guó)信息技術(shù)教育》:無(wú)論是開發(fā)課程還是編寫教材,都非常復(fù)雜,不僅要梳理課程的各種知識(shí),還要綜合考慮實(shí)施過(guò)程中的種種問題。兩位老師在開發(fā)課程和編寫教材的過(guò)程中,遇到了哪些問題?
謝作如:因?yàn)槲谊P(guān)注的是新技術(shù),所以如何選擇一款適合中小學(xué)的軟件或者硬件,是最核心的工作。往往困難也就在這里。以《開源硬件項(xiàng)目設(shè)計(jì)》為例,《開源硬件項(xiàng)目設(shè)計(jì)》編寫工作的啟動(dòng)是在2016年年初,那時(shí)候國(guó)內(nèi)最流行的開源硬件是Arduino,其次是樹莓派。因?yàn)闃漭傻氖褂瞄T檻太高,當(dāng)時(shí)絕大多數(shù)的應(yīng)用案例,都是把樹莓派作為一臺(tái)計(jì)算機(jī),要外接顯示器、鍵盤鼠標(biāo)來(lái)工作。我們認(rèn)為這樣的教學(xué)場(chǎng)景是難以推廣的,所以一開始就否定了樹莓派。但是Arduino的編程語(yǔ)言是C/C++,或者用ArduBlcok和Mixly,這也讓我們?yōu)殡y。因?yàn)榻滩牡钠渌K都用Python,到了這個(gè)模塊用C/C++,且不說(shuō)學(xué)生的編程基礎(chǔ)如何落實(shí),就從整體的角度看,也有些“不搭”。用Mixly之類的圖形化編程工具,又有“矮化”學(xué)生之嫌。
劉正云:受謝老師的影響,我也一直專注于開源硬件,當(dāng)然很希望把這方面的“新技術(shù)”真正落地到中小學(xué)課堂中去。以清華大學(xué)出版社《物聯(lián)網(wǎng)與智能家居》教材為例,物聯(lián)網(wǎng)技術(shù)不算“新”,在中小學(xué)教材中也屢有出現(xiàn),但是如何讓物聯(lián)網(wǎng)技術(shù)與當(dāng)下流行的Python語(yǔ)言打通,使其在中小學(xué)課堂里重?zé)ā靶隆睓C(jī),則是比較大的困難。
我們?cè)诰帉懡滩牡臅r(shí)候,遇到的最大的困難,也可以說(shuō)是最大的挑戰(zhàn),就是如何設(shè)計(jì)和新技術(shù)相關(guān),并讓學(xué)生能真正動(dòng)手完成各種經(jīng)典實(shí)驗(yàn)的新技術(shù)課程。
學(xué)生動(dòng)手實(shí)踐的前提是學(xué)校愿意并且有能力采購(gòu)本教材所使用的物聯(lián)網(wǎng)套件。如果成本太高,肯定會(huì)有部分學(xué)校沒有能力實(shí)施;如果技術(shù)難度太高,教師又沒辦法上課。采取什么樣的編寫策略,使得我們的教材既能打破之前教材的瓶頸,又能兼顧到個(gè)別學(xué)校的實(shí)際情況,也是我們?cè)诰帉懙倪^(guò)程中不斷思考的問題。
● 解決方案
《中國(guó)信息技術(shù)教育》:從兩位的介紹中我們可以了解到,選擇一款合適的平臺(tái)(硬件或者軟件),是課程能夠落地的重點(diǎn)所在。那么,種種困難最后是如何解決的?
謝作如:我想只有兩條路,一條是不斷去找,滿世界找。例如,在寫高中信息技術(shù)教材的時(shí)候,在第一個(gè)版本中,我們?cè)谥悄芙K端方面選擇了用Arduino。大概過(guò)了半年,我意外發(fā)現(xiàn)micro:bit居然支持MicroPython。經(jīng)過(guò)研究后,我向幾位主編提出一個(gè)很大膽的想法——把教材中的Arduino換成micro:bit。再如,人工智能中的神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn),一開始大家都很猶豫,說(shuō)TenserFlow太難,但是我們很快發(fā)現(xiàn)了還有Keros,其代碼簡(jiǎn)潔并且容易理解。第二條路是自己想辦法去解決。例如,當(dāng)時(shí)我們選擇micro:bit是有風(fēng)險(xiǎn)的。因?yàn)閲?guó)內(nèi)還沒有廠商支持micro:bit,其外圍電路和擴(kuò)展模塊都得不到保障。于是我就一一去說(shuō)服國(guó)內(nèi)的幾家關(guān)系比較密切的創(chuàng)客企業(yè),請(qǐng)他們?yōu)閙icro:bit設(shè)計(jì)擴(kuò)展板。再通過(guò)貓友匯、STEAM教育大會(huì)等平臺(tái),組織micro:bit的培訓(xùn),并編寫課程。因?yàn)橛惺袌?chǎng)后,就會(huì)有各種支持。結(jié)果我們的教材還沒有正式出版,micro:bit在國(guó)內(nèi)的創(chuàng)客教育圈子中已經(jīng)“火”起來(lái)了。
在開發(fā)《Arduino創(chuàng)意機(jī)器人》之前,ArduBlcok非常不好用,我和劉正云等同學(xué)重新整理了細(xì)節(jié),請(qǐng)新車間的何琪辰重新開發(fā)了ArduBlcok教育版。一開始,micro:bit的代碼編寫工具并不成熟,官方僅僅提供了在線編寫的方式,在教材中沒辦法用。為此,我建議DFRobot開發(fā)了一款開源的小工具,叫做BXY。目前BXY是micro:bit、掌控板最好用的代碼編寫工具之一,初中和高中的教學(xué)中非常需要。
追溯“虛谷計(jì)劃”的起源,其實(shí)就是我們一線教師因?yàn)檎也坏胶玫能浻布脚_(tái)而最后想出的一種辦法。掌控板的設(shè)計(jì)是為了解決物聯(lián)網(wǎng)的終端問題,虛谷號(hào)是為了解決人工智能教學(xué)的問題。
劉正云:值得高興的是,隨著時(shí)間的推移,新技術(shù)落地的時(shí)機(jī)也會(huì)越來(lái)越成熟。在開源硬件的選擇上,編寫教材時(shí)也可以使用成本較低的Arduino和掌控板作為學(xué)生操作的主要對(duì)象。Arduino是國(guó)內(nèi)最為流行的開源硬件,大眾接受度比較高;掌控板是國(guó)內(nèi)開發(fā)的一款用于普及STEAM創(chuàng)客教育、人工智能教育、編程教育的開源智能硬件,小巧精致,功能強(qiáng)大。掌控板在開發(fā)之初就提供了Python的精簡(jiǎn)版本——MicroPython作為其編程語(yǔ)言之一;而Arduino一直以來(lái)都只使用“塊語(yǔ)言”編程或者“類C語(yǔ)言”進(jìn)行編程,但在2020年春,虛谷計(jì)劃和上海蘑菇云的創(chuàng)客們開發(fā)了pinpong庫(kù),讓Arduino也支持Python編程。
pinpong庫(kù)是一個(gè)Python硬件控制庫(kù)。其原理是給智能終端燒錄一個(gè)特定的固件,使智能終端可以通過(guò)串口與計(jì)算機(jī)通信,執(zhí)行各種命令。目前pinpong庫(kù)支持Arduino、掌控板和micro:bit、虛谷號(hào)等。借助于pinpong庫(kù),直接用Python代碼就能給各種常見的智能終端編程。pinpong庫(kù)的設(shè)計(jì),是為了讓開發(fā)者在開發(fā)過(guò)程中不用被繁雜的硬件型號(hào)束縛,而將重點(diǎn)轉(zhuǎn)移到軟件的實(shí)現(xiàn)。也就是說(shuō),硬件已經(jīng)不重要了,選擇什么都可以,軟件才是核心。
當(dāng)軟件和硬件得到很好的解決后,編寫教材的主要任務(wù)就是如何設(shè)計(jì)活動(dòng),設(shè)計(jì)讓學(xué)生動(dòng)手實(shí)踐的活動(dòng)。對(duì)我來(lái)說(shuō),需要解決的是要對(duì)涉及活動(dòng)的難易程度、趣味性以及成本進(jìn)行綜合考慮。例如,我們把活動(dòng)分為體驗(yàn)、實(shí)驗(yàn)和實(shí)踐三類?!绑w驗(yàn)活動(dòng)”可由教師進(jìn)行演釋,可由學(xué)生根據(jù)活動(dòng)資源包的步驟親身體驗(yàn),也可錄制視頻供學(xué)生觀看,可選擇性較多,因此體驗(yàn)活動(dòng)在設(shè)計(jì)的時(shí)候會(huì)較多關(guān)注活動(dòng)的趣味性;而“實(shí)驗(yàn)活動(dòng)”和“實(shí)踐活動(dòng)”是需要學(xué)生經(jīng)歷實(shí)驗(yàn)和實(shí)踐的過(guò)程,為了大班教學(xué)的順利進(jìn)行,在選擇具體活動(dòng)時(shí),會(huì)考慮所用器材的成本,在設(shè)計(jì)具體活動(dòng)時(shí),會(huì)考慮活動(dòng)難度的循序漸進(jìn)。
● 教材編寫思路
《中國(guó)信息技術(shù)教育》:能否以某個(gè)課程為例,簡(jiǎn)單介紹一下兩位開發(fā)課程的思路或者核心理念?
謝作如:我以《開源硬件項(xiàng)目設(shè)計(jì)》為例來(lái)介紹吧。這是高中信息技術(shù)課程的選擇性必修模塊,是針對(duì)學(xué)生個(gè)性化發(fā)展需要,按照開源硬件項(xiàng)目設(shè)計(jì)流程而設(shè)置。模塊包括“開源硬件的特征”“開源硬件項(xiàng)目流程”“基于開源硬件的作品設(shè)計(jì)與制作”三部分內(nèi)容。
我們編寫的教材分為五章。先介紹“開源思想與開源硬件”,接下來(lái)通過(guò)剖析一個(gè)典型的開源硬件項(xiàng)目,了解其開發(fā)流程并規(guī)劃一個(gè)項(xiàng)目,然后學(xué)習(xí)硬件的基礎(chǔ)知識(shí),再動(dòng)手開發(fā)這個(gè)項(xiàng)目。最后,我們引導(dǎo)學(xué)生在GitHub或者Gitee上發(fā)布并維護(hù)這個(gè)項(xiàng)目。
如何讓學(xué)生成功完成他們的項(xiàng)目呢?考慮到各地各校的條件,我們給學(xué)生展示的開源硬件項(xiàng)目偏向程序編寫,盡可能避開機(jī)械結(jié)構(gòu)。我們提供了三個(gè)典型的項(xiàng)目開發(fā)流程,作為學(xué)生的學(xué)習(xí)范例,分別是計(jì)算機(jī)魔法控制器、課堂答題器和智能花盆,涉及人機(jī)交互、多機(jī)通信和物聯(lián)網(wǎng)技術(shù),涉及多個(gè)學(xué)科領(lǐng)域的知識(shí)。概而言之,我的課程開發(fā)理念是一定要能真正落地實(shí)施。
劉正云:我以《物聯(lián)網(wǎng)與智能家居》為例來(lái)簡(jiǎn)單介紹一下。教材分為兩個(gè)單元:第一單元在認(rèn)識(shí)物聯(lián)網(wǎng)之后,深入了解物聯(lián)網(wǎng)的終端設(shè)備、通信、感知和控制等,并學(xué)會(huì)搭建一個(gè)簡(jiǎn)單的物聯(lián)網(wǎng)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程互聯(lián);第二單元智能家居則是第一單元的具體應(yīng)用,涉及室內(nèi)環(huán)境的感知、家電的遠(yuǎn)程控制、智能互動(dòng)的探究以及智能家居的未來(lái)。
和其他教材一樣,該教材也采用了項(xiàng)目式學(xué)習(xí)的方式進(jìn)行組織教材。項(xiàng)目學(xué)習(xí)分為“學(xué)習(xí)導(dǎo)引”“問題需求”“實(shí)施規(guī)劃”“分工協(xié)作”“項(xiàng)目實(shí)施”“交流分享”等環(huán)節(jié),教材在每個(gè)單元的最前面,都會(huì)給出一個(gè)帶有具體情境的項(xiàng)目案例,以此引導(dǎo)、啟發(fā)學(xué)生,并鼓勵(lì)他們嘗試自己設(shè)計(jì)一個(gè)與本單元內(nèi)容有關(guān)的大項(xiàng)目;同時(shí)在每一節(jié)內(nèi)容的最后,都會(huì)通過(guò)“項(xiàng)目實(shí)施”環(huán)節(jié)幫助學(xué)生厘清項(xiàng)目中的關(guān)鍵點(diǎn)。
● 課程開發(fā)建議
《中國(guó)信息技術(shù)教育》:最后,讓我們回到主題。如何讓新技術(shù)真正進(jìn)入中小學(xué)課堂,相信是每一位老師都要面對(duì)并且需要解決的問題。在這方面,兩位老師能給其他課程開發(fā)的老師提點(diǎn)建議嗎?
謝作如:信息技術(shù)的發(fā)展日新月異,我們的教材肯定要與時(shí)俱進(jìn)。對(duì)于新技術(shù)進(jìn)中小學(xué)課堂,我想需要關(guān)注兩點(diǎn)。
一是要考慮學(xué)習(xí)成本,即如何降低技術(shù)門檻,讓教師能快速接受。例如,在設(shè)計(jì)掌控板的語(yǔ)法時(shí),我們特意兼容了micro:bit的語(yǔ)法。同樣,虛谷號(hào)和pinpong庫(kù)的語(yǔ)法,我們?cè)俅渭嫒萘苏瓶匕濉V灰獙W(xué)會(huì)了其中的一種,其他的也就觸類旁通了。這樣一來(lái),開源硬件的教學(xué)就慢慢形成了一種行業(yè)規(guī)范。
二是要考慮實(shí)施成本,即不能太貴,不能太麻煩。例如,在設(shè)計(jì)虛谷號(hào)的時(shí)候,我將重點(diǎn)放在了jupyter上,如何讓虛谷號(hào)插上電,通過(guò)網(wǎng)絡(luò)就能編程,這是很好的體驗(yàn)。pinpong能夠和jupyter很好地結(jié)合,支持常見的開源硬件和普通的輸入輸出模塊,這樣就將硬件的投入降得很低。這兩點(diǎn)在其他新技術(shù)的推廣上也通用。
劉正云:除了謝老師說(shuō)的學(xué)習(xí)成本和實(shí)施成本以外,我對(duì)新技術(shù)進(jìn)中小學(xué)課堂還想補(bǔ)充一點(diǎn)。這幾天,pinpong庫(kù)的最新版本已經(jīng)能夠支持NFC模塊了,這是我前段時(shí)間對(duì)開發(fā)小組提出的新需求。因?yàn)镹FC是物聯(lián)網(wǎng)技術(shù)中的核心技術(shù)之一,應(yīng)用很廣,目前沒有特別簡(jiǎn)單的方式在教學(xué)中做“NFC實(shí)驗(yàn)”。掌控板、BXY和pinpong庫(kù)等軟硬件,一開始功能并不完善,隨著我們不斷提出需求,工程師們不斷開發(fā),掌控板和pinpong庫(kù)也就越來(lái)越強(qiáng)大,越來(lái)越貼近中小學(xué)的教學(xué)實(shí)際了。
所以,新技術(shù)要在中小學(xué)課堂落地,需要很多人一起努力,需要社會(huì)企業(yè)的支持。我們不僅要學(xué)習(xí)新技術(shù),還要積極參與新技術(shù)的教學(xué)普及工作。當(dāng)我們一線教師和企業(yè)之間形成了很好的互動(dòng)機(jī)制,那么這些教育產(chǎn)品會(huì)更加貼近實(shí)際課堂。