[摘 要]通過對(duì)現(xiàn)行高中信息技術(shù)課程標(biāo)準(zhǔn)及教材進(jìn)行分析,明確高中程序設(shè)計(jì)教學(xué)的主要目標(biāo)。在此基礎(chǔ)上,基于STEM教育理念,結(jié)合學(xué)生的勞動(dòng)課程背景,設(shè)計(jì)了以“智慧農(nóng)場(chǎng)”為主題的程序設(shè)計(jì)課程。該課程在激發(fā)學(xué)生學(xué)習(xí)興趣、培養(yǎng)學(xué)生計(jì)算思維方面成效顯著。
[關(guān)鍵詞]STEM教育理念;程序設(shè)計(jì);課程開發(fā);Python
[中圖分類號(hào)] G633.67 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1674-6058(2024)26-0097-03
如今,科技已成為各國推動(dòng)經(jīng)濟(jì)發(fā)展、參與國際競爭的核心要素,因此各國均高度重視科技人才的培養(yǎng)。在人才培養(yǎng)的課程實(shí)施中STEM(科學(xué)、技術(shù)、工程、數(shù)學(xué))的導(dǎo)向已成為一種流行趨勢(shì)。將STEM教育理念融入信息技術(shù)課堂也已成為廣泛共識(shí)。
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》明確指出,普通高中信息技術(shù)課程旨在全面提升學(xué)生信息素養(yǎng),幫助學(xué)生掌握信息技術(shù)基礎(chǔ)知識(shí)與技能、增強(qiáng)信息意識(shí)、發(fā)展計(jì)算思維、提高數(shù)字化學(xué)習(xí)與創(chuàng)新能力、樹立正確的信息社會(huì)價(jià)值觀和責(zé)任感[1]。作為培養(yǎng)學(xué)生計(jì)算思維的關(guān)鍵課程,程序設(shè)計(jì)課程備受矚目。20世紀(jì)80年代,受“程序設(shè)計(jì)是第二文化”觀念的影響,我國中小學(xué)開始開設(shè)程序設(shè)計(jì)課程,這在一定程度上促進(jìn)了計(jì)算機(jī)教育的普及。然而,這也帶來了一些問題。部分教師錯(cuò)誤地將培養(yǎng)計(jì)算思維等同于“代碼操練”,過于強(qiáng)調(diào)程序設(shè)計(jì)語言的語法和格式,導(dǎo)致教學(xué)內(nèi)容過難、教學(xué)方法單一,實(shí)施困難。這種教學(xué)方式限制了學(xué)生的思維,使學(xué)生覺得課程“沒意思”、“枯燥”且“學(xué)不懂”[2]。
高中程序設(shè)計(jì)課程是培養(yǎng)學(xué)生計(jì)算思維的一項(xiàng)重要途徑,其并非要求每個(gè)學(xué)生都成為軟件工程師,而是讓每個(gè)學(xué)生理解信息技術(shù)學(xué)科領(lǐng)域的思想方法,并應(yīng)用這些思想方法創(chuàng)造性地解決問題,這體現(xiàn)了“計(jì)算思維+”的教育理念。因此,程序設(shè)計(jì)課程不應(yīng)只是簡單的知識(shí)傳授和技能訓(xùn)練,也不應(yīng)局限于傳統(tǒng)的編碼。基于STEM教育理念設(shè)計(jì)程序設(shè)計(jì)課程,旨在通過項(xiàng)目式學(xué)習(xí)為學(xué)生提供體驗(yàn)、應(yīng)用計(jì)算思維及實(shí)現(xiàn)計(jì)算思維與其他領(lǐng)域相結(jié)合的機(jī)會(huì)[3],實(shí)現(xiàn)信息技術(shù)與多學(xué)科知識(shí)的融合。基于STEM教育理念、設(shè)計(jì)程序設(shè)計(jì)課程,能夠有效提升學(xué)生在數(shù)字化環(huán)境中的應(yīng)變能力和創(chuàng)新能力,以及運(yùn)用信息化手段解決問題的能力。
在筆者所使用的教材《數(shù)據(jù)與計(jì)算》(上海科技教育出版社出版)中,程序設(shè)計(jì)模塊的內(nèi)容編排偏向于傳統(tǒng)的數(shù)學(xué)類問題,較難激發(fā)學(xué)生的學(xué)習(xí)興趣。為了更好地開展教學(xué),并滿足課程標(biāo)準(zhǔn)的要求,筆者根據(jù)課程開發(fā)的“泰勒原理”,基于STEM教育理念進(jìn)行了高中程序設(shè)計(jì)課程的開發(fā)與實(shí)踐。
一、基于課標(biāo)和教材確定課程知識(shí)點(diǎn)
根據(jù)目前信息技術(shù)學(xué)科的課時(shí)總量安排,程序設(shè)計(jì)模塊通常僅能獲得10~12課時(shí)。因此,課程設(shè)計(jì)必須在大約10課時(shí)內(nèi)達(dá)成課標(biāo)能力要求。
在《數(shù)據(jù)與計(jì)算》中,算法和程序設(shè)計(jì)模塊安排在第三單元,共四個(gè)項(xiàng)目,項(xiàng)目主題無緊密關(guān)聯(lián)性,涉及核心知識(shí)點(diǎn)如表1所示。
設(shè)計(jì)的程序設(shè)計(jì)課程要求涵蓋信息意識(shí)、計(jì)算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會(huì)責(zé)任四個(gè)核心素養(yǎng),覆蓋如下知識(shí)點(diǎn):算法概念和特征、算法描述方式、算法控制結(jié)構(gòu);程序概念、程序設(shè)計(jì)基本流程;Python基本語法;枚舉算法。
二、結(jié)合學(xué)習(xí)環(huán)境和課程背景設(shè)計(jì)主題內(nèi)容
筆者所在學(xué)校擁有生物園和耕讀園,并開設(shè)以植物種植為主的勞動(dòng)課程,學(xué)生對(duì)農(nóng)場(chǎng)植物種植活動(dòng)非常熟悉。因此,設(shè)定課程主題為“智慧農(nóng)場(chǎng)”,旨在引導(dǎo)學(xué)生利用種植經(jīng)驗(yàn)來設(shè)計(jì)問題解決方案,加快知識(shí)網(wǎng)絡(luò)的構(gòu)建。為了便于教學(xué)實(shí)施,課程并不直接在園區(qū)進(jìn)行,而是以編程學(xué)習(xí)套件作為教學(xué)實(shí)踐工具,在機(jī)房中開展教學(xué)活動(dòng)。該編程學(xué)習(xí)套件包括Maker ESP32 V1.3主板、OLED顯示模塊、小風(fēng)扇、溫濕度傳感器、光敏傳感器、土壤濕度傳感器、觸碰傳感器、MQTT物聯(lián)網(wǎng)模塊、水泵、水槽等配件,支持圖形化和Python編程,并可通過Mu編輯器燒錄程序很好地滿足“智慧農(nóng)場(chǎng)”課程主題的教學(xué)需求。
筆者圍繞“智慧農(nóng)場(chǎng)”大主題設(shè)計(jì)了包含10節(jié)課的教學(xué)主題內(nèi)容。這些教學(xué)主題內(nèi)容之間緊密相連,知識(shí)點(diǎn)呈現(xiàn)層層遞進(jìn)的關(guān)系,具體安排如表2所示。
每節(jié)課包含對(duì)應(yīng)的《項(xiàng)目使用手冊(cè)》和《導(dǎo)學(xué)案》,可作為學(xué)習(xí)支架,供學(xué)生使用。
三、基于5E教學(xué)模式和計(jì)算思維過程設(shè)計(jì)教學(xué)模型
傳統(tǒng)的編程教育側(cè)重語法與算法,常從結(jié)構(gòu)良好、適合編程的問題入手,較少探討如何將現(xiàn)實(shí)問題轉(zhuǎn)化為計(jì)算機(jī)可處理的問題,而這正是問題解決的第一步[4]?;诖?,筆者基于5E教學(xué)模式和計(jì)算思維過程,構(gòu)建高中程序設(shè)計(jì)教學(xué)模型。
5E教學(xué)模式包括參與、探究、解釋、遷移和評(píng)價(jià)五個(gè)環(huán)節(jié),該模式基于建構(gòu)主義學(xué)習(xí)理論,強(qiáng)調(diào)學(xué)生主動(dòng)參與、探究,重視知識(shí)的形成和應(yīng)用,并通過評(píng)價(jià)來促進(jìn)學(xué)生發(fā)展。
根據(jù)現(xiàn)有研究成果,計(jì)算思維過程包括問題界定、問題分解、模式匹配、數(shù)據(jù)抽象與表達(dá)、算法設(shè)計(jì)和評(píng)估反思,這些環(huán)節(jié)構(gòu)成了問題分析、問題表達(dá)和問題解決的完整框架,其核心在于運(yùn)用計(jì)算思維來解決問題。
筆者在5E教學(xué)模式中融入計(jì)算思維過程,并依據(jù)STEM教育理念對(duì)該教學(xué)模式進(jìn)行了改進(jìn),以指導(dǎo)高中程序設(shè)計(jì)教學(xué)。具體教學(xué)模型如圖1所示。
四、高中程序設(shè)計(jì)教學(xué)實(shí)踐
“智慧農(nóng)場(chǎng)光控——if分支語句(一)”是“智慧農(nóng)場(chǎng)”課程的教學(xué)案例之一,主要教學(xué)流程如下:
教學(xué)環(huán)節(jié)一:設(shè)計(jì)情境,引入新課
教師創(chuàng)設(shè)情境:“我們將要看到一場(chǎng)頗為壯觀的燈光秀,而這場(chǎng)秀的主角是火龍果。為什么我們要給火龍果舉辦這么大型的燈光秀呢?請(qǐng)同學(xué)們帶著問題觀看視頻?!痹趯W(xué)生觀看完視頻后,教師引入要解決的問題:“火龍果屬于喜光植物,良好的光照有利于火龍果的生長和果實(shí)品質(zhì)的提升。相反,光照不足會(huì)對(duì)火龍果的營養(yǎng)積累產(chǎn)生不利影響。據(jù)研究,光照強(qiáng)度在8000勒克斯以上最為適宜,而光照強(qiáng)度不應(yīng)低于2500勒克斯。現(xiàn)在,讓我們一起來給火龍果設(shè)計(jì)一個(gè)自動(dòng)補(bǔ)光程序吧。”
教學(xué)環(huán)節(jié)二:分析交流,整理思路
教師給學(xué)生提供《if單分支語句導(dǎo)學(xué)案》,引導(dǎo)學(xué)生分析問題。所涉及的計(jì)算思維是“問題界定”。教師明確提出要解決的問題:“當(dāng)光照強(qiáng)度達(dá)到多少時(shí),我們需要給火龍果補(bǔ)光?”學(xué)生針對(duì)這個(gè)問題進(jìn)行討論并作出回答。接著,教師進(jìn)一步提問:“光照強(qiáng)度是通過光敏傳感器來獲取的,阻值越大表示光照強(qiáng)度越弱。假設(shè)光敏阻值1500是需要給火龍果補(bǔ)光的臨界值,那么當(dāng)光敏阻值滿足什么條件時(shí),我們需要給火龍果補(bǔ)光?所涉及的計(jì)算思維是“問題分解”。
教學(xué)環(huán)節(jié)三:分享表述,凝練方案
在分析《if單分支語句導(dǎo)學(xué)案》的前三個(gè)環(huán)節(jié)特點(diǎn)后,教師列舉數(shù)學(xué)分段函數(shù)的程序例子。通過這個(gè)例子,教師引出了if單分支語句的使用范圍與使用方法。接下來,教師逐步引導(dǎo)學(xué)生將現(xiàn)實(shí)問題轉(zhuǎn)化為用if單分支語句來表示。在這一過程中,涉及的計(jì)算思維是模式匹配、數(shù)據(jù)表達(dá)與抽象以及算法設(shè)計(jì)。為了幫助學(xué)生更好地理解相關(guān)知識(shí),教師引導(dǎo)學(xué)生使用偽代碼和流程圖描述相應(yīng)的語法。
教學(xué)環(huán)節(jié)四:動(dòng)手編程,轉(zhuǎn)化成果
師生一起完成了對(duì)相應(yīng)程序的編寫工作。以下是所編寫的代碼:
if adc.read( ) > 1500:
rgb[0] = (255, 0, 0)
rgb.write( )
教師提供教學(xué)支架,引導(dǎo)學(xué)生使用if單分支語句來完成“關(guān)閉補(bǔ)光燈”的算法與程序設(shè)計(jì)。此環(huán)節(jié)是if單分支語句的練習(xí),旨在鞏固新知,促進(jìn)學(xué)習(xí)遷移,并為后續(xù)單分支語句轉(zhuǎn)換成雙分支語句提供條件。
教學(xué)環(huán)節(jié)五:引出新知,再探究竟
在此環(huán)節(jié)中,教師通過對(duì)比“打開補(bǔ)光燈”和“關(guān)閉補(bǔ)光燈”的if單分支條件,引出if雙分支語句。這樣對(duì)比學(xué)習(xí)直觀清晰,易于學(xué)生理解。教師提問:“同學(xué)們,請(qǐng)仔細(xì)觀察‘打開補(bǔ)光燈’和‘關(guān)閉補(bǔ)光燈’的if單分支條件,它們之間存在什么樣的關(guān)系?”學(xué)生經(jīng)過思考后回答:“它們是對(duì)立關(guān)系。”由此引出:在兩個(gè)條件對(duì)立的情況下,可以使用if雙分支語句來表示。接下來,教師引導(dǎo)學(xué)生使用偽代碼和流程圖來描述相應(yīng)的語法結(jié)構(gòu)。
學(xué)生解決此問題后,輸出的程序代碼如下:
if adc.read( ) > 1500:
rgb[0] = (255, 0, 0)
rgb.write( )
else:
rgb[0] = (0, 0, 0)
rgb.write( )
教學(xué)環(huán)節(jié)六:展示與評(píng)價(jià)
此環(huán)節(jié)主要展示學(xué)生的優(yōu)質(zhì)思路、方案、算法和程序,反饋存在的主要問題,并總結(jié)課程的主要內(nèi)容。教師組織學(xué)生進(jìn)行小組互評(píng),對(duì)各組的作品進(jìn)行評(píng)估和總結(jié)。
五、實(shí)施效果評(píng)價(jià)
筆者在學(xué)校的兩個(gè)高中部均進(jìn)行了課程教學(xué)實(shí)驗(yàn)。與僅使用教材項(xiàng)目內(nèi)容授課相比,參與本課程的學(xué)生在課堂參與度、小組項(xiàng)目作業(yè)完成度以及實(shí)際代碼編寫能力方面均有較明顯的提升。部分學(xué)生甚至能夠主動(dòng)結(jié)合程序設(shè)計(jì),開展關(guān)于“智慧農(nóng)場(chǎng)”的相關(guān)研究性學(xué)習(xí),這充分體現(xiàn)了他們具備利用信息技術(shù)解決問題的能力。這些成果均達(dá)到了課程開發(fā)的預(yù)期目標(biāo)。
[ 參 考 文 獻(xiàn) ]
[1] 中華人民共和國教育部.普通高中信息技術(shù)課程標(biāo)準(zhǔn):2017年版[M].北京:人民教育出版社,2018.
[2] 張玉寧.基于計(jì)算思維的程序設(shè)計(jì)類課程教學(xué)實(shí)踐研究[J].現(xiàn)代電子技術(shù),2017(23):162-165,170.
[3] 李鋒.中小學(xué)計(jì)算思維教育:STEM課程的視角[J].中國遠(yuǎn)程教育,2018(2):44-49,78-79.
[4] 傅騫,王鈺茹.面向計(jì)算思維培養(yǎng)的編程教學(xué)研究:以高中生Python編程教學(xué)為例[J].創(chuàng)新人才教育,2019(3):47-54.
(責(zé)任編輯 黃春香)