焦建利
可視化編程是指編程過程中可隨時(shí)看到結(jié)果,程序與結(jié)果的調(diào)整同步??梢暬幊谭褐敢磺惺褂每梢暬氐牟僮?,代替文本(編碼)輸入的程序設(shè)計(jì)方式,它大體上就像畫流程圖一樣,通過連接若干“盒子”和“箭頭”來實(shí)現(xiàn)程序邏輯。傳統(tǒng)程序設(shè)計(jì)給人的印象是長(zhǎng)長(zhǎng)的代碼,而可視化編程則使人人都可以成為程序員。因此,在中小學(xué)信息技術(shù)教育的發(fā)展歷程中,可視化編程始終是國際程序設(shè)計(jì)教學(xué)的重要發(fā)展方向。
然而,回顧我國中小學(xué)信息技術(shù)教育發(fā)展的歷程,從上世紀(jì)80年代計(jì)算機(jī)教育發(fā)展到強(qiáng)調(diào)計(jì)算機(jī)素質(zhì),再從計(jì)算機(jī)素養(yǎng)發(fā)展到重視和突出信息素養(yǎng)。期間,在信息技術(shù)課程中雖然開設(shè)有“程序設(shè)計(jì)”模塊,但是,程序設(shè)計(jì)教學(xué)逐漸被冷落,則是不爭(zhēng)的事實(shí)。
從計(jì)算機(jī)教育到信息技術(shù)教育的發(fā)展演變
世界各國從20世紀(jì)80年代開始都特別重視將計(jì)算機(jī)引入到學(xué)校教育中。我國教育部1982年就在全國設(shè)立了五所計(jì)算機(jī)教育實(shí)驗(yàn)學(xué)校。1983年,教育部在總結(jié)試點(diǎn)學(xué)校經(jīng)驗(yàn)的基礎(chǔ)上,制定了計(jì)算機(jī)選修課的教學(xué)大綱,1984年頒發(fā)了《中學(xué)電子計(jì)算機(jī)選修課教學(xué)綱要(試行)》。在全世界程序設(shè)計(jì)思想的影響下,我國規(guī)定教學(xué)內(nèi)容是簡(jiǎn)單的計(jì)算機(jī)工作原理和BASIC程序設(shè)計(jì)語言。
之后,教育工作者不斷反思,自上世紀(jì)90年代中期開始,中小學(xué)計(jì)算機(jī)教育的“文化論”開始受到“工具論”的沖擊。1999年,計(jì)算機(jī)課程更名為信息技術(shù)課程,2000年,“全國中小學(xué)信息技術(shù)教育工作會(huì)議”召開,會(huì)議提出了“在中小學(xué)大力發(fā)展信息技術(shù)教育”。
隨著《中小學(xué)信息技術(shù)課程指導(dǎo)綱要(試行)》(教育部,2000)和《基礎(chǔ)教育課程改革綱要(試行)》(教育部,2001)的出臺(tái),信息技術(shù)教育的目標(biāo)確定為信息素養(yǎng)的培養(yǎng)。之后,伴隨著信息與通訊技術(shù)的發(fā)展,在過去的十多年時(shí)間里,我國中小學(xué)信息技術(shù)教育取得了巨大的成績(jī),也日益顯示出信息技術(shù)教育的重大意義。
可視化編程:讓青少年以輕松有趣的方式學(xué)習(xí)編程
史蒂夫·喬布斯曾經(jīng)說過,“在這個(gè)國家,我覺得每個(gè)人都應(yīng)該學(xué)習(xí)計(jì)算機(jī)編程,因?yàn)槌绦蛟O(shè)計(jì)學(xué)習(xí)可以教會(huì)你如何去思考”。程序設(shè)計(jì)教學(xué)對(duì)兒童創(chuàng)造性思維能力的培養(yǎng)、思維訓(xùn)練以及創(chuàng)新能力培養(yǎng)具有至關(guān)重要的意義。
然而,如何教會(huì)兒童編程?特別是如何以一種兒童喜聞樂見的、有趣的方式學(xué)習(xí)程序設(shè)計(jì)是一個(gè)值得思考的問題。也因此,可視化編程(Visual Programming Language)成為世界各個(gè)國家重視青少年程序設(shè)計(jì)教學(xué)的人們始終努力的方向。
在計(jì)算機(jī)技術(shù)的發(fā)展歷程中,涌現(xiàn)出過各種各樣的程序設(shè)計(jì)語言:機(jī)器語言、匯編程序設(shè)計(jì)語言、高級(jí)程序設(shè)計(jì)語言(BASIC, FORTRAN、 PASCAL、 C、 C++、 Prolog、 Java、 C#等)、數(shù)據(jù)庫管理語言(如SQL)、網(wǎng)絡(luò)數(shù)據(jù)交換語言(如XML)等??梢暬幊淌窃诟呒?jí)程序設(shè)計(jì)語言的基礎(chǔ)上發(fā)展起來的,它是讓程序設(shè)計(jì)人員利用軟件本身所提供的各種控件,以一種可視化的方式,像搭積木似地構(gòu)造應(yīng)用程序??梢暬幊桃蚱淇梢允菇虒W(xué)模式更加直觀,教學(xué)效果提高更加明顯而備受關(guān)注。
LOGO語言和Scratch軟件是兩款出自美國麻省理工學(xué)院的早期編程語言,也是兩種與自然語言非常接近的可視化編程語言,它們通過“繪圖”的方式,以一種寓教于樂的方式,來幫助青少年兒童學(xué)習(xí)編程。LOGO語言創(chuàng)始于1968年,是由美國國家科學(xué)基金會(huì)所資助的一項(xiàng)研究,在麻省理工學(xué)院(MIT)的人工智能研究室完成。而Scratch則是2007年推出,在推出之后,與LOGO當(dāng)年的情景一樣,許許多多的中小學(xué)紛紛將Scratch教學(xué)納入信息技術(shù)課程之中。
隨著LOGO、Scratch、BYOB、Alice、Treehouse、Hackety Hack、Codecademy、Codea等一批可視化編程工具的應(yīng)運(yùn)而生,以及支持學(xué)習(xí)者編程制品分享的在線社區(qū)的迅速興起,以“社交化轉(zhuǎn)向”為特征的計(jì)算參與,開始成為當(dāng)今世界各國中小學(xué)程序設(shè)計(jì)教學(xué)實(shí)踐中培養(yǎng)學(xué)生計(jì)算思維的新范式。
事實(shí)上,在過去幾年間,在國內(nèi),有一批熱衷對(duì)中小學(xué)信息技術(shù)課程教學(xué)進(jìn)行改革的教師,他們對(duì)單純由信息素養(yǎng)主導(dǎo)的中小學(xué)信息技術(shù)課程進(jìn)行了反思,并創(chuàng)造性地運(yùn)用Scratch之類的可視化編程語言,開展可視化程序設(shè)計(jì)教學(xué),積極推動(dòng)Scratch及相關(guān)傳感器技術(shù)的教學(xué)應(yīng)用,尤其是學(xué)生創(chuàng)新思維能力培養(yǎng)上的應(yīng)用,取得了可喜的成績(jī)。
跳房子:基于iPad的兒童可視化編程應(yīng)用
遙想當(dāng)年,鄧小平講“計(jì)算機(jī)要從娃娃抓起”,我想他強(qiáng)調(diào)的應(yīng)該不僅僅是從小就抓計(jì)算機(jī)應(yīng)用,還應(yīng)該包括借助計(jì)算機(jī)通過編程教學(xué)從小培養(yǎng)孩子的創(chuàng)新思維能力。因此,在計(jì)算機(jī)教育階段,計(jì)算機(jī)課程的學(xué)習(xí),基本上就等同于某一種編程語言的學(xué)習(xí)了,因?qū)W生在算法和數(shù)據(jù)結(jié)構(gòu)等方面缺乏基礎(chǔ),加之當(dāng)時(shí)計(jì)算機(jī)珍貴稀少,聯(lián)系機(jī)會(huì)很少,學(xué)生所學(xué)較難實(shí)踐應(yīng)用,所以教學(xué)效果并不理想。
最近一些年,隨著移動(dòng)終端的普及,不少學(xué)校開展了基于平板電腦、筆記本電腦等移動(dòng)終端的一對(duì)一數(shù)字化學(xué)習(xí),而基于平板電腦的可視化編程應(yīng)用開始倍受人們的重視。后來,受Scratch的啟發(fā),利用Javascript、HTML5和其他開放Web標(biāo)準(zhǔn)開發(fā)的基于iPad的可視化編程應(yīng)用不斷涌現(xiàn)出來,HopScotch、Daisy the Dino以及Tynker就是最有影響力的兩款。
Hopscotch,其中文翻譯為“跳房子”。這款應(yīng)用程序非常適合8~12歲的兒童使用,它采取模塊化代碼和圖形編程界面,兒童只需要拖動(dòng)編程模塊到代碼區(qū)域就可以完成一個(gè)功能,不需要進(jìn)行任何輸入操作,就像是堆積木一樣,這樣“編”出來的程序有點(diǎn)類似于游戲,互動(dòng)性很強(qiáng)。
Hopscotch還專門開發(fā)了一款更加適合低幼兒童使用的、基于iPad的可視化編程應(yīng)用,Daisy The Dino,它采用“自由創(chuàng)作”和“挑戰(zhàn)升級(jí)”兩種模式,以更加直觀、有趣的方式培養(yǎng)低幼兒童的編程興趣和創(chuàng)造的樂趣。
另外一款可視化編程應(yīng)用叫Tynker。它是一個(gè)基于網(wǎng)頁的學(xué)習(xí)平臺(tái)與一個(gè)可視編程語言,為中小學(xué)教師和在校中小學(xué)生提供編程學(xué)習(xí)服務(wù)。Tynker可以在課堂上和回家以后使用,教師和家長(zhǎng)只要通過其網(wǎng)站給孩子們注冊(cè),后者就可以訪問基于Web的課程和學(xué)習(xí)內(nèi)容,這些學(xué)習(xí)內(nèi)容既有游戲、練習(xí),也有互動(dòng)式輔導(dǎo)及答疑。
可視化編程應(yīng)用:讓兒童快樂學(xué)編程
隨著移動(dòng)終端的日益普及,以可視化的方式,借助可視化編程應(yīng)用,讓兒童快樂有趣地學(xué)習(xí)編程,從而培養(yǎng)學(xué)生創(chuàng)新性思維能力,相信業(yè)已成為許多教育工作者、學(xué)生家長(zhǎng)以及廣大教師的共同愿景。
那么,究竟如何借助可視化編程應(yīng)用,讓兒童快樂有趣地學(xué)編程呢?關(guān)中客這里分析自己的幾點(diǎn)建議:
第一,iPad不只可以“切西瓜”、追電視劇,還可以用來做很多事情,其中包括教授孩子編程。教師和家長(zhǎng)應(yīng)當(dāng)身先士卒,率先垂范,樹立終身學(xué)習(xí)的榜樣。
第二,了解可視化編程應(yīng)用,建議下載安裝Hopscotch,對(duì)于幼兒園以及小學(xué)中低年級(jí)的孩子,可以安裝Daisy the Dino。安卓平板也可以檢索獲取適合Andriod操作系統(tǒng)的可視化編程應(yīng)用。
第三,克服學(xué)生對(duì)編程的恐懼心理,在學(xué)齡前和小學(xué)中低年級(jí)以游戲?yàn)楹诵?,以鼓?lì)“創(chuàng)造”為主要目標(biāo)。
第四,示例演練,模仿嘗試,跟孩子一起探索。先讓孩子采用“挑戰(zhàn)過關(guān)”的模式,熟悉基于平板的可視化編程基本操作,再鼓勵(lì)孩子模仿,家長(zhǎng)和孩子一起嘗試探索是非常重要的且值得鼓勵(lì)的舉措。
第五,鼓勵(lì)孩子將自己的作品上傳到相關(guān)社區(qū),分享交流,和其他小伙伴、老師、家長(zhǎng)一起展示自己的作品、分享編程的快樂。endprint