張加莎
[摘 要]計算思維是每個人都應(yīng)該掌握的基本技能之一。Scratch軟件已經(jīng)成為培養(yǎng)中小學(xué)生計算思維的熱門工具,也是創(chuàng)客教育課程中重要的編程工具,而Scratch教學(xué)本身“創(chuàng)造加分享”的方式也充分體現(xiàn)著“創(chuàng)客”精神。基于計算思維三維框架理論提出的Scratch教學(xué)模式,有利于培養(yǎng)學(xué)生的計算思維能力。
[關(guān)鍵詞]創(chuàng)客教育;計算思維;Scratch教學(xué)模式
一、引言
目前,我國各中小學(xué)正在如火如荼地開展創(chuàng)客教育。創(chuàng)客教育是一種融合信息技術(shù),秉承“開放創(chuàng)新、探究體驗”教育理念,以“創(chuàng)造中學(xué)”為主要學(xué)習方式和以培養(yǎng)各類創(chuàng)新型人才為目的的新型教育模式[1]?;用襟w技術(shù)是創(chuàng)客教育主要依托的技術(shù)之一,其中Scratch作為面向兒童青少年的圖形化編程軟件,可有效培養(yǎng)兒童青少年的創(chuàng)造能力、創(chuàng)新思維和計算思維能力。中小學(xué)生可以通過Scratch創(chuàng)造自己的交互故事、游戲和仿真作品,并通過在線環(huán)境與全世界的編程者分享這些創(chuàng)作。Scratch教學(xué)本身也采用了“創(chuàng)造加分享”的方式,充分體現(xiàn)著“創(chuàng)客”精神,是創(chuàng)客教育課程中必不可少的重要內(nèi)容。
2006年,周以真教授重新提出并定義了計算思維,指出計算思維是運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維,是每個人都應(yīng)該掌握的基本技能,而不僅僅限于計算機科學(xué)家[2]。目前,計算思維已成為信息技術(shù)學(xué)科的核心素養(yǎng)之一[3],國內(nèi)各中小學(xué)已普遍開展了編程教學(xué),Scratch成為了培養(yǎng)中小學(xué)生計算思維的熱門工具。以下將基于計算思維三維框架理論,探究在Scratch課程中培養(yǎng)計算思維的教學(xué)模式。
二、計算思維三維框架理論
2012 年,美國麻省理工學(xué)院媒體實驗室(MIT)終身幼兒園研究小組(Lifelong Kindergarten Group)在多年研究 Scratch 在線社區(qū)、Scratch 教師工作坊以及互動媒體設(shè)計者的編程活動基礎(chǔ)上,提出了計算思維三維框架理論,它包括計算概念、計算實踐、計算觀念三個維度[4](見表1)。
上海師范大學(xué)教授王旭卿指出:我們可以將計算思維三維框架應(yīng)用于面向計算思維培養(yǎng)的教學(xué)設(shè)計,從而使計算思維培養(yǎng)真正融入課堂教學(xué)實踐過程中[5]。計算思維三維框架理論與我國的三維課程目標可以近似呼應(yīng),即計算概念、計算實踐、計算觀念分別對應(yīng)于知識與技能、過程與方法、情感態(tài)度與價值觀。
三、Scratch課程中的計算思維
在Scratch課程中,學(xué)生在編程、問題求解過程中體現(xiàn)其計算思維能力。根據(jù)計算思維三維框架理論,表1中提到的七個計算概念包含于Scratch的動作、外觀、聲音、畫筆、控制、偵測、數(shù)字和邏輯運算、變量八大指令中。這些對應(yīng)的是知識與技能。
在Scratch課程中,不僅要關(guān)注遞增和重復(fù)、 測試和調(diào)試、 再利用和再創(chuàng)作以及抽象和模塊化四組策略,還要關(guān)注學(xué)生在學(xué)習過程中的表現(xiàn)。計算實踐對應(yīng)過程與方法,教師需要充分利用有限的課堂時間,幫助和引導(dǎo)學(xué)生在設(shè)計作品和完成作品這個過程中獲得計算實踐能力(體現(xiàn)為Scratch編程能力)。
計算觀念是學(xué)生使用Scratch創(chuàng)建互動媒體的過程中形成的對自己與他人關(guān)系及周圍世界的理解,對應(yīng)情感態(tài)度與價值觀,這是一種有關(guān)人格塑造、思維習慣養(yǎng)成的學(xué)習結(jié)果。教師要引導(dǎo)學(xué)生形成良好的計算觀念。
四、基于計算思維培養(yǎng)的Scratch教學(xué)模式
Scratch這一編程工具需要通過“在設(shè)計中學(xué)習”的方式來掌握。教師要結(jié)合學(xué)生的具體情況,綜合使用案例教學(xué)法、常規(guī)講解法、任務(wù)驅(qū)動法等方法進行教學(xué)。
首先,要為學(xué)生創(chuàng)設(shè)恰當?shù)那榫?,引出主題,讓學(xué)生明確學(xué)習目標或任務(wù);其次,要根據(jù)教學(xué)目標,通過分析案例,讓學(xué)生理解并掌握案例中的算法。這是有關(guān)計算概念的兩個關(guān)鍵步驟。當學(xué)生明白算法之后,教師提出與案例相似的任務(wù),也可以就案例讓學(xué)生進行流程圖設(shè)計,使學(xué)生能夠把作品的功能、指令、情景等梳理通順。接下來就可以進行作品功能的詳細設(shè)計,包括情景設(shè)計、舞臺設(shè)計、角色設(shè)計和指令設(shè)計,這些步驟使搭建腳本變得更容易。完成作品后的展示過程,使學(xué)生可以鍛煉表達、交流的能力,回顧自己作品的制作過程并對他人作品進行評價。在整個過程中,教師要注重學(xué)生計算概念的掌握、計算實踐的錘煉和計算觀念的養(yǎng)成。
五、基于計算思維培養(yǎng)的Scratch教學(xué)案例
下面以“分支(判斷)結(jié)構(gòu)if else”一課為例說明Scratch教學(xué)模式,具體環(huán)節(jié)如下。
1.創(chuàng)設(shè)情境,明了主題。創(chuàng)設(shè)情境的目的是讓學(xué)生知道本節(jié)課的主題,激發(fā)學(xué)生的學(xué)習興趣。對于“分支(判斷)結(jié)構(gòu)if else”,教師可以從有關(guān)“判斷”的生活常識入手,讓學(xué)生知道“if else”的含義,如:如果走迷宮的時候沒有出路,那么同學(xué)們會掉頭走其他的路,否則就繼續(xù)走;如果吃的食物壞了,那么我們會扔掉,否則就留著……創(chuàng)設(shè)情境時要充分考慮學(xué)生的年齡及理解能力,要與學(xué)生的真實生活密切相關(guān),使他們明了主題。
2.案例分析,明白算法。案例分析的目的是讓學(xué)生在明了主題后能夠知道用什么樣的思路和算法完成作品,幫助學(xué)生掌握計算概念,即Scratch中的編程指令。教師要根據(jù)學(xué)生的理解能力,以恰當?shù)姆绞綆ьI(lǐng)學(xué)生分析案例。以“小貓與運動員賽跑”的動畫設(shè)計為例。教師向?qū)W生解釋任務(wù)(可配合演示已完成的動畫):小貓和運動員賽跑,運動員領(lǐng)先,當小貓追上運動員時,運動員說“你追上我啦!”,然后立即加速,再次與小貓拉開距離。教師需要引導(dǎo)學(xué)生明白如下思路和算法:小貓跑步,可通過原地重復(fù)執(zhí)行變換造型的指令實現(xiàn);按下空格鍵,使運動員移動,領(lǐng)先小貓一段距離(如100步);點擊綠旗后,程序開始執(zhí)行,運動員通過變換造型并移動,呈現(xiàn)出跑步的狀態(tài);由于小貓是原地“跑步”,所以“運動員被追上”的效果可以由“運動員向后移動”來實現(xiàn);當運動員退到小貓的位置(畫面效果是小貓追上了運動員),運動員說“你追上我啦!”,然后停止后退,執(zhí)行向前移動100步的指令,與小貓重新拉開距離(畫面效果是運動員加速再次領(lǐng)先小貓),如此循環(huán)往復(fù),表現(xiàn)出小貓與運動員你追我趕賽跑的情景。兩個角色的程序指令如圖1和圖2所示。其中重復(fù)執(zhí)行“下一個造型”,是為了使角色“跑”起來。
3.作品流程圖設(shè)計。案例分析后,學(xué)生對“if else”有了一定的理解。教師采用任務(wù)驅(qū)動法,引導(dǎo)學(xué)生通過換角色并增加角色、換對話內(nèi)容、換舞臺等,模仿或創(chuàng)造出應(yīng)用“if else”的作品。在學(xué)生設(shè)計和搭建腳本之前,要先在紙上畫出作品的流程圖。基礎(chǔ)較好或理解得更好的學(xué)生,能很快掌握流程圖,而對于基礎(chǔ)較差的學(xué)生,教師需要耐心講解,并給他們更多的時間在操作中體會。流程圖的掌握,使學(xué)生的計算實踐能力得到提高,邏輯思維能力得到增強。
4.作品功能設(shè)計和搭建腳本。作品功能設(shè)計包括角色設(shè)計、情境設(shè)計、舞臺設(shè)計和指令設(shè)計,需要學(xué)生發(fā)揮想象力,根據(jù)自己的想法設(shè)計作品功能。在作品流程圖和功能確定之后,搭建腳本階段才會順利,這也是學(xué)生計算實踐能力得以提升的階段。如一名學(xué)生設(shè)計了一個小貓和蝙蝠的動畫:蝙蝠飛行時撞到了小貓,趕快飛走了,而小貓卻嚇得邊跑邊喊“救命”(程序指令見圖3、圖4)。從中可見,學(xué)生已經(jīng)理解并掌握了“if else”指令的用法,且不乏有趣的想象和創(chuàng)新之處。
5.修改交流及分享。在完成作品之后,可采用小組內(nèi)討論的方式,針對過程中的問題進行交流,反復(fù)修改作品,展示自己小組的作品,或上傳到Scratch官網(wǎng),這個過程有助于學(xué)生綜合能力的提高和計算觀念的養(yǎng)成。
在上例中,學(xué)生來自四五年級,此前從未接觸過有關(guān)程序設(shè)計的課程,有的學(xué)生并非從一開始就有足夠的興趣或積極性,需要教師將教學(xué)與學(xué)生生活或感興趣的事物相結(jié)合,考慮學(xué)生的認知水平和個體差異,因人而異地提供指導(dǎo)。教師要給學(xué)生充分的體驗與練習的時間以及試錯的機會,要意識到完成任務(wù)不是最重要的,完成任務(wù)的過程更重要。
參考文獻
[1]楊現(xiàn)民,李冀紅.創(chuàng)客教育的價值潛能及其爭議[J].現(xiàn)代遠程教育研究,2015(2):23-34.
[2]牟琴,譚良.計算思維的研究及其進展[J].計算機科學(xué),2011(3):10-15.
[3]任友群,黃榮懷.高中信息技術(shù)課程標準修訂說明[J].中國電化教育,2016(3):1-3.
[4]Brennan K,Resnick M. New Frameworks for Studying and Assessing the Development of Computational Thinking[EB/OL]. [2013-10-05]http: web. media. mit. edu/~ kbrennan/ files/ Brennan_Resnick_ AERA2012_CT. pdf.
[5]王旭卿.面向三維目標的國外中小學(xué)計算思維培養(yǎng)與評價研究[J].電化教育研究,2014(7):48-51.
(責任編輯 郭向和)