范慧欣 韓清獻(xiàn)
【摘 要】本文結(jié)合高中課程標(biāo)準(zhǔn),依托Arduino開源平臺(tái),提出了基于任務(wù)驅(qū)動(dòng)教學(xué)模式的計(jì)算思維培養(yǎng)模型,并以“利用按鍵控制LED”實(shí)驗(yàn)為教學(xué)案例進(jìn)行了基于任務(wù)驅(qū)動(dòng)教學(xué)模式的教學(xué)設(shè)計(jì),以期為中學(xué)生計(jì)算思維能力的培養(yǎng)提供參考。
【關(guān)鍵詞】Arduino;計(jì)算思維;培養(yǎng)模式
目前,中學(xué)信息技術(shù)課常用的開源平臺(tái)主要是Arduino、micro:bit等。Arduino是一款資源易獲取、開源性強(qiáng)、易操作的開源電子原型平臺(tái)。筆者將其作為培養(yǎng)和發(fā)展計(jì)算思維的主要工具,探究基于Arduino開源平臺(tái)的學(xué)生計(jì)算思維培養(yǎng)模式。
Arduino開源平臺(tái)簡介
2017年教育部頒布的《普通高中技術(shù)課程標(biāo)準(zhǔn)(2017年版)》分別將“人工智能初步”和“開源硬件項(xiàng)目設(shè)計(jì)”作為選擇性必修4和選擇性必修6模塊,機(jī)器人教育在普通高中技術(shù)課程標(biāo)準(zhǔn)中得到了很好的體現(xiàn),為普通高中開展機(jī)器人教育提供了綱領(lǐng)性指導(dǎo)意見[1]。
開源硬件具備資源開放性和二次開發(fā)性的特點(diǎn),且提供大量免費(fèi)、可供大家持續(xù)改進(jìn)的模塊,因此深受教育者的喜愛。中學(xué)信息技術(shù)課大多使用開源硬件如Arduino、micro:bit作為載體進(jìn)行項(xiàng)目教學(xué),本文選擇開源硬件Arduino作為教育工具,其具備以下優(yōu)點(diǎn):(1)資源易獲取。開發(fā)者可以在Arduino中文社區(qū)下載豐富的參考資料,滿足從基礎(chǔ)到高級(jí)的不同需求。(2)模塊可擴(kuò)展。Arduino板接口豐富,可以連接多種多樣的擴(kuò)展板,如電機(jī)擴(kuò)展板、網(wǎng)絡(luò)擴(kuò)展板等。(3)入門門檻低。Arduino軟件語言相對(duì)簡單,易上手,適合初學(xué)者學(xué)習(xí)。
基于任務(wù)驅(qū)動(dòng)教學(xué)模式的計(jì)算思維培養(yǎng)模型
基于任務(wù)驅(qū)動(dòng)教學(xué)模式的計(jì)算思維培養(yǎng)模型需要結(jié)合任務(wù)驅(qū)動(dòng)模式的實(shí)施過程來確定,其模型可分為創(chuàng)設(shè)情境、任務(wù)分解、抽象、構(gòu)建算法和程序、自動(dòng)化及仿真化、測(cè)試、歸納與遷移等過程。
教師有組織地為學(xué)生創(chuàng)設(shè)特定的生活情境,可使用數(shù)字化工具進(jìn)行展示,以吸引學(xué)生的注意力,激發(fā)學(xué)生學(xué)習(xí)興趣,使學(xué)生以最佳心理狀態(tài)進(jìn)入學(xué)習(xí),并順利引出本節(jié)課學(xué)生需要完成的任務(wù)。任務(wù)給出后,教師需要引導(dǎo)學(xué)生分析任務(wù),并根據(jù)其目標(biāo)功能拆分成若干個(gè)易于解決和實(shí)現(xiàn)的小任務(wù)。
抽象即為以抽象思維的方式,將現(xiàn)實(shí)中的問題轉(zhuǎn)換為計(jì)算機(jī)可以識(shí)別的模型化問題[2]。算法是求解問題的方法,是解決問題所使用的完整的、一步步的操作步驟或計(jì)算序列。構(gòu)建算法和程序即依據(jù)任務(wù)設(shè)計(jì)的原則和目標(biāo),設(shè)計(jì)相應(yīng)的操作步驟和流程,之后利用相關(guān)的軟件平臺(tái)將流程變?yōu)橛?jì)算機(jī)指令(程序)。自動(dòng)化即通過操作數(shù)字化工具,使相應(yīng)的信息設(shè)備、信息系統(tǒng)或信息運(yùn)算過程按照人的要求,執(zhí)行算法。仿真化即通過可視化工具,對(duì)算法進(jìn)行仿真試驗(yàn)。測(cè)試即為將算法進(jìn)行自動(dòng)化和仿真化之后,對(duì)所出現(xiàn)的問題進(jìn)行修改,最終完成任務(wù)目標(biāo)。歸納與遷移即為將任務(wù)開發(fā)的方案泛化,并用于開發(fā)其他相關(guān)項(xiàng)目,此過程旨在培養(yǎng)學(xué)生的總結(jié)概括能力,學(xué)會(huì)舉一反三。
基于Arduino開源平臺(tái)的計(jì)算思維培養(yǎng)實(shí)踐
本文以Arduino開源平臺(tái)“利用按鍵控制LED”實(shí)驗(yàn)為例進(jìn)行講解,具體步驟如圖1所示。
1.創(chuàng)設(shè)情境
首先,教師以搶答器導(dǎo)入。在一場(chǎng)競(jìng)賽中,選手通過按搶答器獲得回答問題的資格,搶答器的狀態(tài)會(huì)通過選手面前的LED燈展示出來。通過創(chuàng)設(shè)生活中的情境,激發(fā)學(xué)生的興趣,引出實(shí)驗(yàn)任務(wù)——“利用按鍵控制LED”。
2.任務(wù)分解
首先分析Arduino實(shí)驗(yàn)案例,確定實(shí)現(xiàn)的功能,在“利用按鍵控制LED”實(shí)驗(yàn)中,可以按照功能將其分為:(1)按下按鍵,LED燈亮;(2)松開按鍵,LED燈滅。將分解后的任務(wù)模塊化,分為按鍵模塊(檢測(cè)按鍵按下/松起)、LED模塊(控制LED燈亮/暗)。通過任務(wù)分解,可以使復(fù)雜的任務(wù)簡單化,降低難度,增強(qiáng)學(xué)生解決問題的信心。
3.抽象
通過抽象的方法,將現(xiàn)實(shí)世界中的對(duì)象轉(zhuǎn)換為計(jì)算機(jī)可以處理的對(duì)象,轉(zhuǎn)變?yōu)橛?jì)算機(jī)可以處理的問題,把生活中的數(shù)字語言抽象為符號(hào)語言,比如變量的設(shè)定、變量類型的選擇。Arduino項(xiàng)目包含硬件和軟件兩部分,因此在抽象時(shí)要考慮到電路的連接和元件的物理性質(zhì)。教師需要先為學(xué)生講解電路的物理知識(shí),在“利用按鍵控制LED”實(shí)驗(yàn)中,按照模塊,Arduino Uno開發(fā)板需連接按鍵和LED燈。按鍵的本質(zhì)是開關(guān),按鍵按下時(shí),開關(guān)閉合,電路閉合,產(chǎn)生電流;按鍵松開時(shí),開關(guān)斷開。Arduino Uno開發(fā)板內(nèi)部集成電路中有上拉電阻(P2接口),當(dāng)P2管腳處于懸空狀態(tài)時(shí),其為高電平,因此,我們將按鍵的一端其中一個(gè)接口連接P2,另一端的其中一個(gè)接口連接GND,按鍵未按下時(shí),P2引腳將為高電平,按鍵按下P2引腳為低電平。在計(jì)算機(jī)語言中,用HIGH(1)來表示高電平,LOW(0)表示低電平。通過建立現(xiàn)實(shí)世界和計(jì)算機(jī)世界之間的映射關(guān)系(表1),使學(xué)生更好地理解物理知識(shí)。
LED燈的特性是當(dāng)正負(fù)極產(chǎn)生壓降時(shí),燈亮,否則,燈滅。黃色發(fā)光二極管的壓降為1.8~2.0V,紅色發(fā)光二極管壓降是2.0~2.2V,綠色發(fā)光二極管的壓降為3.0~3.2V。在本實(shí)驗(yàn)中選擇紅色發(fā)光二極管進(jìn)行操作。
因此實(shí)現(xiàn)燈的亮暗有兩種方式(表2):方式1是正極接控制端,負(fù)極接GND(0V);方式2是正極接VCC(3.3V),負(fù)極接控制端。兩種方式均需要在電路中連接限流電阻,防止導(dǎo)通時(shí)工作電流過大,損壞發(fā)光二極管或單片機(jī)。
4.構(gòu)建算法和程序
學(xué)生將任務(wù)分解和抽象之后,要對(duì)任務(wù)進(jìn)行算法和程序的構(gòu)建。在這個(gè)過程中,教師引導(dǎo)學(xué)生回顧之前所學(xué)的程序邏輯結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、模塊化程序結(jié)構(gòu),促進(jìn)學(xué)生完成知識(shí)的建構(gòu)?!袄冒存I控制LED”實(shí)驗(yàn)中,學(xué)生使用流程圖梳理思路,培養(yǎng)邏輯思維。
按照算法在Arduino IDE 平臺(tái)編寫相關(guān)的程序,這時(shí)需要確定控制LED燈亮暗的方式,在這里我們選擇方式1,正極接控制端,負(fù)極接GND(0V),當(dāng)控制端給出高電平時(shí),LED燈亮,反之,LED燈滅。
5.自動(dòng)化及仿真化
在程序編譯無誤后,在教師的指導(dǎo)下學(xué)生使用Tinkercad在線仿真平臺(tái)進(jìn)行仿真,有條件的學(xué)校也可以使用Arduino Uno開發(fā)板。在Arduino IDE平臺(tái)編寫相關(guān)的程序后,設(shè)置“工具”—“開發(fā)板”—“Arduino Uno”連接到開發(fā)板,將所需要的原件:按鍵、LED燈、電阻通過杜邦線連接到對(duì)應(yīng)的端口。通過USB線將開發(fā)板連接至電腦,上傳(燒錄)程序,執(zhí)行按鍵按下和松開的操作,觀察效果。
6.測(cè)試與調(diào)試
對(duì)Arduino實(shí)驗(yàn)來說,測(cè)試和調(diào)試是必不可少的。區(qū)別于一般的程序調(diào)試,Arduino實(shí)驗(yàn)由軟件和硬件部分組成,因此在分析錯(cuò)誤的原因時(shí)應(yīng)考慮兩方面的因素。學(xué)生在仿真平臺(tái)或?qū)嶋H開發(fā)板上上傳(燒錄)程序,執(zhí)行按鍵按下和松開的操作,觀察效果。如未達(dá)到預(yù)期的效果,記錄錯(cuò)誤的現(xiàn)象,分析錯(cuò)誤的原因,修改程序或硬件,完成后重新燒錄,觀察和記錄修改后的現(xiàn)象。在“利用按鍵控制LED”實(shí)驗(yàn)中,可能出現(xiàn)的錯(cuò)誤現(xiàn)象是LED的引腳連反,導(dǎo)致實(shí)際效果與我們的目標(biāo)效果不同,即無論按鍵按下與否,LED燈均不亮,此時(shí)需要調(diào)整引腳,以期達(dá)到目標(biāo)效果。學(xué)生在優(yōu)化程序和硬件電路的過程中,可以鞏固知識(shí),培養(yǎng)糾錯(cuò)能力和批判性思維。
7.歸納與遷移
教師引導(dǎo)學(xué)生總結(jié)歸納Arduino實(shí)驗(yàn)操作的方法,并鼓勵(lì)學(xué)生開拓思路,將方法遷移到生活的問題情境中。教師可提供一些半成品,讓學(xué)生在此基礎(chǔ)上開展獨(dú)立思考,完善作品功能。也可引導(dǎo)學(xué)生從生活與學(xué)習(xí)的實(shí)際需求出發(fā),開發(fā)創(chuàng)新項(xiàng)目,培養(yǎng)學(xué)生的創(chuàng)新思維。如學(xué)生完成“利用按鍵控制LED”實(shí)驗(yàn)后,可以引導(dǎo)學(xué)生實(shí)現(xiàn)“按下按鍵LED燈亮,再按按鍵LED燈滅”的實(shí)驗(yàn)效果。
在科技高速發(fā)展的今天,人才成長離不開計(jì)算思維的發(fā)展。以開源硬件為載體的機(jī)器人教育是培養(yǎng)學(xué)生計(jì)算思維的重要形式。本文基于任務(wù)驅(qū)動(dòng)教學(xué)模式的計(jì)算思維培養(yǎng)模型,使學(xué)生在任務(wù)的引導(dǎo)下,在學(xué)習(xí)的過程中掌握計(jì)算思維的方法,有助于發(fā)展創(chuàng)新思維。
楊晉,傅胤榮,李夢(mèng)軍等. 2019 中小學(xué)機(jī)器人教育調(diào)研報(bào)告[R]. 北京: 中國電子學(xué)會(huì)普及工作委員會(huì),2019.
解月光,楊鑫,付海東. 高中學(xué)生信息技術(shù)學(xué)科核心素養(yǎng)的描述與分級(jí)[J]. 中國電化教育,2017(5).