孔靜靜 南昌大學(xué)教育發(fā)展研究院
基于設(shè)計的學(xué)習(xí)(Designbased Learning,簡稱DBL)是一種適用于小學(xué)階段的、基于問題解決的探究教學(xué)模式,引導(dǎo)學(xué)生通過設(shè)計問題解決方案發(fā)展計算思維。流程圖作為一種圖形分析方法,是促進(jìn)學(xué)生理解程序邏輯關(guān)系的有效手段,有助于把學(xué)生頭腦中“思”的結(jié)果轉(zhuǎn)化為描述語言外顯出來,是思維發(fā)聲的工具。將流程圖設(shè)計嵌入DBL支持下的可視化編程學(xué)習(xí)過程中,有利于幫助小學(xué)生厘清解決問題的步驟,促進(jìn)小學(xué)生計算思維的發(fā)展。
目前,在國際上相對成熟且被大家廣泛采用的DBL模型主要有兩個:①多林·尼爾森提出的逆向思維學(xué)習(xí)過程模型,強調(diào)在學(xué)習(xí)過程中從高級推理到基本知識的學(xué)習(xí),該模型的具體操作步驟有六步半,分別是需要教什么、確定問題、描述一個從未見過的挑戰(zhàn)、建立評價標(biāo)準(zhǔn)、學(xué)生動手嘗試、指導(dǎo)課程、反思設(shè)計;②克羅德納提出的基于設(shè)計的科學(xué)探究循環(huán)模型,它包含“設(shè)計/再設(shè)計”與“調(diào)查與探索”兩個循環(huán)過程,強調(diào)過程的迭代循環(huán)。這兩個DBL模型都注重“學(xué)生參與到設(shè)計中”,強調(diào)整個活動中設(shè)計和探索之間及內(nèi)部的迭代循環(huán)。逆向思維學(xué)習(xí)過程模型具有動態(tài)、可逆、可修改的特點,但過于強調(diào)教師主導(dǎo);基于設(shè)計的科學(xué)探究循環(huán)模型中的兩個循環(huán)可直接過渡,靈活性較高,但開始和結(jié)束的界限比較模糊,缺乏明確的指引。
綜合上述兩個DBL模型的優(yōu)點,結(jié)合學(xué)生的計算思維培養(yǎng)現(xiàn)狀調(diào)查結(jié)果,本研究構(gòu)建的面向計算思維培養(yǎng)的DBL模型包含教學(xué)內(nèi)容層、基于設(shè)計的教學(xué)過程、基于設(shè)計的學(xué)習(xí)過程、計算思維目標(biāo)層四個部分(如圖1)。
圖1
教學(xué)內(nèi)容層即具體某一課的學(xué)習(xí)內(nèi)容,通常聚焦于學(xué)習(xí)算法的邏輯、步驟,一般可以表現(xiàn)為流程圖的邏輯結(jié)構(gòu);基于設(shè)計的教學(xué)過程包含創(chuàng)設(shè)情境—提出問題、明確任務(wù)—分組合作、提取信息—構(gòu)建原型、算法編程—迭代完善、成果展示—交流評價五個階段;基于設(shè)計的學(xué)習(xí)過程包含情境問題鑒定、協(xié)作方案設(shè)計、創(chuàng)造原型系統(tǒng)、算法編程學(xué)習(xí)、交流評價作品五個階段;計算思維目標(biāo)層包含問題解決、協(xié)作、創(chuàng)造性思維、算法思維、批判性思維五個維度。該模型明確解決了四個核心問題:①教學(xué)內(nèi)容是什么;②教師如何教;③學(xué)生如何學(xué);④學(xué)習(xí)結(jié)果是什么。
本文以山東教育出版社出版的信息技術(shù)教材第4冊《走進(jìn)圖形化編程的世界》第3課《貓捉老鼠》為例,利用圖形化編程軟件進(jìn)行面向計算思維培養(yǎng)的教學(xué)實踐研究。前面兩節(jié)課學(xué)生已經(jīng)學(xué)習(xí)了增添角色、使用鍵盤和控件移動角色等基礎(chǔ)知識,本節(jié)課主要學(xué)習(xí)“重復(fù)執(zhí)行”和“如果……那么……”兩種指令,這兩種指令分別對應(yīng)流程圖的循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu),通過指令的學(xué)習(xí)帶領(lǐng)學(xué)生體驗流程圖在整個游戲設(shè)計中的重要作用。依據(jù)DBL模型進(jìn)行教學(xué)設(shè)計,流程圖設(shè)計主要體現(xiàn)在“提取信息—構(gòu)建原型”“算法編程—迭代完善”這兩個教學(xué)環(huán)節(jié)中,對應(yīng)學(xué)生的“創(chuàng)造原型系統(tǒng)”“算法編程學(xué)習(xí)”兩個學(xué)習(xí)環(huán)節(jié),主要進(jìn)行“創(chuàng)造性”“算法思維”這兩個計算思維的培養(yǎng)。
通過創(chuàng)設(shè)問題情境,引導(dǎo)學(xué)生從情境中理解問題,并概括問題的關(guān)鍵特征。首先,教師通過PPT展示一首打油詩:“老鼠老鼠壞東西,偷喝油來偷吃米,小貓小貓真機警,喵嗚一聲捉住你?!比缓蟛シ拧敦埡屠鲜蟆防铩柏堊嚼鲜蟆钡慕?jīng)典視頻,以活躍課堂氣氛,激發(fā)學(xué)生的學(xué)習(xí)興趣,同時引出本節(jié)課的活動主題——貓捉老鼠。最后教師順勢提出問題:“如何利用圖形化編程軟件設(shè)計‘貓捉老鼠’這個游戲?如何設(shè)計游戲規(guī)則?”該環(huán)節(jié)主要鍛煉了學(xué)生的概括能力、分析能力,培養(yǎng)了學(xué)生初步的問題解決意識。
參考教材確定“貓捉老鼠”的游戲規(guī)則:用圖形化編程軟件主界面的“運行”按鈕控制程序開始,老鼠隨鍵盤的上、下、左、右鍵移動,小貓追著老鼠跑,如果小貓碰到老鼠,說“捉住了”,則游戲結(jié)束。在確定問題和游戲規(guī)則之后,接下來進(jìn)行分解問題,即將復(fù)雜問題分解成一個個小任務(wù),同時厘清各部分之間的邏輯關(guān)系?!柏堊嚼鲜蟆敝黝}活動包含一張背景圖(室內(nèi)房間)和兩個角色(小貓、老鼠),主要包含四個任務(wù):①在舞臺上添加背景和角色;②制作移動的老鼠;③制作追老鼠的小貓;④呈現(xiàn)小貓碰到老鼠的結(jié)果。在明確任務(wù)之后,教師將全班學(xué)生分成六組,組內(nèi)依據(jù)任務(wù)進(jìn)行分工并展開協(xié)作。該環(huán)節(jié)主要鍛煉了學(xué)生的協(xié)作能力、分解能力。
在明確任務(wù)之后,下一步就要提取任務(wù)中的關(guān)鍵信息,通過抽象建模對現(xiàn)實世界中的問題進(jìn)行形式化表達(dá),構(gòu)建解決問題的原型。各小組對小貓、老鼠這兩個角色展開分析,并繪制思維導(dǎo)圖(如圖2)。
圖2
依據(jù)思維導(dǎo)圖繪制流程圖,厘清解決問題的思路,設(shè)計問題解決方案。流程圖主要有四種基本元素:①圓形表示“開始”或“結(jié)束”;②矩形方框表示“處理”或“過程”;③菱形表示“選擇”;④帶箭頭的線段表示“工作流方向”。遵循“單口出單口入”原則,繪制“貓捉老鼠”的流程圖(如下頁圖3)。
圖3
基于流程圖設(shè)計的問題解決方案包含四個步驟:①添加背景和角色。首先將本地文件中的“室內(nèi)房間”添加為游戲背景,從角色庫中分別選取“Mouse1”和“Cat2”,為編寫腳本做好準(zhǔn)備。②制作移動的老鼠。為老鼠搭建腳本,實現(xiàn)老鼠隨鍵盤的上、下、左、右鍵移動;③制作移動的小貓。為小貓搭建腳本,實現(xiàn)小貓追著老鼠跑。④貓捉老鼠。如果小貓碰到老鼠,說“捉住了”,游戲結(jié)束,否則重復(fù)執(zhí)行貓追趕老鼠。該環(huán)節(jié)主要鍛煉了學(xué)生的創(chuàng)造性思維能力、抽象能力和建模能力。
在制作出流程圖和問題解決方案之后,接下來就要按照特定的問題及規(guī)則為角色設(shè)計出一系列的程序指令,并在圖形化編程軟件上用算法實現(xiàn),以自動實現(xiàn)該問題的解決。
移動的老鼠算法設(shè)計(如圖4):①選擇“事件”模塊中的“運行”,表示程序開始執(zhí)行;②選擇“控制”模塊中的“重復(fù)執(zhí)行”和“如果……那么……”指令,并將“如果……那么……”指令添加到“重復(fù)執(zhí)行”指令下,表示要重復(fù)執(zhí)行“如果……那么……”指令所包含的內(nèi)容;③選擇“偵測”模塊中的“按下……鍵”指令添加到“如果……那么……”指令的條件框中,選擇“運動”模塊中的“面向……方向”和“移動……步”指令添加到“如果……那么……”指令的結(jié)果框中,即為程序要重復(fù)執(zhí)行的具體內(nèi)容。運行結(jié)果:重復(fù)執(zhí)行老鼠跟隨鍵盤的上、下、左、右鍵向上、下、左、右方向各移動5步。
圖4
移動的小貓算法設(shè)計(如圖5):①選擇“事件”模塊中的“運行”,表示程序開始執(zhí)行;②選擇“控制”模塊中的“重復(fù)執(zhí)行”指令,將“運動”模塊中的“面向”和“在……秒內(nèi)移動到”指令添加到“重復(fù)執(zhí)行”指令中,即為程序要重復(fù)執(zhí)行的內(nèi)容;③選擇“控制”模塊中的“如果……那么……”指令,并將其添加到“重復(fù)執(zhí)行”指令中,選擇“偵測”模塊中的“碰到……”指令添加到“如果……那么……”指令的條件框中,選擇“事件”模塊中的“廣播”指令添加到“如果……那么……”指令的結(jié)果框中,即為程序要重復(fù)執(zhí)行的具體內(nèi)容。運行結(jié)果:小貓追著老鼠跑,可在3秒內(nèi)滑行到老鼠身邊,碰到老鼠之后說“捉住了”,游戲結(jié)束,否則重復(fù)執(zhí)行貓追趕老鼠。
圖5
各小組運行初步設(shè)計的算法,并呈現(xiàn)游戲效果圖(如圖6);各小組針對小組作品的不足之處展開組內(nèi)討論,不斷優(yōu)化本組的算法設(shè)計。該環(huán)節(jié)主要鍛煉了學(xué)生的算法思維、協(xié)作能力和問題解決能力。
圖6
在完成“貓捉老鼠”主題活動之后,學(xué)生以小組為單位上交“學(xué)生設(shè)計圖與作品記錄表”,共包含任務(wù)分解詳情、思維導(dǎo)圖、流程圖、問題解決方案、算法設(shè)計以及游戲效果圖六大板塊。依據(jù)各小組提供的材料展開組內(nèi)自評、組間互評和教師總評,并將評價結(jié)果記錄在“學(xué)生作品評價表”中。在評價結(jié)束之后,各個小組認(rèn)真總結(jié)、反思教師和同學(xué)對本組作品的評價,不斷迭代優(yōu)化本組的設(shè)計方案。該環(huán)節(jié)主要鍛煉了學(xué)生的批判性思維能力、協(xié)作能力。
本課的教學(xué)評價包括小組作品、計算思維水平兩個方面。在小組作品方面,在課程結(jié)束之后各小組都能夠分享出能夠完整運行的作品,這表明學(xué)生較好地掌握了計算思維方法,理解了流程圖在問題解決中的運用。同時,學(xué)生在計算思維水平方面也有了顯著的提高。本研究采用科爾克馬茲等學(xué)者編制的計算思維測評量表,從問題解決、協(xié)作、創(chuàng)造性思維、算法思維、批判性思維五個維度對計算思維進(jìn)行前后測,并利用SPSS 26對調(diào)查問卷進(jìn)行數(shù)據(jù)分析。首先,DBL模式對計算思維整體水平的提高有顯著作用。對計算思維整體水平進(jìn)行分析,前測、后測均值分別為98.57、115.85,計算思維整體水平提升了17.28;對前測、后測數(shù)據(jù)進(jìn)行配對樣本T檢驗,顯示Sig.為0.000(小于0.05),說明計算思維前測與后測有顯著差異。其次,數(shù)據(jù)也表明流程圖對提升計算思維水平有促進(jìn)作用。對計算思維五個維度進(jìn)行分析,問題解決、協(xié)作、創(chuàng)造性思維、算法思維、批判性思維的均值分別提升2.05、1.87、3.26、2.93、2.34,對五個維度的前測、后測數(shù)據(jù)進(jìn)行配對樣本T檢驗,顯示五個維度的Sig.均為0.000(小于0.05),說明計算思維各維度的前測與后測有顯著差異。相比于其他三個維度,應(yīng)用流程圖的兩個教學(xué)階段對于相應(yīng)的創(chuàng)造性、算法思維這兩個計算思維維度提升程度更為明顯。
基于DBL模型對《貓捉老鼠》一課進(jìn)行教學(xué)設(shè)計,引導(dǎo)學(xué)生利用流程圖來梳理問題解決的步驟,教學(xué)效果顯著,學(xué)生計算思維水平得以提升。通過流程圖的循環(huán)結(jié)構(gòu)(重復(fù)執(zhí)行)、選擇結(jié)構(gòu)(菱形框判斷)兩種結(jié)構(gòu),從易到難、由簡到繁地將流程圖運用于實際學(xué)習(xí)中,引導(dǎo)學(xué)生將流程圖轉(zhuǎn)變?yōu)橐环N思維工具,使學(xué)生學(xué)會運用結(jié)構(gòu)化思想規(guī)劃解決問題的步驟,鍛煉學(xué)生“先分析再設(shè)計”的思維方式,進(jìn)而培養(yǎng)了學(xué)生的計算思維能力。