• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Scratch直觀化編程特征及實例解讀

      2016-09-10 07:22:44王蘇明鐘柏昌李藝
      關(guān)鍵詞:腳本控件積木

      王蘇明 鐘柏昌 李藝

      近年來,Scratch積木式編程工具在國內(nèi)中小學(xué)信息技術(shù)教育領(lǐng)域蓬勃發(fā)展,越來越多的地區(qū)和教師個人都加入到Scratch的教學(xué)與研究中來。Scratch之所以從起步的星星之火發(fā)展至如今的燎原之勢,與其本身的特點密不可分,國內(nèi)外研究者也從不同層面給予了解讀。首先,從一門編程語言的基本生存條件來看,它完全滿足低門檻、高上限、寬壁壘 [1]這三個要求。其次,從一門編程語言自身發(fā)展來看,在其歷代版本更新與優(yōu)化中,它始終堅持了三條核心原則:程序更易修改、項目更有意義、社交氛圍更濃厚。[2]最后,從一門編程語言給使用者帶來的用戶體驗來看,它操作簡單、指令積木化,“放棄”語法、接口標(biāo)準(zhǔn)化,所見即所得、程序可視化等。這些優(yōu)點反映在學(xué)生學(xué)習(xí)Scratch程序的過程中,他們最直觀的感受就是“直觀化編寫流程”與“直觀化調(diào)試過程”。本文嘗試就這兩個特點進行詳細解析,并結(jié)合案例闡述其在教學(xué)中的應(yīng)用。

      概念解析

      1.直觀化編寫流程

      直觀化編寫流程是Scratch區(qū)別于其他代碼式編程語言的一個重要方面,具體體現(xiàn)在多個方面。

      一是指令積木化,不需要記憶抽象的程序語句。在Scratch中,指令集、數(shù)據(jù)與運算符及程序結(jié)構(gòu)均以積木式呈現(xiàn),免去了枯燥的語句記憶,無疑為使用者減輕了負擔(dān)。

      二是語法直觀化,不需要記憶抽象的語法規(guī)則。Scratch的程序元素被具化成形狀各異的積木,這些積木不僅直觀易懂,而且將語法規(guī)則固化在積木的形狀之中,只有接口“相洽”的積木才能被連接。這樣別具匠心的設(shè)計,消弭了因各種語法規(guī)則而形成的隱形壁壘,學(xué)生幾乎是在忘卻語法規(guī)則存在的狀態(tài)下,自然習(xí)得規(guī)范編程的方法。

      三是程序流程化,不需要理解抽象的程序邏輯。腳本的搭建與執(zhí)行均符合自頂向下的順序,符合日常的做事經(jīng)驗,程序意圖和功能不僅方便實現(xiàn),而且易于理解。

      這些特點帶來的好處也是顯而易見的:其一,學(xué)生的創(chuàng)作想法,通過自然語言表達可以較為容易地轉(zhuǎn)化成Scratch編程語言,完成腳本搭建實現(xiàn)其創(chuàng)意;其二,為學(xué)生運用指令集按照一定的“程序”去解決問題提供了便利;其三,這種邏輯清晰的表達在一定程度上已經(jīng)替代了流程圖的功能,即便是小學(xué)生在閱讀他人的腳本時也能較好地理解;此外,直觀化編寫流程的特點,對于學(xué)生體驗抽象與建模的過程,促進抽象思維與可視化思維的發(fā)展都提供了極大的幫助。

      2.直觀化調(diào)試過程

      Scratch直觀化特點還表現(xiàn)在直觀化的調(diào)試過程,其特點體現(xiàn)在:一是具有按“塊”執(zhí)行的功能,Scratch的每一個積木塊都可以單擊運行,直觀地看到代碼段的運行結(jié)果;二是具有分“段”調(diào)試的功能,在Scratch中,一個腳本可以完成多個功能,我們可以將積木塊按功能分段,分段排查。

      這種直觀化調(diào)試體驗不僅便于初學(xué)者快速接受和熟悉一門新的編程語言,對于熟練者也可以輕松自由地調(diào)試復(fù)雜程序?qū)崿F(xiàn)各種創(chuàng)意,而直觀的分塊分段調(diào)試過程也有助于學(xué)生模塊化思維的培養(yǎng)。

      應(yīng)用舉例

      本文以Scratch程序設(shè)計的部分課例教學(xué)為例,試說明上述特點在實際教學(xué)中是如何應(yīng)用的。

      1.利用“任務(wù)—指令—序化”程序設(shè)計思想理解直觀化編寫流程的本質(zhì)

      盡管Scratch具有直觀化的編寫流程,但對于新手而言,依然需要在教學(xué)中進行適當(dāng)?shù)囊龑?dǎo),以理解這種直觀化的腳本編寫方式的實質(zhì)。就基礎(chǔ)教育階段的程序設(shè)計教育而言,必須以兒童能夠理解的方式來介紹程序設(shè)計的本質(zhì)。我們認為,建立在“任務(wù)—指令—序化”概念之上的程序設(shè)計和面向?qū)ο蟮某绦蛟O(shè)計(對象—事件—行為)都可以稱之為程序設(shè)計的“思想”。[3]實際上,Scratch直觀化的編寫流程充分體現(xiàn)了由任務(wù)到指令再到序化的腳本編寫流程。

      例1:《智能倒車》之方案獲得

      【情境描述】小汽車已成為我們生活中重要的交通工具,但倒車對于很多新手司機來說不是件容易的事,在給定車位和倒車引導(dǎo)線的情況下,你能設(shè)計出智能倒車系統(tǒng)嗎?今天我們嘗試利用Scratch來模擬實現(xiàn)這一任務(wù)。程序界面如圖1所示。

      圖1 智能倒車

      【案例解析】問題情境中有確定的條件即固定車位和倒車引導(dǎo)線,解決方案可嘗試由學(xué)生討論獲得。學(xué)生討論的結(jié)果大致可歸納如下:智能倒車系統(tǒng)要能使小汽車在倒車過程中自動調(diào)整方向,到達車位后可自動停止。這需要Scratch可以做出以下判斷:小汽車左后側(cè)碰到黃色線可左轉(zhuǎn);右后側(cè)碰到黃色線可右轉(zhuǎn);后部碰到藍線時停車;轉(zhuǎn)換成Scratch語言就是“如果偵測到……就……”“接收到……廣播……”按照這樣的“程序”去解決問題,可能需要用到的積木塊有:重復(fù)、條件、偵測、廣播、旋轉(zhuǎn)、停止等。由此可見,Scratch的直觀化編寫流程特點對于“任務(wù)—指令—序化”這一程序設(shè)計思想的實踐也是很好的支持。

      2.利用學(xué)習(xí)支架支持直觀化編寫流程的實現(xiàn)

      學(xué)生不僅要理解直觀化編寫流程的實質(zhì),而且要真正熟練做到利用直觀化流程編寫腳本。這就需要教師采用某種方式來幫助學(xué)生梳理“任務(wù)—指令—序化”的內(nèi)容,即幫助學(xué)生梳理問題解決的過程,并從自然語言的描述轉(zhuǎn)化為Scratch的腳本編寫流程。在這里,學(xué)習(xí)支架的使用就顯得極為必要。從使用目的來看,學(xué)習(xí)支架可以分為接收支架、轉(zhuǎn)換支架和輸出支架。其中,轉(zhuǎn)換支架用來幫助學(xué)生轉(zhuǎn)換所獲得的信息,使所學(xué)的知識更為清晰、易于理解,或使劣構(gòu)的信息結(jié)構(gòu)化,尤其適用于支持原理性和方法性內(nèi)容的學(xué)習(xí),如算法與程序設(shè)計類知識的學(xué)習(xí)。[4]我們利用任務(wù)分析表作為轉(zhuǎn)換支架,幫助學(xué)生梳理任務(wù)元素和解決過程,使之與Scratch的直觀化編寫流程產(chǎn)生關(guān)聯(lián)。

      例2:《狐假虎威》之任務(wù)分析表

      【情境描述】

      任務(wù)分析表1

      主題 老虎跟隨狐貍出場

      背景 森林

      角色 老虎、狐貍、小猴、鴨子、小狗

      角色行為 狐貍:從左邊進入屏幕,停在合適位置。

      老虎:在狐貍之后,從左邊進入屏幕,停在合適位置。

      操作步驟 1.打開“狐假虎威半成品”文件

      2.為狐貍和老虎設(shè)置初始狀態(tài)

      3.實現(xiàn)狐貍從左邊進入屏幕的效果

      4.實現(xiàn)老虎從左邊進入屏幕的效果

      5.調(diào)整兩者進入屏幕的時間差,實現(xiàn)“老虎跟隨狐貍出場”的效果

      6.測試與保存

      任務(wù)分析表2

      主題 小動物們逃走

      背景 森林

      角色 老虎、狐貍、小猴、鴨子、小狗

      角色

      行為 小猴:在距離老虎200單位時,發(fā)現(xiàn)老虎,發(fā)出信號并向右移出屏幕逃走。

      鴨子:在收到小猴的信號后,向右移出屏幕逃走。

      小狗:在收到小猴的信號后,向右移出屏幕逃走。

      操作

      步驟 1.為小猴添加腳本,實現(xiàn)上述角色行為

      2.為鴨子添加腳本,實現(xiàn)上述角色行為

      3.為小狗添加腳本,實現(xiàn)上述角色行為

      4.測試與保存

      【案例解析】狐假虎威是學(xué)生都很熟悉的寓言故事,學(xué)生用自然語言描述該故事完全沒有問題,任務(wù)分析表通過對角色行為的分析與操作步驟的羅列,完成了自然語言與Scratch編程腳本之間的轉(zhuǎn)換。在學(xué)生每次動手制作之前進行這種轉(zhuǎn)換訓(xùn)練,很好地鍛煉了學(xué)生的邏輯分析能力。事實上,這種自然語言轉(zhuǎn)換為編程語言的過程,也是抽象與建模的過程,Scratch特有的直觀化編寫流程特點對于學(xué)生抽象與建模能力的培養(yǎng)大有裨益。

      3.利用“分塊”調(diào)試程序

      例3:顏色偵測

      【情境描述】通過顏色偵測,判斷大嘴巴是否與豆子相遇。如相遇,廣播被抓獲,并計1分。有A生求助,其程序與小組內(nèi)B生的完全一樣,B生程序運行正常,他卻沒有成功。我檢查了他的腳本(如圖2),確實無誤。問他:“分‘塊’檢查了嗎?”他答:“能查的都查了。”再問:“偵測也查過了?”他茫然:“這怎么查?”問組內(nèi)其他學(xué)生,均告不知。我示意全班一起看這個問題?!霸鯓訂为氄{(diào)試某一偵測控件?”C生舉手說:“我知道!”于是向全班轉(zhuǎn)播A生屏幕,C生操作:將A生程序中的顏色偵測控件從條件中拉出,單擊,控件右上方出現(xiàn)提示框“false”。我問學(xué)生是何故,再問:“如何驗證A生的偵測是否正確?”他又將大嘴巴和豆子拖曳至一起,再次單擊顏色偵測控件,仍然提示“false”。C生:“這就是大嘴巴不吃豆子的原因,這個偵測并不能起到判斷相遇的作用,應(yīng)該是顏色選取有問題?!彼匦绿崛〈笞彀秃投棺拥念伾俅螁螕纛伾珎蓽y,出現(xiàn)提示“true”,說:“應(yīng)該沒問題了?!睖y試程序,成功執(zhí)行。至此,問題解決。

      圖2 A生的豆子腳本

      【案例解析】因為色差較小的緣故,學(xué)生肉眼觀察確實不易發(fā)現(xiàn)顏色不對。正是Scratch的“分塊”調(diào)試特點,幫助我們“明察秋毫”,將這些原本很難發(fā)現(xiàn)的錯誤直觀地展示出來。在平常的學(xué)習(xí)中,學(xué)生可能較多關(guān)注動作、外觀等模塊控件的“分塊”調(diào)試,忽略了偵測等其他模塊的應(yīng)用。教師在教學(xué)中應(yīng)多加提示,充分運用Scratch的直觀調(diào)試功能,對我們調(diào)試程序很有幫助。

      4.利用“分段”調(diào)試程序

      例4:偵測之變量困惑

      【情境描述】要求為飛行器添加腳本,使之可以在有限空間躲避若干無序飛行的障礙物,若飛行器被擊中4次,游戲結(jié)束。在搭建飛行器的過程中,有不少學(xué)生都出現(xiàn)了共性問題:被1個障礙物擊中后,游戲立即結(jié)束。其腳本如圖3所示。

      【案例解析】我先請學(xué)生將這段程序按功能分成3段:跟隨鼠標(biāo)移動,碰到障礙物偵測,游戲結(jié)束偵測。隨后進行分段測試,飛行器能夠執(zhí)行跟隨鼠標(biāo)移動,操控程序沒有問題。當(dāng)健康度為0時,游戲可以正常停止,結(jié)束偵測也沒有問題。顯而易見的是,碰到障礙物偵測出了問題。為便于調(diào)試,我們將結(jié)束偵測模塊斷開,再次將飛行器移過障礙物,發(fā)現(xiàn)在此過程中,健康度一直在減少。問題找到了:從碰到障礙物到離開障礙物的這一瞬間,循環(huán)體內(nèi)的控件會不停地執(zhí)行。有了明確的問題,就可以想辦法解決了:添加控件。直觀的分段調(diào)試過程使得“自下而上的修補”這一看似隨意的探索實驗式學(xué)習(xí)方式,在帶給學(xué)生舒適學(xué)習(xí)體驗的同時,也獲得了解決問題的方法。正如美國MIT終身幼兒園研究小組主任雷斯尼克教授在2012年TED主題演講《讓我們教孩子學(xué)編程吧》中指出,學(xué)習(xí)編程的意義在于“學(xué)習(xí)編程,并在編程中學(xué)習(xí)(Learning to code,coding to learn)”。

      Scratch軟件作為一款優(yōu)秀的兒童編程工具,進入中小學(xué)信息技術(shù)課堂的時間并不算長,其教材教法仍有很多值得我們探尋之處。本文僅從Scratch程序之直觀化編寫流程與直觀化調(diào)試過程的特點出發(fā),試舉例說明其在實際教學(xué)中的應(yīng)用方法,以期拋磚引玉,共同提高。

      參考文獻

      Resnick,M.,Maloney,J.etc.Scratch:Programming for All[DB/OL].http://cacm.acm.org/magazines/2009/11/48421-scratch-programming-for-all/fulltext,2015-10-01.

      李藝,鐘柏昌.重構(gòu)信息技術(shù)課程——從經(jīng)驗選擇走向思想投射[J].電化教育研究,2015(10).

      鐘柏昌.論支架理論視野下的局部探究教學(xué)模式[J].中國電化教育,2011(1).

      (作者單位:江蘇南京市天妃宮小學(xué) 南京師范大學(xué)教育科學(xué)學(xué)院 南京師范大學(xué)教育科學(xué)學(xué)院)

      猜你喜歡
      腳本控件積木
      酒駕
      這塊積木能給我嗎
      安奇奇與小cool 龍(第二回)
      星鉆積木
      玩具世界(2020年4期)2020-11-16 01:06:10
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      快樂假期
      有趣的積木
      玩積木
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      白水县| 东平县| 株洲县| 吉林市| 毕节市| 达州市| 安庆市| 河曲县| 达日县| 科技| 邯郸市| 黄骅市| 彭泽县| 德庆县| 巴里| 马关县| 惠来县| 元阳县| 岳池县| 通州市| 平湖市| 大厂| 尉氏县| 嘉义县| 仁化县| 册亨县| 开化县| 翁牛特旗| 德庆县| 天长市| 察隅县| 绥化市| 阜南县| 桂林市| 鄂托克旗| 商城县| 凤阳县| 岐山县| 陇西县| 旬邑县| 阿拉善右旗|