張舒馳
[摘 要]Scratch是小學(xué)階段無編程基礎(chǔ)下學(xué)習(xí)程序設(shè)計(jì)制作的最佳軟件,這款軟件通過各種類型控件組合搭建的方法,實(shí)現(xiàn)程序的設(shè)計(jì)制作。所有人都可以將其作為學(xué)習(xí)編程的入門軟件,開發(fā)各種有趣的交互式動畫,在Scratch社區(qū)平臺上公開發(fā)布自己的作品。這款可視化編程軟件的引入,對培養(yǎng)學(xué)生創(chuàng)新、合作、分享的能力具有積極的意義。而Scratch編程教學(xué)需要與小學(xué)生心理特點(diǎn)相結(jié)合。
[關(guān)鍵詞]小學(xué);Scratch;信息技術(shù)
Scratch編程部分屬于《中小學(xué)信息技術(shù)課程指導(dǎo)綱要》中的程序設(shè)計(jì)模塊,能夠適時(shí)地為學(xué)生引入程序設(shè)計(jì)的思想,使學(xué)生掌握一些基本的的編程方法,讓學(xué)生理解運(yùn)用信息技術(shù)處理和解決問題的方法,為學(xué)生在信息技術(shù)領(lǐng)域的個(gè)性發(fā)展提供必要的支持。在小學(xué)階段,程序設(shè)計(jì)的目標(biāo)是讓學(xué)生在自己動手創(chuàng)作的過程中體驗(yàn)編程的快樂,表達(dá)自己的想法,并同其他伙伴共享交流。相比于傳統(tǒng)的C++、VB、Pascal等編程語言,Scratch更加易于激發(fā)小學(xué)生的學(xué)習(xí)興趣,培養(yǎng)其實(shí)際應(yīng)用能力。以下結(jié)合筆者的教學(xué)經(jīng)驗(yàn),探討如何在Scratch的教學(xué)中激發(fā)學(xué)生興趣、創(chuàng)新思維與合作意識。
一、Scratch程序簡介及特點(diǎn)
Scratch 是一款由麻省理工學(xué)院(MIT)設(shè)計(jì)開發(fā)的面向少年兒童的簡易編程工具。由“終身幼兒園團(tuán)隊(duì)(Lifelong Kindergarten Group)”開發(fā),2012年開始在國內(nèi)普及,根據(jù)8歲以上兒童的認(rèn)知發(fā)展水平及對于可視化界面的興趣,MIT對此做了深入研究和針對性較強(qiáng)的開發(fā)設(shè)計(jì)[1]。這款程序簡單,即學(xué)即會,特別適合沒有任何編程基礎(chǔ)的人。Scratch界面友好,內(nèi)置素材生動活潑,不同于以往編程的純代碼界面,而是采用內(nèi)置程序模塊,可用組合搭建的方式實(shí)現(xiàn)編程,簡單易用,這是該軟件最明顯的優(yōu)勢。
1.操作簡易,內(nèi)涵豐富。Scratch程序所見即所得,編制程序的過程被稱為“搭積木”,通過這種搭積木的方法將各種命令模塊進(jìn)行組合。兒童在創(chuàng)作程序的時(shí)候如同在搭積木,以至于在入門階段不必弄清積木命令所代表的具體含義,不需要復(fù)雜的編程思維,就可以編寫出有趣的程序腳本。Scratch看似簡單,但卻包括上百種“模塊”可供兒童使用,分為建模、控制、動畫、事件、邏輯、運(yùn)算等八大類,涉及程序設(shè)計(jì)的多個(gè)方面,使兒童在編程過程中可以得到多種能力的鍛煉。此外,程序自帶角色及背景資源庫,兒童也可以依照自己的喜好與想象去創(chuàng)建各種角色和場景。
2.分享作品,獲得支持。Scratch具有一個(gè)共享與支持的官方網(wǎng)站,是一個(gè)規(guī)模龐大的分類主題學(xué)習(xí)社區(qū),里面有上百萬來自世界各地的用戶,包含200萬件以上的Scratch作品。兒童可以在Scratch官方網(wǎng)站學(xué)習(xí)、欣賞他人的作品,自己也可以將作品發(fā)布到這個(gè)網(wǎng)站上,方便了兒童的交流與創(chuàng)作。最新版本的Scratch2.0又增加了很多功能,如“云++”功能,可以幫助學(xué)生更好地理解“云”的概念,更便于管理和交流作品、組織創(chuàng)作教學(xué)等。
3.功能強(qiáng)大,擴(kuò)展性強(qiáng)。Scratch除了具備制作一般的動畫、交互式程序功能之外,還可以借助硬件設(shè)備如Arduino等開源主板,使學(xué)生可以自由搭接各類傳感器、馬達(dá)、燈泡、喇叭,甚至家用電器、手機(jī)等。所以Scratch程序在接口如此豐富的平臺上,使學(xué)生可以創(chuàng)造出各種有趣的創(chuàng)客作品、智能設(shè)備等,成為實(shí)施創(chuàng)客教育的一個(gè)重要工具和入門課程,利用工具完成設(shè)計(jì)的過程本身就充滿了創(chuàng)客精神。
二、Scratch課堂教學(xué)實(shí)踐
在Scratch教學(xué)實(shí)踐中,為了讓學(xué)生以游戲的輕松心態(tài)學(xué)習(xí),并體驗(yàn)成功與快樂,筆者會對教材的標(biāo)題和內(nèi)容進(jìn)行適當(dāng)改編,使其更具趣味性、故事性和開放性。如把《移動和旋轉(zhuǎn)》改編為《大魚吃小魚》,把《快樂的小貓》改編為《小貓投籃》等。教學(xué)中不過分強(qiáng)調(diào)命令的規(guī)整與模式,而以完成愉快的游戲性項(xiàng)目為目標(biāo),在潛移默化中提升學(xué)生的Scratch編程能力。下面將以《小貓投籃》為例介紹這一教學(xué)過程。
1.提出主題,設(shè)計(jì)思路。教師先與學(xué)生一起觀看NBA比賽投籃的視頻花絮,之后引出本課主題:Scratch軟件的主角小貓,希望扮演NBA的球星,我們要幫助它實(shí)現(xiàn)這個(gè)愿望。接著依次提出以下問題請學(xué)生思考:小貓需要做哪些動作?怎樣控制小貓的動作?小貓?jiān)鯓硬趴梢酝端{(lán)?投籃以后怎樣控制籃球的運(yùn)動軌跡?學(xué)生回答:小貓要能夠拍球,要能夠運(yùn)球,要能夠投籃。我們可以通過鍵盤或者鼠標(biāo)來控制小貓和籃球的動作和軌跡。教師又問:除了小貓這個(gè)角色,還需要其他角色嗎?學(xué)生回答:籃球、球場!于是教師請學(xué)生拿出紙筆畫出游戲草圖,要求包含背景、角色、比賽的運(yùn)動方式、要用到的控制鍵。學(xué)生自主設(shè)計(jì)后,依次展示游戲設(shè)計(jì)的概念圖(見圖1)。
NBA視頻讓投籃的動作更加清晰,舞臺草圖使“小貓投籃”游戲的結(jié)構(gòu)、對象、動作一目了然,可鍛煉學(xué)生系統(tǒng)規(guī)劃設(shè)計(jì)的能力。
2.范例研習(xí),模仿制作。在這個(gè)環(huán)節(jié),教師先示范一種移動的操作方法,隨后讓學(xué)生模仿制作出其他方向的控制腳本,從而順利地實(shí)現(xiàn)小貓和籃球的移動。隨后,根據(jù)籃球運(yùn)行的軌跡特點(diǎn),引入移動到坐標(biāo)的概念,完成投籃的動作。通過簡易流程圖的出示,讓學(xué)生的程序結(jié)構(gòu)思想得到進(jìn)一步鍛煉。
3.擴(kuò)展延伸,合作創(chuàng)新。Scratch的核心理念是想象,但在初學(xué)階段就讓小學(xué)生獨(dú)立創(chuàng)新不現(xiàn)實(shí),這時(shí)教師提供的資源庫及方案很重要,使學(xué)生能夠熟悉運(yùn)用各種“零件”并靈活組裝“零件”,這才符合Scratch模塊化、可視化編程的理念。很多創(chuàng)意和想象實(shí)際上就是由若干模塊組合而成的,通過這些“零件”,為學(xué)生創(chuàng)新提供腳手架,使他們的創(chuàng)意得以實(shí)現(xiàn)。如在完成了“小貓投籃”游戲后,教師問如何使游戲變得更有趣,學(xué)生提出可以增加籃球的特殊效果、可以增加另外一只小貓和它打比賽、可以將投籃換成足球射門……這時(shí)教師自然地引出“百寶箱”腳本庫,使學(xué)生可以根據(jù)自己的創(chuàng)意,選擇腳本進(jìn)行創(chuàng)作。“百寶箱”中包括各種不同動作及特殊效果的腳本截圖文件,學(xué)生也可以自主創(chuàng)作設(shè)計(jì)新的腳本。
4.成果分享,體驗(yàn)交流。學(xué)生完成并運(yùn)行程序,改進(jìn)作品。然后每個(gè)小組選出一個(gè)代表作品,在全班進(jìn)行演示直播。演示完畢后,每位學(xué)生通過在線評分系統(tǒng)提交作品,得出每組作品的成績。同學(xué)會對作品進(jìn)行評價(jià)總結(jié),教師也會點(diǎn)評。最后被推薦的作品,可上傳到Scratch官方網(wǎng)站。這是一個(gè)學(xué)生體會分享的快樂、成功的喜悅,交流學(xué)習(xí)優(yōu)秀創(chuàng)意的環(huán)節(jié)。即便沒有被推薦為優(yōu)秀作品,也可增強(qiáng)學(xué)生的小組合作榮譽(yù)感。為避免機(jī)會不均,在之后的作品展示中,已經(jīng)被選出參評過的學(xué)生不參加評選,直到小組內(nèi)每個(gè)人的作品都有機(jī)會代表小組參評和上傳。這樣使每個(gè)學(xué)生都有機(jī)會充分展示自己。
三、對Scratch課堂教學(xué)的思考
1.增加趣味性,使學(xué)生快樂學(xué)習(xí)。寓教于樂,才能讓教學(xué)事半功倍。Scratch功能強(qiáng)大,可設(shè)計(jì)并開發(fā)各種類型的作品,如游戲、故事、音樂等。教師要善于從學(xué)生的日常生活中發(fā)現(xiàn)他們的興趣點(diǎn),如學(xué)生喜歡看的動畫片、喜歡玩的游戲等,從中尋找素材,融入教學(xué),讓學(xué)生感興趣,并在學(xué)習(xí)中獲得樂趣。教師不必在一開始就詳細(xì)講解某一腳本的功能,而是先向?qū)W生提出問題,請學(xué)生思考解決問題的方案。鼓勵(lì)學(xué)生提出多種解決思路,如果學(xué)生講到超前于本課的內(nèi)容,教師也可以順勢拓展,不必遮掩或限制;如果有學(xué)生無法掌握某一腳本的使用,則可提醒學(xué)生考慮其他可替代的方案。教師需要在每節(jié)課的課題上多花心思,通過有吸引力的標(biāo)題,設(shè)置懸念,激發(fā)學(xué)生的好奇心和想象力,使學(xué)生在愉悅的體驗(yàn)中,獲得知識與技能,提高解決問題的能力。
2.設(shè)置分解任務(wù),助學(xué)生逐步提高。維果斯基的“最近發(fā)展區(qū)理論”指出,學(xué)生的發(fā)展有兩種水平:一種是學(xué)生現(xiàn)有的水平;另一種是學(xué)生可能達(dá)到的發(fā)展水平,也就是通過教學(xué)所獲得的潛力,兩者之間的差異就是最近發(fā)展區(qū)。因此在Scratch課堂上,要為學(xué)生設(shè)置難度適度的任務(wù),使學(xué)生的能力通過完成或超越最近發(fā)展區(qū)而逐步提高。由于學(xué)生之間的水平往往有差異,教師在設(shè)置任務(wù)時(shí),要將任務(wù)分解,創(chuàng)設(shè)由易到難的梯度。這樣,學(xué)習(xí)有困難的學(xué)生也能通過教師的適當(dāng)指引提高探究能力,舉一反三,并最終完成任務(wù)。而對于能力較強(qiáng)、完成任務(wù)較快的學(xué)生,教師要向他們提出改進(jìn)與創(chuàng)新的要求。分解任務(wù)有利于發(fā)現(xiàn)并解決學(xué)生遇到的各種問題,從而完成總的教學(xué)目標(biāo),使絕大部分學(xué)生可以輕松完成任務(wù),獲得較強(qiáng)的成就感。
3.鼓勵(lì)分享,培養(yǎng)合作意識。Scratch具有很強(qiáng)的開放性,教師要充分利用這一特點(diǎn)培養(yǎng)學(xué)生的創(chuàng)新思維??赏ㄟ^課內(nèi)共享的方式,讓學(xué)生互相學(xué)習(xí)和評價(jià)作品,從中發(fā)現(xiàn)自己的不足,看到別人的長處,激發(fā)創(chuàng)意。要鼓勵(lì)學(xué)生登錄Scratch社區(qū)分享自己的作品,可以讓訪問者進(jìn)行網(wǎng)頁交互式體驗(yàn),甚至允許觀看者進(jìn)行二次開發(fā)。此外,Scratch教學(xué)鼓勵(lì)合作,教師要充分發(fā)揮課堂小組的作用,讓學(xué)生體驗(yàn)到合作、競爭與分享的快樂,從而引導(dǎo)學(xué)生逐漸成為課堂學(xué)習(xí)的主動探索者。
四、結(jié)束語
一些好的創(chuàng)意往往來自于學(xué)生而不是教師,學(xué)生的思維方式與成人大不一樣,但學(xué)生所感興趣的事物往往是相通的。因此,教師注意收集學(xué)生優(yōu)秀作品,整理成集,作為教學(xué)范例和素材,往往比教師自己開發(fā)的內(nèi)容更有利于學(xué)生接受。
用Scratch這種模塊化的組合方式編程,不同于傳統(tǒng)代碼界面編程方法的枯燥和無趣。Scratch讓編程變得更加直觀、易學(xué),特別是對于兒童的認(rèn)知發(fā)展水平來說具有巨大的優(yōu)勢。Scratch編程對于培養(yǎng)兒童的創(chuàng)新思維具有重大的意義,雖然我國的Scratch編程教學(xué)在很多方面還存在不足,但只要廣大教師堅(jiān)持探索與實(shí)踐,必將不斷推動教學(xué)的發(fā)展。
參考文獻(xiàn)
[1]陳勇,楊宛穎,張?jiān)?Scratch 動畫軟件:功能、特點(diǎn)與應(yīng)用[J].電腦知識與技術(shù),2014,10(23):133-136.
(責(zé)任編輯 郭向和)