蔡榮華 高薇
摘? 要 可視化編程工具已經(jīng)被用于中小學(xué)計(jì)算機(jī)科學(xué)教學(xué)中。探究Scratch和Lightbot兩種可視化編程工具對(duì)中小學(xué)生的作用,并考慮編程方法對(duì)開(kāi)發(fā)計(jì)算思維的影響。
關(guān)鍵詞 Lightbot;Scratch;可視化編程;計(jì)算思維
中圖分類(lèi)號(hào):G652文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2019)04-0074-04
Abstract Visual programming tools have been used in computer science teaching in primary and secondary schools. The purpose of this paper is to explore the Scratch and Lightbot two kinds of visual programming tools for primary and secondary school students, and?consider the programming approach to the development of computa-tional thinking.
Key words Lightbot; Scratch; visual programming; computational thinking
1 引言
當(dāng)前處在數(shù)字化時(shí)代,科技在人們的生活與工作中扮演著重要角色,計(jì)算機(jī)教育在世界各地的教育中受到越來(lái)越多的關(guān)注。兒童成為計(jì)算工具有效用戶的需求已經(jīng)引起對(duì)計(jì)算思維概念的重新審視。該術(shù)語(yǔ)最初由Papert使用,周以真將其描述為計(jì)算機(jī)科學(xué)家使用的解決問(wèn)題的過(guò)程。她表示,應(yīng)將其作為整個(gè)學(xué)校課程的基本技能進(jìn)行教學(xué)。自從周以真重新引入計(jì)算思維的概念之后,計(jì)算思維成為國(guó)際上許多學(xué)者研究的熱點(diǎn)。
編程工具被視為發(fā)展計(jì)算思維技能的手段,誘發(fā)了各種新工具的發(fā)布,如Scratch、Hopscotch、Kodable。Scratch仍然是兒童編程工具中使用最廣泛的一種,它從建構(gòu)主義和LOGO編程語(yǔ)言中獲得靈感。Papert通過(guò)思考程序設(shè)計(jì)理論,使學(xué)習(xí)者了解思維過(guò)程,他相信這些技能可以轉(zhuǎn)移到其他背景。Scratch通過(guò)基于塊的編程提供了一個(gè)建構(gòu)主義學(xué)習(xí)環(huán)境,學(xué)習(xí)者將指令塊組合起來(lái)形成程序。在Scratch編程中,研究人員確定了不同的方法。
2 計(jì)算思維
Seymour Papert最先提出計(jì)算思維的概念,作為其研究?jī)和绾瓮ㄟ^(guò)計(jì)算機(jī)編程發(fā)展程序思維的一部分。周以真重新引發(fā)了對(duì)計(jì)算思維的興趣,認(rèn)為“在閱讀、寫(xiě)作和算術(shù)之外,我們應(yīng)當(dāng)將計(jì)算思維加到每個(gè)孩子的解析能力之中”。此外,周以真建議教授計(jì)算機(jī)思維,使孩子們能夠以抽象和算法的方式學(xué)習(xí)與包括數(shù)學(xué)和科學(xué)在內(nèi)的許多學(xué)科相關(guān)的思維。她繼續(xù)將計(jì)算思維定義為“通過(guò)計(jì)算機(jī)科學(xué)的基本概念來(lái)解決問(wèn)題、設(shè)計(jì)系統(tǒng)和理解人類(lèi)行為”[1]。已經(jīng)有許多努力來(lái)證明計(jì)算思維中涉及的內(nèi)容。人們普遍認(rèn)為,它包含計(jì)算機(jī)科學(xué)家通常用于解決計(jì)算問(wèn)題的所有概念,但概念仍然需要討論。
總結(jié)七個(gè)最常見(jiàn)的概念[2],為計(jì)算思維下一個(gè)工作定義:抽象和概括(從問(wèn)題中刪除細(xì)節(jié)并用通用術(shù)語(yǔ)制訂解決方案);算法和程序(使用一系列步驟和規(guī)則來(lái)解決問(wèn)題);數(shù)據(jù)收集、分析和表示(使用和分析數(shù)據(jù)來(lái)幫助解決問(wèn)題);分解(將問(wèn)題分解成若干部分);并行性(同時(shí)發(fā)生多件事);調(diào)試、測(cè)試和分析(識(shí)別、刪除和修復(fù)錯(cuò)誤);控制結(jié)構(gòu)(使用條件語(yǔ)句和循環(huán))。這個(gè)過(guò)程有助于確定個(gè)人概念并提供對(duì)計(jì)算思維的更深入理解。這是在其余工作中使用的計(jì)算思維的定義,并將用于評(píng)估兩種編程工具的潛力,以開(kāi)發(fā)計(jì)算思維技能。
3 編程工具
Scratch? Scratch是為8~16歲的兒童設(shè)計(jì)的基于塊的編程工具,可以讓孩子們輕松創(chuàng)建短篇故事和游戲,字符可以添加到場(chǎng)景中,并通過(guò)組合指令塊給出行為。Scratch還執(zhí)行從左到右(讀取英文語(yǔ)言的方式)的指令,有觸摸屏使用的大按鈕,并且可以在場(chǎng)景頂部疊加網(wǎng)格以幫助兒童計(jì)算距離。數(shù)字參數(shù)值的最大值為25,孩子們可以通過(guò)按下它們來(lái)執(zhí)行單獨(dú)的指令,以幫助他們探索每條指令的功能(見(jiàn)圖1)。Scratch是根據(jù)幾種適合年齡的設(shè)計(jì)原則開(kāi)發(fā)的,上手更容易,但也為使用更復(fù)雜的概念(低地板和高天花板)提供了空間,允許探索的許多途徑和風(fēng)格,可通過(guò)實(shí)驗(yàn)(可修飾性)逐步開(kāi)發(fā)創(chuàng)意,界面更加友好和好玩,可以用于廣泛的學(xué)習(xí)成果(課堂支持)。Scratch旨在“通過(guò)修補(bǔ)和協(xié)作來(lái)支持自主學(xué)習(xí)”,并要求應(yīng)用計(jì)算思維概念。
Lightbot? Lightbot是一款益智游戲。玩家必須在有限的程序空間中安排一套固定的基于塊的指令,告訴機(jī)器人該做什么(見(jiàn)圖2)。目標(biāo)是對(duì)機(jī)器人進(jìn)行編程,將某個(gè)關(guān)卡中的所有藍(lán)色塊變成黃色塊。這是通過(guò)將機(jī)器人導(dǎo)航到藍(lán)色塊并執(zhí)行燈光命令完成的。玩家可以將一個(gè)關(guān)卡分解成不同的部分,然后一個(gè)接一個(gè)地解決,直到他們擁有完整的解決方案。一些較低的級(jí)別只能通過(guò)正確使用程序和條件來(lái)完成。對(duì)于程序,玩家可以在主程序下方的其他程序空間中使用特殊說(shuō)明來(lái)調(diào)用,條件是通過(guò)使用涂色工具實(shí)現(xiàn)的。該工具為機(jī)器人著色,以便只執(zhí)行該顏色的指令。Gouws、Bradshaw和Wentworth認(rèn)為L(zhǎng)ightbot對(duì)于練習(xí)計(jì)算思維非常有用,它專注于使用計(jì)算思維作為解決問(wèn)題的過(guò)程,并且玩家會(huì)因?yàn)橥ㄟ^(guò)獲得最佳解決方案而獲得獎(jiǎng)勵(lì)。
4 案例分析
目的和假設(shè)? 這是一項(xiàng)探索性研究,利用兩種不同的編程范式來(lái)檢驗(yàn)兒童的編程方法。盡管形成了一些假設(shè),但該研究主要是為了確定可能成為未來(lái)研究重點(diǎn)的問(wèn)題。根據(jù)現(xiàn)有文獻(xiàn)形成三個(gè)假設(shè):1)Scratch的編程接口會(huì)比Lightbot接口帶來(lái)更多的“修補(bǔ)”;2)Scratch的編程接口可以改進(jìn)解決問(wèn)題的任務(wù);3)更高能力的玩家將從Scratch的編程界面中受益更多。
研究對(duì)象? 研究參與者包括年齡在十二三歲的20名男孩和20名女孩。
研究過(guò)程? 為這項(xiàng)研究創(chuàng)建兩個(gè)版本風(fēng)格的游戲,一個(gè)使用Lightbot編程接口,另一個(gè)使用Scratch的接口(見(jiàn)圖3)??梢詫⒅噶钐砑拥匠绦蛑校擎溄拥接|發(fā)塊(參見(jiàn)表1),否則指令將不會(huì)執(zhí)行。游戲有15個(gè)等級(jí),它從簡(jiǎn)單的級(jí)別開(kāi)始,只需要前進(jìn)和燈光指示;之后的級(jí)別會(huì)引入更復(fù)雜的移動(dòng)和多個(gè)燈光級(jí)別。難度級(jí)數(shù)的設(shè)計(jì)是為了能夠挑戰(zhàn)目標(biāo)年齡組中更有能力的孩子。
創(chuàng)建兩組20名參與者,然后每個(gè)小孩在一間與兒童教室相連的小型閱覽室玩一個(gè)游戲版本30分鐘。兩臺(tái)筆記本電腦彼此背對(duì)背,這樣每個(gè)小組的一個(gè)孩子可以在不知道自己的同班同學(xué)使用不同版本的情況下玩游戲。一起測(cè)試條件意味著任何無(wú)關(guān)變量(如一天中的時(shí)間)均會(huì)對(duì)兩組產(chǎn)生影響。所有參與者都通過(guò)教程視頻獲得統(tǒng)一的游戲介紹。被用來(lái)探索參與者如何使用每個(gè)版本的游戲的一系列數(shù)據(jù):1)程序操作,添加、移動(dòng)和刪除每次嘗試的指示;2)參與者完成某個(gè)級(jí)別所需的嘗試次數(shù);3)每個(gè)參與者達(dá)到的最高水平;4)參與者每次嘗試所花費(fèi)的時(shí)間;5)參與者完成一個(gè)級(jí)別所花費(fèi)的時(shí)間。
總體的表現(xiàn)使用每個(gè)參與者達(dá)到的最高水平來(lái)進(jìn)行測(cè)量。這可以結(jié)合程序操作來(lái)探索這兩個(gè)條件對(duì)整體性能的影響。還收集了其他績(jī)效指標(biāo)的數(shù)據(jù),如參與者完成某個(gè)級(jí)別所需的嘗試次數(shù)以及完成該級(jí)別所需的時(shí)間。這些措施可以用來(lái)顯示這兩場(chǎng)比賽是否與預(yù)期相似。
研究結(jié)果? 編程界面是這兩款游戲之間的唯一區(qū)別。對(duì)各組之間的整體表現(xiàn)度量進(jìn)行獨(dú)立的T檢驗(yàn)(見(jiàn)表2)。平均而言,Lightbot玩家在30分鐘內(nèi)達(dá)到略高于Scratch玩家的水平,但這種差異并不顯著,t(38)=0.54,p=0.59。Scratch玩家花費(fèi)的時(shí)間比Lightbot玩家稍多一些(以秒為單位),再次差異不顯著,t(38)=-1.12,p=0.27。最后,Scratch玩家比Lightbot玩家的平均攻擊次數(shù)更少,這種差異并不顯著,t(38)=.98,p=.33。
討論? 結(jié)果顯示,這兩款游戲的整體表現(xiàn)都相似,參與者達(dá)到相似的水平,在每個(gè)水平上花費(fèi)了相似的時(shí)間,并嘗試完成每個(gè)水平。鑒于編程接口是兩個(gè)版本之間的唯一區(qū)別,也可以說(shuō)游戲提供了一個(gè)合適的挑戰(zhàn)水平,因?yàn)樗袇⑴c者至少完成了游戲的第三級(jí),大約三分之一的參與者達(dá)到或完成最后一級(jí)。
通過(guò)添加、移動(dòng)和刪除指令來(lái)衡量,各組之間的程序操作量存在顯著差異。Scratch狀態(tài)的參與者每次嘗試的操作次數(shù)比Lightbot狀態(tài)中的參與者多1.9倍,他們平均花費(fèi)1.4倍的時(shí)間來(lái)制定每次嘗試。這些發(fā)現(xiàn)符合Scratch設(shè)計(jì)的建構(gòu)主義原則,并與“以工作進(jìn)行指導(dǎo)而不是停留在預(yù)先制訂的計(jì)劃”的觀點(diǎn)相一致。
5 兩種編程工具的比較
使用前一節(jié)中的定義(表3)分析這些工具對(duì)計(jì)算思維的支持,由此可以得出結(jié)論:這兩種工具都鼓勵(lì)計(jì)算思維,他們都使用第二部分中確定的幾乎所有通用計(jì)算思維概念;唯一的區(qū)別是Lightbot不支持并行性。
盡管它們有相似之處,但在Scratch和Lightbot中使用的可視化編程范例之間存在特定的操作差異。在Scratch中,可以在程序空間中添加無(wú)限數(shù)量的塊,除非這些塊鏈接到觸發(fā)塊或單獨(dú)按下才能執(zhí)行它們,否則不會(huì)執(zhí)行這些塊。在Lightbot中,播放按鈕根據(jù)主程序中的順序執(zhí)行。Lightbot還會(huì)根據(jù)當(dāng)前級(jí)別限制程序中的指令數(shù)量。正是這種運(yùn)營(yíng)差異導(dǎo)致探索中小學(xué)如何使用這些工具,以及他們是否支持根本不同的編程方法。
6 結(jié)語(yǔ)
本文探究Scratch和Lightbot兩種可視化編程工具對(duì)中小學(xué)生的作用,但仍然需要更多的研究來(lái)確定中小學(xué)生如何使用編程工具以及它們?nèi)绾斡绊懰麄兘鉀Q問(wèn)題和計(jì)算思維能力的發(fā)展;還考察了計(jì)算思維的現(xiàn)有定義(和期望),未來(lái)研究更要側(cè)重于計(jì)算思維中涉及的各個(gè)概念。研究編程工具是否可用于開(kāi)發(fā)諸如分解、抽象和算法思維等概念,是今后探索的一個(gè)方向。
參考文獻(xiàn)
[1]WingJM. Computational Thinking[J].Communications of the ACM,2006(3):34-35.
[2]BarrV, StephensonC.Bringing Computational Thinking to K-12: What is Involved and What is the Role of theComputer Science Education Community?[J].ACM Inroads,2011(1):48-54.
[3]朱麗彬,金炳堯.Scratch程序設(shè)計(jì)課教學(xué)實(shí)踐研究:基于體驗(yàn)學(xué)習(xí)圈的視角[J].現(xiàn)代教育技術(shù),2013(7):30-33.
[4]焦建利.可視化編程應(yīng)用:讓兒童快樂(lè)地學(xué)編程[J].中國(guó)信息技術(shù)教育,2014(7):16-17.
[5]陶媛.芬蘭啟動(dòng)新項(xiàng)目為兒童學(xué)習(xí)計(jì)算機(jī)編程提供機(jī)會(huì)[J].世界教育信息,2014(5):77.
[6]姚鵬閣,顏磊,楊陽(yáng),等.樹(shù)莓派教育應(yīng)用:兒童編程能力培養(yǎng)的新途徑[J].現(xiàn)代教育技術(shù),2015(10):113-118.