瞿強
近年來,STEAM教育越來越受到教育領(lǐng)域的關(guān)注,編程教育作為STEAM教育和創(chuàng)客教育中的重要一環(huán),其內(nèi)容也被編入中小學(xué)信息技術(shù)課程中。但編程過程相對抽象,如何吸引學(xué)生并使他們輕松學(xué)習(xí)編程知識,是擺在廣大教師面前的一道難題。下面,筆者就來梳理并探討STEAM教育理念下編程課程的教學(xué)策略。
一、STEAM教育與編程教育的關(guān)系
STEAM的五個英文字母分別代表五門學(xué)科,即科學(xué)(Science)、技術(shù)(Technology)、工程(Engineering)、藝術(shù)(Art)及數(shù)學(xué)(Mathematics)。STEAM教育將多個學(xué)科內(nèi)容進行融合并形成一門以項目教學(xué)為主的綜合性課程,倡導(dǎo)在問題解決驅(qū)動目標(biāo)下的跨學(xué)科學(xué)習(xí),旨在培養(yǎng)學(xué)生提出問題、分析問題和解決問題的能力以及團隊協(xié)作能力等。而編程教育主要是培養(yǎng)學(xué)生的邏輯思維能力和計算思維,在我國中小學(xué)信息技術(shù)編程課上,較常用的可視化模塊編程軟件工具有Scratch、App Inventor、Alice、Mixly等。
1.編程與科學(xué)
計算機科學(xué)是一門包含各種各樣與計算和信息處理相關(guān)主題的系統(tǒng)學(xué)科,從抽象的算法分析、形式化語法到具體的主題如編程語言、程序設(shè)計、軟件和硬件等。
2.編程與技術(shù)
軟件編程屬于IT領(lǐng)域,IT(信息技術(shù))是管理和處理信息所采用的各種技術(shù)的總稱,它主要是應(yīng)用計算機科學(xué)和通信技術(shù)來設(shè)計、開發(fā)、安裝和實施信息系統(tǒng)及應(yīng)用軟件,通常又被稱為“信息和通信技術(shù)”。
3.編程與工程
中小學(xué)生不可能去實際接觸如同土木工程、水利工程這樣的大型項目,但編程設(shè)計可以在實施具體程序項目時,利用相關(guān)工程學(xué)原理。編程所培養(yǎng)的應(yīng)該是有工程意識的人才,在編程學(xué)習(xí)中學(xué)生可以對整個程序進行總體規(guī)劃,考慮程序項目的合理性、代碼規(guī)范性、功能拓展等內(nèi)容。
4.編程與藝術(shù)
編寫優(yōu)美的程序需要靈感和高超的技巧,就像建筑師設(shè)計地標(biāo)性建筑一樣,充滿樂趣和挑戰(zhàn)。整齊且結(jié)構(gòu)合理的程序就像經(jīng)典建筑一樣耐人尋味,所以計算機編程同樣需要藝術(shù),程序員就是創(chuàng)造編程藝術(shù)的代碼藝術(shù)家。
5.編程與數(shù)學(xué)
編程包含了豐富的數(shù)學(xué)知識,比如計算坐標(biāo)移動的具體位置。編程最重要的核心就是算法(算法代表著用系統(tǒng)的方法描述解決問題的策略機制),而算法的編寫需要一定的數(shù)學(xué)基礎(chǔ)。
本研究借助的是可視化編程工具Scratch,學(xué)生通過簡單的圖形化積木式的拖放組件便可以完成編程學(xué)習(xí),激發(fā)學(xué)習(xí)興趣,培養(yǎng)創(chuàng)造性思維和計算思維。
二、STEAM教育在編程課堂中的六大教學(xué)策略
1.激發(fā)興趣,提高學(xué)生學(xué)習(xí)興趣與動力
學(xué)生探索的動力來自對所學(xué)內(nèi)容的興趣,編程教育不應(yīng)將學(xué)生學(xué)習(xí)編程的樂趣剝奪,教師需要不斷研究、分析編程課程的特點和教學(xué)方法,結(jié)合學(xué)生實際情況進行學(xué)情分析,找出學(xué)生的興趣激發(fā)點。以“救援英雄”一課為例,筆者采用了情境教學(xué)法和游戲體驗教學(xué)法。開始新課前,給學(xué)生播放電影《海防最前線》中海防救援人員用直升機解救風(fēng)暴中落水者的片段,而后又讓學(xué)生體驗“救援英雄”小游戲,該小游戲就是仿照電影情節(jié)制作出來的Scratch游戲,這激發(fā)了學(xué)生想要自己制作游戲的欲望。
案例1:“救援英雄”課堂激趣環(huán)節(jié)
師:“同學(xué)們,讓我們一起來分享一段視頻?!保úシ乓曨l,和學(xué)生一起討論氣候現(xiàn)象和科學(xué)知識)
師:“相信每位同學(xué)的內(nèi)心深處都有一個英雄夢,今天就讓我們在課堂上,用我們所學(xué)的知識,實現(xiàn)我們的英雄夢!”(展示課題)
教師首先用PPT展示如下虛擬場景:
一架MA120小型飛機發(fā)生故障,緊急迫降在海面上,機上六名乘客全部落水,作為一名海上搜救隊的搜救員,你要開著直升機去救落水人員。這片空域常有海鳥出現(xiàn),為避免與之相撞,你需要小心駕駛,在保證自身安全的前提下,安全救出全部落水人員。
接著教師邀請一位學(xué)生體驗“救援英雄”游戲,并嘗試分析游戲流程,思考為什么要這樣設(shè)計游戲。
2.教學(xué)創(chuàng)新,將抽象復(fù)雜的問題模塊化
本課的教學(xué)目標(biāo)是讓學(xué)生經(jīng)歷“分析劇本—提煉關(guān)鍵詞—繪制流程圖—編寫程序”的過程,掌握將自然語言轉(zhuǎn)換為計算機語言的方法,并能用學(xué)到的編程語句完成小游戲的設(shè)計制作。
在“救援英雄”編程課的設(shè)計中,筆者靈活運用以下多種教學(xué)方法幫助學(xué)生構(gòu)建知識。第一,情境創(chuàng)設(shè)法。通過驚險的視頻,帶領(lǐng)學(xué)生進入救援英雄的世界,充分調(diào)動學(xué)生學(xué)習(xí)的積極性。第二,激勵教學(xué)法。通過不斷啟發(fā)、引導(dǎo),讓學(xué)生發(fā)現(xiàn)問題,自己尋找解決問題的方法。第三,任務(wù)驅(qū)動法。通過布置任務(wù),調(diào)動學(xué)生勇于冒險、敢于探索的積極性。第四,小組探究法。通過小組討論、互助、探究、展示,提高學(xué)生學(xué)習(xí)效率。
案例2:“救援英雄”課堂教學(xué)環(huán)節(jié)
游戲體驗結(jié)束后,教師提問:“這個游戲是怎么制作出來的呢?”
學(xué)生發(fā)表各自看法,教師引導(dǎo)學(xué)生理解什么是“工程”項目,拋出游戲開發(fā)這個環(huán)節(jié),進而讓學(xué)生理解“游戲開發(fā)流程圖”。
分析劇情與編寫代碼:
“救援開始,救援直升機的螺旋槳飛旋著呼嘯疾飛,落水乘客戴著救生圈在水中等待救援?,F(xiàn)場環(huán)境復(fù)雜,你用光標(biāo)控制鍵操控飛行方向,在搜索區(qū)搜尋并營救落水者……”從劇情中提煉出兩個關(guān)鍵詞:一是“直升機呼嘯疾飛”,畫出流程圖,然后用“改變造型”語句以及“重復(fù)執(zhí)行”語句加以實現(xiàn);二是“操控飛機做上下左右的飛行”,將使用上節(jié)課所學(xué)的“光標(biāo)控制移動”語句來實現(xiàn)。
設(shè)計“遇險者”,是本課的教學(xué)重點和難點。通過劇本引導(dǎo)學(xué)生找到關(guān)鍵詞“脫離險境”,引導(dǎo)學(xué)生思考如何將之轉(zhuǎn)換為Scratch語句——“遇險者如果碰到救援者,就會被隱藏,否則就繼續(xù)顯示。”此時提問:“這與我們之前學(xué)過的外觀模塊中的什么語句相似?”學(xué)生不難回答出是“將顏色改變”語句,可以邀請兩位學(xué)生合作,在教師機上嘗試完成這段程序。
隨后請學(xué)生思考“如何才能判定救援成功”。展示流程圖,幫助學(xué)生理解計數(shù)器的工作原理,提醒學(xué)生“在數(shù)學(xué)中把不斷變化的、可取不同值的量稱為變量,在Scratch中可以使用變量來實現(xiàn)計數(shù)器的功能”。之后邀請學(xué)生上臺,在流程圖和教師的引導(dǎo)下,完成計數(shù)器的編寫,從而讓學(xué)生成為難點問題的“突破者”。
3.勤思妙想,培養(yǎng)學(xué)生創(chuàng)新精神和實踐能力
在課程內(nèi)容上,整個“救援英雄”不僅有技術(shù)學(xué)科中的編程技術(shù),也運用到了數(shù)學(xué)學(xué)科中的坐標(biāo)計算、藝術(shù)學(xué)科中的美學(xué)設(shè)計、工程學(xué)科中的合理布局等知識。在設(shè)計和完成的過程中,學(xué)生應(yīng)用多學(xué)科的知識綜合解決問題,并在設(shè)計過程中融入個人創(chuàng)意,創(chuàng)造富有個性的游戲。
4.動手實踐,提高分析問題和解決問題能力
課堂教學(xué)中,布置課堂任務(wù)是完成學(xué)習(xí)任務(wù)的起點。下面列出的是“救援英雄”的三個課堂任務(wù),每一個任務(wù)難度不同,知識目標(biāo)不同。
案例3:“救援英雄”課堂任務(wù)布置環(huán)節(jié)
課堂任務(wù):兩人一組,討論并構(gòu)思一段故事情節(jié)(如海上救援、極地救援、消防員滅火、大魚吃小魚等),將故事情節(jié)記錄在創(chuàng)意設(shè)計書上,并運用Scratch將這段情節(jié)編寫成一個小游戲。
任務(wù)1:設(shè)計“救援者”
設(shè)計一個能由光標(biāo)鍵控制運動的角色(如救援直升機、戰(zhàn)地救護車等)。
要求:
(1)角色在運動過程中有造型的變化。
(2)角色由光標(biāo)鍵控制,在舞臺范圍內(nèi)上下左右均可移動。
任務(wù)2:設(shè)計“遇險者”
設(shè)計多個“遇險者”角色(如受傷的群眾、落水者等)。
要求:
(1)“遇險者”在運動過程中有造型的變化。
(2)“遇險者”在接觸到“救援者”時會隱藏。
(3)所有“遇險者”獲救后,程序結(jié)束。
拓展任務(wù):設(shè)計“干擾者”和游戲結(jié)束條件
“干擾者”的出現(xiàn)時刻威脅著“救援者”的安全,請設(shè)計一個危險的“干擾者”角色(如飛鳥、熱氣球、大火等)。
要求:
(1)“干擾者”在舞臺范圍內(nèi)隨機移動。
(2)利用“變量”技術(shù),判斷“遇險者”是否已被全部救出,然后游戲結(jié)束。
STEAM課程的開放式學(xué)習(xí)特征會導(dǎo)致學(xué)習(xí)者進度參差不齊,需要教師采取個別化的指導(dǎo)策略。如布置第二個任務(wù)時,教師可為學(xué)生提供相關(guān)學(xué)案,幫助學(xué)生通過學(xué)案鞏固知識點;進行拓展任務(wù)時,教師可提供給學(xué)生Scratch程序模塊的使用圖解,教會他們通過程序模塊的注解理解該程序作用,從模仿到原創(chuàng),讓學(xué)生在制作游戲項目中逐漸學(xué)會如何通過自學(xué)去完善和優(yōu)化項目。
5.分享交流,有助形成評價維度的多元化
作品制作完成后,每個小組依次到演講臺,作為分享者給其他小組同學(xué)展示自己的作品,并分享各組的分工方式、創(chuàng)意來源、流程步驟、作品結(jié)構(gòu)及亮點,同時也可以把自己組在完成過程中遇到的困惑講出來,并與其他小組同學(xué)進行互動。這種路演模式不僅培養(yǎng)了學(xué)生協(xié)調(diào)能力和語言表達能力,還為組與組之間搭建了一個學(xué)習(xí)的平臺,通過路演及時發(fā)現(xiàn)作品問題,以便在后期進行修改和優(yōu)化。
編程課堂采用自評與互評相結(jié)合的發(fā)展性評價方式,學(xué)生除了展示作品外,還需介紹項目背景、團隊組成、設(shè)計思路、創(chuàng)作過程、創(chuàng)新點說明等,同時還要從故事情節(jié)、技術(shù)實現(xiàn)、科學(xué)原理、工程規(guī)劃、代碼邏輯、藝術(shù)表現(xiàn)、小組合作、創(chuàng)意實現(xiàn)、現(xiàn)場答辯等方面多維度相互評價與反思。師生評價、自我評價與生生評價注重對學(xué)生創(chuàng)新方法、創(chuàng)新過程、創(chuàng)新成果進行全方位多維度的評價。
6.學(xué)科融合,培養(yǎng)跨學(xué)科思維和綜合性實踐能力
STEAM教育要求進行跨學(xué)科的融合,在教學(xué)活動中要引導(dǎo)學(xué)生在分析問題時認(rèn)識到可能涉及的學(xué)科知識,找出這些知識點并解決理論知識上的盲區(qū),利用跨學(xué)科的學(xué)習(xí)方式來提高自學(xué)能力。同時,如果教師在備課時能梳理出教學(xué)中可能涉及的主要學(xué)科知識和能力,將有助于進行有針對性的教學(xué)輔導(dǎo)。以“救援英雄”活動為例(如下表),在梳理目標(biāo)后,教師可以非常清楚地引導(dǎo)學(xué)生一步步從初級目標(biāo)到達高級目標(biāo),達到學(xué)科銜接的目的。
綜上,筆者針對“救援英雄”制訂的有針對性的教學(xué)策略,使STEAM課程發(fā)揮了它的價值,促進了學(xué)生提出問題、分析問題、解決問題的綜合能力,真正融合科學(xué)、工程、技術(shù)、藝術(shù)、數(shù)學(xué)的學(xué)科精髓,有利于學(xué)生跨學(xué)科思維能力的培養(yǎng),助力學(xué)生創(chuàng)新能力和綜合實踐能力的發(fā)展。