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