王蘇明
中國教育技術(shù)協(xié)會信息技術(shù)教育專業(yè)委員會編寫的《基礎(chǔ)教育信息技術(shù)課程標準(2012版)》指出:學(xué)生應(yīng)當通過算法與程序設(shè)計模塊的學(xué)習,借助積木式程序設(shè)計語言,理解生活中的算法問題;能設(shè)計算法并通過拖拽圖標方式編寫程序解決生活中的簡單問題?!敖鉀Q問題”已明確成為信息技術(shù)課程價值的一種體現(xiàn)。李藝、鐘柏昌等學(xué)者又將信息技術(shù)學(xué)科核心素養(yǎng)描述為三個層次:最底層的“雙基指向”(簡稱“雙基層”),以基礎(chǔ)知識和基本技能為核心;中間層的“問題解決指向”(簡稱“問題解決層”),以解決問題過程中所獲得的基本方法和基本態(tài)度為核心;最上層的“學(xué)科思維指向”(可以簡稱“學(xué)科思維層”),指在系統(tǒng)的學(xué)科學(xué)習中通過體驗、認識及內(nèi)化等過程逐步形成的相對穩(wěn)定的思考問題、解決問題的思維方法和價值觀,實質(zhì)上是初步得到學(xué)科特定的認識世界和改造世界的世界觀和方法論。不難看出,“問題解決”實際上已成為連接“雙基”與“學(xué)科思維”不可或缺的橋梁。據(jù)此,在小學(xué)Scratch教學(xué)中基于問題導(dǎo)向?qū)W習來進行教學(xué)設(shè)計與實踐應(yīng)是追求核心素養(yǎng)養(yǎng)成的一種有益嘗試。
概念解析
問題是一種情境狀態(tài),是個體想做某件事情,但又不能立即知道做這件事所需采取的一系列行為。1969年,美國醫(yī)學(xué)教育改革先驅(qū)Barrows教授首先把問題導(dǎo)向?qū)W習應(yīng)用到醫(yī)學(xué)教學(xué)中,這種新的教學(xué)模式也是西方醫(yī)學(xué)教育的主流模式之一,并逐步擴散到生物學(xué)、心理學(xué)、社會工作教育和商業(yè)教育等多個學(xué)科領(lǐng)域,也滲透到中小學(xué)教育領(lǐng)域中。它與傳統(tǒng)的以學(xué)科為基礎(chǔ)的教學(xué)法有很大不同,強調(diào)以學(xué)生的主動學(xué)習為主,而不是傳統(tǒng)教學(xué)中的以教師講授為主;它將學(xué)習與問題或任務(wù)掛鉤,使學(xué)習者投入到問題中;它設(shè)計真實性任務(wù),強調(diào)把學(xué)習設(shè)置到復(fù)雜的、有意義的問題情境中,學(xué)習者通過自主探究和合作來解決問題,從而學(xué)習隱含在問題背后的科學(xué)知識,形成解決問題的技能和自主學(xué)習的能力。問題導(dǎo)向?qū)W習強調(diào)以問題解決為核心,多種學(xué)習途徑相整合,強調(diào)學(xué)習者之間的交流與合作,讓學(xué)生圍繞問題展開知識技能及多種能力的建構(gòu)過程。
本文提出的基于問題導(dǎo)向?qū)W習的小學(xué)Scratch教學(xué)是指在小學(xué)Scratch教學(xué)中,以一系列教學(xué)問題為導(dǎo)向,并貫穿整個教學(xué)過程,指引學(xué)生投入問題解決中,使學(xué)生在解決具體問題的過程中掌握Scratch的基礎(chǔ)知識和基礎(chǔ)技能,并獲得解決問題的方法,以期達到核心信息素養(yǎng)培養(yǎng)的目標。
應(yīng)用實例
從問題解決者的知識角度來看,可以將問題分為常規(guī)性問題與非常規(guī)性問題兩大類。常規(guī)性問題是一類同問題解決者已經(jīng)解決了的問題相同或相似的問題,該類問題只需通過再現(xiàn)性思維即可獲得解決;非常規(guī)性問題是指不同于問題解決者之前已經(jīng)解決過的問題,該類問題的解決需要問題解決者建立新的解決方案。L.W.安德森將布盧姆將認知領(lǐng)域的目標層級修訂為識記、理解、應(yīng)用、分析、評價與創(chuàng)造六個層級,較好地體現(xiàn)了問題解決過程中的思維層次的提升。筆者以冀教版新編小學(xué)信息技術(shù)教材五年級上冊《Scratch程序設(shè)計》第8課《飛行特訓(xùn)》一課為例進行具體闡述。本課的學(xué)習目標:①掌握偵測模塊“碰到‘角色’”的使用方法,②利用直到型循環(huán)實現(xiàn)飛行器避障的游戲規(guī)則,③掌握克隆體控件的使用方法。學(xué)生在學(xué)習本課之前,已經(jīng)掌握了偵測模塊“碰到‘顏色’”的使用方法,掌握了無條件循環(huán)結(jié)構(gòu)和利用復(fù)制增加角色的方法。依據(jù)本課的學(xué)習目標與學(xué)生的現(xiàn)有水平,筆者將本課可能出現(xiàn)的問題結(jié)合問題結(jié)構(gòu)和布盧姆教育目標分類(修訂版),如上頁表1所示。
根據(jù)表1,本課需要解決的問題基本明確,依據(jù)“工作主線”將表1中9個不同層次的問題按照“3—2—1—6—7—5—8—4—9”的順序進行編列,把“范例體驗—分析規(guī)劃—模仿制作—拓展提升—自由創(chuàng)作”這一教學(xué)路徑貫穿到上述問題中,并實施教學(xué)。
1.依托學(xué)習支架,明晰問題解決途徑
從使用目的來看,學(xué)習支架可以分為接收支架、轉(zhuǎn)換支架和輸出支架。其中,轉(zhuǎn)換支架用來幫助學(xué)生轉(zhuǎn)換所獲得的信息,使所學(xué)的知識更為清晰、易于理解,或使劣構(gòu)的信息結(jié)構(gòu)化,尤其適用于支持原理性和方法性內(nèi)容的學(xué)習。筆者利用情境—問題轉(zhuǎn)換表(如表2)作為轉(zhuǎn)換支架,幫助學(xué)生明晰需要解決的問題,使之與任務(wù)完成產(chǎn)生直接的聯(lián)系。
范例體驗后,請學(xué)生分組就游戲情境及規(guī)則進行分析討論,各小組匯報歸納總結(jié),得出需要實現(xiàn)以下功能:飛行器可被控制運動;偵測可知飛行器與障礙物是否發(fā)生碰撞;每發(fā)生一次碰撞需減去25分的健康度。學(xué)生通過填寫問題—情境轉(zhuǎn)換表,明確將要面對的問題:①如何控制“飛行器”的運動?②使用什么偵測更合理有效?是否還能用“顏色偵測”?③選用哪種循環(huán)控件能達成需求?“健康度”的變化能否使用無條件“重復(fù)執(zhí)行”實現(xiàn)?有了明確的問題,且學(xué)生之前遇到過相似的情境,應(yīng)歸為常規(guī)性問題,放手讓學(xué)生自主嘗試,小組內(nèi)互助解決。各小組匯報探究結(jié)果:根據(jù)自己喜好自由選擇鍵盤或鼠標控制“飛行器”的運動;在角色顏色與背景顏色極其相似的情況下,使用顏色偵測不是最好的選擇,“碰到角色”偵測在此處更合理;無條件“重復(fù)執(zhí)行”實際是死循環(huán),無法根據(jù)條件做出終止循環(huán)的操作,此處應(yīng)選擇條件循環(huán)——直到型循環(huán)。學(xué)習支架的使用,幫助學(xué)生在情境和問題之間搭建了可跨越的橋梁,為學(xué)生以后解決問題提供了思路。
2.妙用問題情境,有效突破定勢思維
定勢思維是人們在長期的思維實踐中形成的一種慣用的模式化了的思維形式,當人們面臨現(xiàn)實問題或外界事物時,便會毫不猶豫地把它們納入特定的思維框架,并順著特定的思維軌道對它們進行分析和處理。大部分學(xué)生在面對一個看似已知的問題時,往往習慣沿用經(jīng)驗去解決,這看似合情合理,但遇到變式問題時,往往會出現(xiàn)畏難情緒,不愿突破定勢思維。在完成第一個障礙物腳本后,學(xué)生面臨的問題是:如何批量獲得多個“障礙物”?這時,筆者宣布進行師生競賽第一輪:復(fù)制出另外9個障礙物。學(xué)生在之前有做“吃豆子”游戲的經(jīng)驗,口中一邊喊“好”,一邊開始復(fù)制,動作快的學(xué)生幾乎與筆者同時完工,第一輪平局。筆者又出示第二輪競賽題:復(fù)制出的障礙物大小要求不完全一樣。筆者在原有腳本上添加了相同的兩個控件:將角色大小設(shè)定為50~150的隨機數(shù),不到15秒就完成了。學(xué)生拼命復(fù)制,但最快的學(xué)生還是用了差不多1分鐘,第二局筆者獲勝。筆者繼續(xù)追問:“還來第三局嗎?”少數(shù)不服輸?shù)膶W(xué)生喊道:“這次不許再改程序,我們就能贏。”筆者說:“好啊,第三局就再復(fù)制出99個障礙物吧?!睂W(xué)生大笑,并表示放棄。筆者認真地說:“只需3秒!”學(xué)生都很驚詫,這時筆者鄭重推出本課的新知重點——如何使用“克隆體”控件?此時再精細講解此知識點,學(xué)生都非常專注,生怕錯過一個細節(jié)。從反饋的效果來看,這個較難的知識點,大部分學(xué)生都基本掌握了。有難度的問題背后往往隱藏著更優(yōu)化的解決思路。學(xué)生在掌握一種常規(guī)解法后常懶于思考,這時教師應(yīng)設(shè)法激發(fā)學(xué)生學(xué)習新知的欲望,打破思維惰性,使其在愉快地解決問題的過程中掌握新知。
3.把握共性問題,習得問題解決方法
在“偵測碰撞”的過程中,有不少學(xué)生都出現(xiàn)了共性問題:為什么只碰撞1次,“健康度”就會變?yōu)??筆者將這段程序發(fā)送到學(xué)生機上,先請學(xué)生將這段程序按功能分成3段:跟隨鼠標移動;碰到障礙物偵測;游戲結(jié)束偵測。隨后,進行分段測試,當碰到障礙物偵測時,出現(xiàn)了問題。為了便于調(diào)試,筆者將游戲結(jié)束偵測模塊斷開,再次將飛行器移過障礙物,這時發(fā)現(xiàn)“健康度”一直在減少,問題找到了:從碰到飛行障礙物到離開飛行障礙物的這一瞬間(即還處在沒有完全分開的狀態(tài)),循環(huán)體內(nèi)的控件會不停地執(zhí)行,直到完全分開。發(fā)現(xiàn)問題就要想辦法解決問題(添加“在……之前一直等待”控件)。這一問題是動態(tài)生成的,學(xué)生經(jīng)歷了這種直觀的分段調(diào)試過程并最終解決了問題,完成了“自下而上的修補(bottom-up tinkering)”。這一看似隨意的探索實驗式學(xué)習方式,帶給學(xué)生體驗的同時,也使其獲得了解決問題的方法。正如美國MIT終身幼兒園研究小組主任雷斯尼克(Mitchel Resnick)教授在2012年TED主題演講《讓我們教孩子學(xué)編程吧》中指出,學(xué)習編程的意義在于“學(xué)習編程,在編程中學(xué)習(Learning to code,coding to learn)”。
4.內(nèi)化助解非常規(guī)性問題,聚類激發(fā)創(chuàng)意思維
學(xué)生將具體的情境化范例歸納與總結(jié)為有用的編程方法與技巧(直到型循環(huán)控件的運用、“在……之前一直等待”控件的運用、“克隆體”控件的運用),這種歸納與總結(jié)是一種去情境化的過程,它有助于學(xué)生掌握各種編程技巧與方法。學(xué)生也就可以接受更多的挑戰(zhàn)性任務(wù),如“如何讓作品可玩性更高?”“運用‘克隆體’控件還可以做出哪些作品?”等。對于“如何讓作品可玩性更高?”雖然學(xué)生們尚未動手,但基于其他游戲的經(jīng)驗,可以用“讓飛行器飛得更快或更慢”“讓障礙物增加或減少”“可摧毀部分障礙物”“無敵模式”“‘冰凍’障礙物”等辦法,這種以相似目標聚類的方案,對于拓展學(xué)生的思維相當有益,學(xué)生也可以在眾多方案中選擇自己心儀的目標快樂探究。而“運用‘克隆體’控件還可以做出哪些作品?”除了書上的“吃豆子”游戲外,還有“Flappy bird”(克隆柱子)、“大魚吃小魚”(克隆小魚,還可以變色)、“植物大戰(zhàn)僵尸”(克隆向日葵和僵尸)、“飛機大戰(zhàn)”(克隆敵機)、“瘋狂打地鼠”(克隆地鼠)等游戲,這種以相似的功能聚類,有助于學(xué)生掌握所學(xué)的編程技巧與方法,激發(fā)出創(chuàng)意的火花。
結(jié)語
“在問題解決中學(xué)習”是建構(gòu)主義學(xué)習理論的一貫主張,在面向問題解決的《飛行特訓(xùn)》教學(xué)實踐中,筆者用9個問題貫穿了整個教學(xué)過程,使學(xué)生在解決問題的過程中獲得了隱藏在問題背后的Scratch知識與技能,同時提高了學(xué)生解決問題的能力。將面向問題解決的教學(xué)策略引入小學(xué)信息技術(shù)教學(xué)中,有利于新舊知識的銜接,有利于解決問題方法的獲得,有利于新知的建構(gòu),有利于學(xué)生創(chuàng)意思維的激發(fā)。因此,面向問題解決的小學(xué)Scratch教學(xué)是通向“高速公路入口”的教育,是關(guān)注核心素養(yǎng)培養(yǎng)的教育,是培養(yǎng)計算思維的教育,是培養(yǎng)創(chuàng)新者的教育。