鄭歡++陳勇
摘要:視覺(jué)化程序設(shè)計(jì)軟件,有助于提升學(xué)習(xí)者的學(xué)習(xí)興趣,降低學(xué)習(xí)者的學(xué)習(xí)困難。為此,信息技術(shù)與教育領(lǐng)域的研究者開(kāi)發(fā)了許多程序設(shè)計(jì)軟件,如Alice、Scratch、Lego Mindstorms、RAPTOR、Game Maker、Baltie、Jeroo等等,它們具有可視化和敘事性等功能,受到了社會(huì)的廣泛關(guān)注。
關(guān)鍵詞:程序設(shè)計(jì)軟件;可視化;敘事性;功能
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)17-0089-04
Application and Development of Visual Programming Software
ZHENG Huan, CHEN Yong
(School of education, Shanghai Normal University, Shanghai 200234, China)
Abstract: Visual programming software can help learner improve interest in learning and reduce the difficulty of learning. Researchers in the field of information technology and education have developed a lot of programming software, such as Alice, Scratch, Lego Mindstorms, RAPTOR, Game Maker, Baltie, Jeroo etc, they have some functions of visualization and narrativity. And these visual programming software received a wide attention of the society.
Key words: programming software; visualization; narrativity; function
1 程序設(shè)計(jì)的發(fā)展歷史
19世紀(jì)的50年代到60年代初,程序設(shè)計(jì)為手工藝式的,從而高德納把程序稱(chēng)為藝術(shù)品。在19世紀(jì)60年代末到70年代初,隨著程序發(fā)展規(guī)模的不斷擴(kuò)大,出現(xiàn)了軟件危機(jī)。一方面需要大量的程序軟件系統(tǒng);但另一方面,程序軟件的設(shè)計(jì)周期長(zhǎng),可靠性差。一直以來(lái),程序設(shè)計(jì)的核心是:編寫(xiě)出的程序結(jié)構(gòu)清晰,程序語(yǔ)言簡(jiǎn)單、易閱讀、方便修改的程序設(shè)計(jì)軟件。然而,在當(dāng)時(shí)的程序設(shè)計(jì)模型中,也面臨著錯(cuò)誤隨著代碼的擴(kuò)大而級(jí)數(shù)般的擴(kuò)大的困難,甚至到了無(wú)法控制的地步。這個(gè)時(shí)候就出現(xiàn)了一種新的程序設(shè)計(jì)模型——面向?qū)ο蟪绦蛟O(shè)計(jì),由此也產(chǎn)生了一批支持此技術(shù)的程序設(shè)計(jì)語(yǔ)言,比如C++或Java。現(xiàn)如今,程序設(shè)計(jì)軟件又發(fā)生了許多變化,呈現(xiàn)出了以可視化與敘事為顯著特征的發(fā)展趨勢(shì),受到了程序設(shè)計(jì)軟件學(xué)習(xí)者的廣泛關(guān)注。
2 程序設(shè)計(jì)軟件的發(fā)展及其特征
由于像C++或Java類(lèi)似的程序語(yǔ)言設(shè)計(jì)類(lèi)軟件所反映的教學(xué)內(nèi)容過(guò)于抽象、概念復(fù)雜、語(yǔ)言編寫(xiě)規(guī)則繁多、編程容易出錯(cuò)等原因,導(dǎo)致了現(xiàn)在的學(xué)習(xí)者對(duì)程序設(shè)計(jì)的學(xué)習(xí)興趣越來(lái)越低。在過(guò)去的十幾年里,信息科學(xué)教育研究者發(fā)展了很多視覺(jué)化的程序設(shè)計(jì)軟件,為學(xué)習(xí)者提供富有樂(lè)趣的程序設(shè)計(jì)環(huán)境,如:Alice、Scratch、Lego Mindstorms、RAPTOR、Game Maker、Baltie、Jeroo等,可以幫助學(xué)習(xí)者充滿(mǎn)興趣地學(xué)習(xí)程序設(shè)計(jì)。為學(xué)習(xí)者降低了學(xué)習(xí)程序設(shè)計(jì)的難度,讓學(xué)習(xí)者在學(xué)習(xí)程序設(shè)計(jì)時(shí)能夠獲得學(xué)習(xí)興趣,這也是現(xiàn)今可視化程序設(shè)計(jì)軟件成功的關(guān)鍵所在。
隨著社會(huì)的發(fā)展,視覺(jué)化程序設(shè)計(jì)軟件已經(jīng)在信息科學(xué)教育界中受到極大的關(guān)注。因?yàn)橄啾扔谝郧俺绦蛘Z(yǔ)言編寫(xiě)抽象、復(fù)雜的教學(xué)軟件,這些視覺(jué)化的程序設(shè)計(jì)軟件具有以下的共同特征:
1)具有敘事和可視化功能的特征。能夠吸引初學(xué)者的興趣,便于進(jìn)行教學(xué)活動(dòng);學(xué)習(xí)者在學(xué)習(xí)過(guò)程中可以收獲很大的樂(lè)趣和信心,對(duì)學(xué)習(xí)者產(chǎn)生事半功倍的學(xué)習(xí)效果。
2)簡(jiǎn)單、易操作。它們并不過(guò)多地要求使用者需要過(guò)多的程序設(shè)計(jì)技能和知識(shí),只需要使用者的想象力,并且通過(guò)點(diǎn)擊和拖拽鼠標(biāo)就基本上可以完成程序設(shè)計(jì)。
3)重在培養(yǎng)初學(xué)者的邏輯性思維。這些程序設(shè)計(jì)軟件有助于提高學(xué)習(xí)者讀對(duì)程序設(shè)計(jì)的認(rèn)識(shí),并培養(yǎng)初學(xué)者程序設(shè)計(jì)的邏輯性思維。
4)適用于初學(xué)者。這些視覺(jué)化程序設(shè)計(jì)軟件最大的特征就是降低了初學(xué)者以前學(xué)習(xí)程序語(yǔ)言設(shè)計(jì)的難度,避免了對(duì)復(fù)雜的程序設(shè)計(jì)語(yǔ)言的編寫(xiě)。因?yàn)檫@些軟件能把一些抽象概念形象地展現(xiàn)出來(lái),為進(jìn)一步學(xué)習(xí)難度較大的C++、Java打下良好基礎(chǔ)。
3 視覺(jué)化程序設(shè)計(jì)軟件的分類(lèi)
雖然,現(xiàn)如今開(kāi)發(fā)的程序設(shè)計(jì)軟件都基本具有視覺(jué)化特征,但在某些功能上還是存在著差異。鑒于此,對(duì)程序設(shè)計(jì)軟件進(jìn)行了簡(jiǎn)單分類(lèi):
1)敘事功能的程序設(shè)計(jì)軟件(narrative tools):讓初學(xué)者通過(guò)程序設(shè)計(jì)語(yǔ)言編寫(xiě)一個(gè)故事情節(jié),如:Alice,Scratch和Jeroo。
2)特定輸出實(shí)現(xiàn)的程序設(shè)計(jì)軟件(specialized output realizations):用非文本的方式提供程序操作的回饋,譬如多媒體等方式,如:Lego Mindstorms,JES。
3)流程功能的程序設(shè)計(jì)軟件(flow-model tools):通過(guò)程序語(yǔ)言組件的連結(jié),用以呈現(xiàn)計(jì)算的程序,如:RAPTOR,Iconic Programmer,VisualLogic。
4)分層語(yǔ)言的程序設(shè)計(jì)軟件(tiered language tools):讓初學(xué)者在進(jìn)一步學(xué)習(xí)中,可以逐漸使用更復(fù)雜的版本,如:Baltie,ProfessorJ,RoboLab。
4 常用視覺(jué)化程序設(shè)計(jì)軟件介紹
依照應(yīng)用的常用性,針對(duì)目前適于教育領(lǐng)域中常用的程序設(shè)計(jì)軟件進(jìn)行簡(jiǎn)單的介紹。
4.1 Alice
Alice(http://www.alice.org)是由美國(guó)卡耐基·梅隆(Carnegie Mellon)大學(xué)開(kāi)發(fā)的以學(xué)習(xí)者為中心的程序設(shè)計(jì)軟件,也被稱(chēng)為3D交互式圖形編程環(huán)境(3-D Interactive Graphics Programming Environment),其作用是讓學(xué)習(xí)者在設(shè)計(jì)3D動(dòng)畫(huà)的同時(shí)學(xué)習(xí)事物轉(zhuǎn)向的程序設(shè)計(jì)概念,適合初學(xué)者使用。Alice提出了這種支持面向?qū)ο蟪绦蛟O(shè)計(jì)的三維虛擬世界動(dòng)畫(huà)教學(xué)軟件,具有敘事和可視化的功能??突っ仿〈髮W(xué)開(kāi)發(fā)Alice的主要目標(biāo)是:用以幫助更多的青少年學(xué)會(huì)如何在3D的環(huán)境下編寫(xiě)計(jì)算機(jī)程序,并希望在學(xué)習(xí)Alice這一軟件的基礎(chǔ)上,青少年能夠?qū)W習(xí)更為復(fù)雜的Java和C++編程。
Alice最顯著的特點(diǎn)就是支持圖形化程序設(shè)計(jì),并能夠生成三維虛擬世界中的對(duì)象,然后可以將場(chǎng)景的設(shè)計(jì)同程序設(shè)計(jì)結(jié)合起來(lái)。Alice根據(jù)功能劃分為5個(gè)區(qū)域(如圖1所示):1)對(duì)象樹(shù)。在這一區(qū)域中顯示的是場(chǎng)景中出現(xiàn)的對(duì)象。2)World 窗口。把對(duì)象添加到這一窗口,可以進(jìn)行場(chǎng)景設(shè)計(jì)。3)事件區(qū)。這一區(qū)域是對(duì)事件的響應(yīng)而進(jìn)行的編程。4)函數(shù)方法細(xì)節(jié)區(qū)。這一區(qū)域顯示的是每個(gè)對(duì)象的屬性、方法和函數(shù)。5)代碼編輯區(qū)。通過(guò)把對(duì)象的屬性、方法、函數(shù)拖拉到這一區(qū)域,然后根據(jù)提示,并自動(dòng)生成相應(yīng)的代碼。Alice提供互動(dòng)、立體的模擬環(huán)境,所有的物體都具有前后、左右和上下六個(gè)方向,并提供程序語(yǔ)法的標(biāo)簽,學(xué)習(xí)者不需要輸入程序碼,只要利用鼠標(biāo)拖拽的方式將成式語(yǔ)法標(biāo)簽放到界面右下的程序編輯區(qū)即可完成程序設(shè)計(jì)編輯。
Alice系統(tǒng)為學(xué)習(xí)者提供了一種全新的方式去學(xué)習(xí)程序編程。尤其是對(duì)初學(xué)者而言,避免了對(duì)復(fù)雜的程序設(shè)計(jì)語(yǔ)言的編寫(xiě)。因?yàn)樵贏(yíng)lice程序設(shè)計(jì)中,一些抽象概念可以形象地展現(xiàn)出來(lái),所以初學(xué)者在學(xué)習(xí)Alice的過(guò)程中,就能更加直觀(guān)地理解和學(xué)會(huì)類(lèi)、對(duì)象、方法及事件驅(qū)動(dòng)等概念,并為進(jìn)一步學(xué)習(xí)C++和Java程序設(shè)計(jì)語(yǔ)言打下良好的基礎(chǔ)。在美國(guó),現(xiàn)今有300多所高等院校將Alice納入了初學(xué)編程的課程中。有的小學(xué)把Alice編程課程放在小學(xué)高年級(jí)(5、6年級(jí))的Science課中,從小培養(yǎng)孩子學(xué)習(xí)編程的興趣與能力;不僅如此,在美國(guó)政府部門(mén)的大力支持下,很多中學(xué)和大學(xué)中,也將Alice編程課程作為選修課,面向?qū)幊逃信d趣的學(xué)生開(kāi)設(shè)。像Intel、Oracle、Google等公司也設(shè)立了各種獎(jiǎng)項(xiàng),以此鼓勵(lì)中、小學(xué)生開(kāi)展具有創(chuàng)意的Alice編程。
4.2 Scratch
Scratch(http://scratch.mit.edu/)是由麻省理工大學(xué)(Massachusetts Institute of Technology, MIT)的媒體實(shí)驗(yàn)室終身幼兒園組(Media Lab Lifelong Kindergarten Group)開(kāi)發(fā)的一套可視性程序語(yǔ)言的開(kāi)發(fā)平臺(tái),旨在讓程序設(shè)計(jì)語(yǔ)言初學(xué)者不需先學(xué)習(xí)語(yǔ)言語(yǔ)法便能設(shè)計(jì)創(chuàng)作產(chǎn)品。作為可視性程序語(yǔ)言,初學(xué)者不用擔(dān)心語(yǔ)言文法,可以透過(guò)探索、實(shí)驗(yàn)去學(xué)習(xí)創(chuàng)造交互式故事、動(dòng)畫(huà)等技術(shù)。Scratch包含視覺(jué)化和敘事的兩種特征,學(xué)習(xí)者可以用來(lái)創(chuàng)作互動(dòng)式故事、動(dòng)畫(huà)、游戲、音樂(lè)和藝術(shù),并在網(wǎng)絡(luò)上分享自己設(shè)計(jì)的每個(gè)作品。
Scratch的界面主要分為四大板塊(如圖2所示):舞臺(tái)、角色列表、程序指令區(qū)和程序編輯區(qū)。Scratch的主要特色在于它適用于初學(xué)者學(xué)習(xí)程序設(shè)計(jì),學(xué)習(xí)者只需利用鼠標(biāo)點(diǎn)擊和拖拽的方式進(jìn)行程序設(shè)計(jì),完成可視化編程。不需要牢記任何指令碼或編寫(xiě)復(fù)雜的程序碼,解除了學(xué)習(xí)者在程序語(yǔ)言輸入方面的困難,有助于提高學(xué)習(xí)者讀對(duì)程序設(shè)計(jì)的認(rèn)識(shí),并培養(yǎng)學(xué)習(xí)者的邏輯思維。因?yàn)镾cratch是一款面向少年兒童的程序設(shè)計(jì)軟件,其創(chuàng)作的程序簡(jiǎn)單、易操作,而且界面的卡通形式也能夠吸引兒童的興趣,運(yùn)用Scratch創(chuàng)作的作品進(jìn)行教學(xué)活動(dòng),在兒童認(rèn)知發(fā)展初期有著事半功倍的效果。
4.3 Lego Mindstorma
目前的研究表明,使用機(jī)器人可以幫助程序設(shè)計(jì)學(xué)習(xí)者更易理解計(jì)算機(jī)類(lèi)課程中抽象的基本概念。1986年,丹麥的LEGO(樂(lè)高)公司和美國(guó)麻省理工學(xué)院的媒體實(shí)驗(yàn)室(Media Lab)進(jìn)行的一項(xiàng)“可程式積木(Programmable Brick)”的合作案。1996年LEGO公司發(fā)布了Mindstorms機(jī)器人開(kāi)發(fā)和編程工具包。而Lego Mindstorms(http://www.lego.com/zh-cn/Mindstorms/support)則是集合了電動(dòng)馬達(dá)、傳感器、可編程主機(jī)、Lego Technic部分(輪軸、插銷(xiāo)、橫梁、齒輪)的統(tǒng)稱(chēng)。
Mindstorms是由益智玩具中可編程的傳感器模具(programmable sensor blocks)的發(fā)展而來(lái)。樂(lè)高機(jī)器人套件(LEGO Mindstorma Robotics Invention System)是面向?qū)C(jī)器人有興趣的大人和12歲以上的小孩而設(shè)計(jì)的一個(gè)教育玩具。Lego Mindstorms的第一個(gè)零售版本Robotics Invention System(RIS)于1998年上市。目前的最新版本是2013年上市的Lego Mindstorms EV3。在免費(fèi)的EV3編程軟件中,擁有25個(gè)好玩的任務(wù),EV3軟件是給機(jī)器人編程,賦予機(jī)器人生命的關(guān)鍵,使用者只需編寫(xiě)一個(gè)程序,就可以讓機(jī)器人按照指定的路徑前進(jìn),讓機(jī)器人服從使用者的命令。
Lego Mindstorma是一套可以對(duì)其進(jìn)行編程的機(jī)器人拼裝套裝(如圖3所示),它能賦予使用者創(chuàng)建和指揮專(zhuān)屬于自己的樂(lè)高機(jī)器人的非凡能力。目前的最新版本Lego Mindstorms EV3套裝中包含了使用者需要的一切,根據(jù)不同的編程設(shè)置,其控制的機(jī)器人可以移動(dòng)、行走、說(shuō)話(huà)??偠灾褂谜呖梢岳弥庇^(guān)的編程軟件(例如:智能 EV3第三代機(jī)器人程序塊或智能設(shè)備)來(lái)自由地指揮機(jī)器人。
Mindstorms平臺(tái)最初由于LEGO機(jī)器人缺乏與高等教育相符的程序設(shè)計(jì)環(huán)境,也缺乏對(duì)大學(xué)水平的程序設(shè)計(jì)語(yǔ)言(如:C++和Java)的支持,所以并不適用于高等教育。十幾年以后,隨著Mindstorms使用群體的日益擴(kuò)大, Mindstorms平臺(tái)為C++和Java開(kāi)發(fā)了有效的程序設(shè)計(jì)環(huán)境,從而讓更多的高校開(kāi)始選用低價(jià)的LEGO機(jī)器人作為其教學(xué)的平臺(tái)。
1)麻省理工學(xué)院(Massachusetts Institute of Technology)的電子技術(shù)和計(jì)算機(jī)科學(xué)系專(zhuān)門(mén)開(kāi)設(shè)了自主機(jī)器人設(shè)計(jì)課程。學(xué)生可以在這門(mén)課程中,運(yùn)用之前學(xué)到的編程知識(shí),通過(guò)搭建物理模型,進(jìn)行編程并自由地控制機(jī)器人的活動(dòng)。最后再以比賽的形式完成實(shí)驗(yàn),查看學(xué)習(xí)效果。
2)卡耐基·梅?。–arnegie Mellon)大學(xué)作為第三方利用自身資源,開(kāi)發(fā)了Robot C程序設(shè)計(jì)環(huán)境,如今Robot C已成為L(zhǎng)EGO機(jī)器人最流行的程序設(shè)計(jì)語(yǔ)言之一。
3)加利福尼亞州立大學(xué)(California State University)在相應(yīng)的課程中,使用物理模型來(lái)促進(jìn)學(xué)生對(duì)程序設(shè)計(jì)結(jié)構(gòu)的理解,使用LEGO機(jī)器人作為了他們的教學(xué)實(shí)驗(yàn)平臺(tái)。
到2006年,在LEGO公司發(fā)布Mindstorms NXT機(jī)器人套裝時(shí),機(jī)器人在計(jì)算機(jī)教育中的作用已得到了普遍認(rèn)同和歡迎。
4.4 RAPTOR
RAPTOR(http://raptor.martincarlisle.com/)是一種流程軟件形態(tài)的程序設(shè)計(jì)軟件(如圖4所示)。RAPTOR是一種基于流程圖的可視化程序設(shè)計(jì)軟件,并提供發(fā)展算法的一種可視化環(huán)境,從而讓學(xué)習(xí)者在可視化程序設(shè)計(jì)的環(huán)境中進(jìn)行算法的撰寫(xiě),并為程序和算法設(shè)計(jì)的基礎(chǔ)課程的教學(xué)提供了一種實(shí)驗(yàn)環(huán)境。學(xué)習(xí)者通過(guò)鼠標(biāo)拖拉左側(cè)的流程圖符號(hào)至右側(cè)流程圖編輯區(qū),可以隨時(shí)增減流程圖符號(hào)或改變流程圖符號(hào)的位置,使其在撰寫(xiě)的過(guò)程中不斷地進(jìn)行思考、安排和控制。
RAPTOR作為一種可視化程序設(shè)計(jì)的軟件,已經(jīng)為以卡內(nèi)基·梅隆大學(xué)等為代表的世界上20個(gè)以上的國(guó)家的高等院校使用,在計(jì)算機(jī)基礎(chǔ)課程教學(xué)中,也取得令人滿(mǎn)意的效果。在RAPTOR的可視化操作環(huán)境中,使用者無(wú)須單獨(dú)編譯和執(zhí)行,只需在其環(huán)境中執(zhí)行相應(yīng)的算法流程,所以使用RAPTOR來(lái)解決問(wèn)題,就可以讓原本抽象的概念變得越加清晰。這說(shuō)明程序運(yùn)作的邏輯順序不必再利用傳統(tǒng)程序設(shè)計(jì)的文字環(huán)境來(lái)進(jìn)行設(shè)計(jì)和調(diào)試,可以直接在RAPTOR可視化的表達(dá)環(huán)境中進(jìn)行,這也能夠極大減輕使用多種軟件時(shí)帶來(lái)的學(xué)習(xí)負(fù)擔(dān)。對(duì)初學(xué)者而言,RAPTOR并沒(méi)有強(qiáng)制要求自上而下的分解程序設(shè)計(jì)目標(biāo),而是讓學(xué)習(xí)者嘗試著逐步去開(kāi)發(fā)代碼,利用交互的圖形庫(kù),創(chuàng)造出更有趣的算法。
4.5 Game Maker
Game Maker(http://www.yoyogames.com/)是由Mark Overmars使用Delphi語(yǔ)言開(kāi)發(fā)的視覺(jué)化程序設(shè)計(jì)軟件(如圖5所示)。Game Maker是一款可靈活編程、擁有圖形界面、以2D游戲設(shè)計(jì)為主的游戲開(kāi)發(fā)軟件。Game Maker允許學(xué)習(xí)者使用圖形、按鈕和文本創(chuàng)作游戲,而無(wú)需學(xué)習(xí)復(fù)雜的諸如C++或Java編程語(yǔ)言,并可以在游戲設(shè)計(jì)過(guò)程中,附帶上精美的背景、動(dòng)畫(huà)、音樂(lè)和聲音效果。學(xué)習(xí)者只需要拖拽圖形、輸入文字、點(diǎn)擊很少的幾個(gè)按鈕,選擇一些控制選項(xiàng),游戲很快就可以編寫(xiě)成功。憑借這些優(yōu)點(diǎn),Game Maker極大地促進(jìn)了歐美乃至全世界獨(dú)立游戲界的發(fā)展。
Game Maker是個(gè)專(zhuān)為設(shè)計(jì)游戲而制作的軟件,不同于其他程序設(shè)計(jì)軟件的是它將復(fù)雜的游戲功能融于簡(jiǎn)單的操作方式,適合提供給程序設(shè)計(jì)的初學(xué)者使用。因?yàn)镚ame Maker主要是為 2D 游戲而設(shè)計(jì)的程序軟件,它提供貼圖、移動(dòng)、游戲規(guī)則以及其他多種功能,所以初學(xué)者只需通過(guò)拖拽Game Maker界面上的選項(xiàng),就可以讓初學(xué)者輕松設(shè)計(jì)和制作一個(gè)中型以下簡(jiǎn)單游戲。通過(guò)Game Maker提供的有趣環(huán)境和設(shè)計(jì)過(guò)程,讓學(xué)習(xí)者從中學(xué)會(huì)游戲設(shè)計(jì)的概念、技巧和流程;學(xué)會(huì)物體、事件等程序設(shè)計(jì)概念。當(dāng)學(xué)習(xí)者對(duì)程序設(shè)計(jì)的概念越來(lái)越熟悉之后,學(xué)習(xí)者就可以使用越來(lái)越多的程序設(shè)計(jì)語(yǔ)言,從而可以創(chuàng)作更高水平的游戲。
4.6 Baltie
Baltie4C# Pro(http://www.sgpsys.com/en/)是一款視覺(jué)化和分層語(yǔ)言式的程序設(shè)計(jì)軟件(如圖6所示)。學(xué)習(xí)者使用鼠標(biāo)點(diǎn)選上方軟件列表中的符號(hào)選項(xiàng)進(jìn)行程序設(shè)計(jì),適合程序設(shè)計(jì)的初學(xué)者使用。初學(xué)者可以使用Baltie的互動(dòng)模式和圖形區(qū)域進(jìn)行程序設(shè)計(jì);較高水平的程序設(shè)計(jì)學(xué)習(xí)者則還可以結(jié)合語(yǔ)法命令和圖像區(qū)域的C#語(yǔ)言進(jìn)行程序設(shè)計(jì)。學(xué)習(xí)者通過(guò)使用Baltie軟件,可以學(xué)會(huì)邏輯、條件和事件等程序設(shè)計(jì)概念。
Baltie是面向圖形的可視化編程軟件。相比于Balties會(huì)幫助使用者很快意識(shí)到什么是計(jì)算機(jī)、如何掌握和計(jì)算機(jī)程序而言,使用Baltie可以更加鍛煉使用者的邏輯思維,它并不要求使用者需要過(guò)多的程序設(shè)計(jì)技能和知識(shí),只需要使用者的想象力。
4.7 Jeroo
Jeroo(http://www.jeroo.org/)也是一款具有敘事功能的程序設(shè)計(jì)軟件。Jeroo適合初學(xué)者使用,學(xué)習(xí)者可以選擇Java、C++和Python等任何一種程序設(shè)計(jì)語(yǔ)言應(yīng)用于Jeroo中,讓學(xué)習(xí)者根據(jù)自己的實(shí)際情況學(xué)習(xí)事物轉(zhuǎn)向的程序設(shè)計(jì)概念。Jeroo的左側(cè)提供編輯來(lái)源碼的區(qū)域;它的右側(cè)則呈現(xiàn)程序編輯的結(jié)果;它的下方則顯示目前程序設(shè)計(jì)的狀態(tài)信息(如圖7所示)。根據(jù)信息科學(xué)領(lǐng)域中的研究者的研究結(jié)果顯示,Jeroo能夠顯著提高學(xué)習(xí)者在學(xué)習(xí)程序設(shè)計(jì)的興趣與自信心;使用過(guò)Jeroo的學(xué)習(xí)者幾乎都指出:Jeroo是一套值得他們?nèi)ネ扑]別人學(xué)習(xí)的程序設(shè)計(jì)軟件,并且適合作為學(xué)習(xí)Java程序設(shè)計(jì)語(yǔ)言之前的學(xué)習(xí)軟件。
5 結(jié)束語(yǔ)
程序設(shè)計(jì)軟件越是簡(jiǎn)單易學(xué)、易操作、可視化和智能化,越是能獲得初學(xué)者的喜愛(ài)。因?yàn)閷?duì)于非計(jì)算機(jī)專(zhuān)業(yè)的使用者而言,他們只需要有一定的計(jì)算機(jī)操作認(rèn)知基礎(chǔ),只需要花較少的時(shí)間和精力就可以掌握程序設(shè)計(jì)的基本知識(shí),最好不需要用復(fù)雜的語(yǔ)言編程就可以實(shí)現(xiàn)大部分交互作用,減少他們學(xué)習(xí)程序設(shè)計(jì)軟件的認(rèn)知負(fù)荷。面向?qū)ο蟮目梢暬绦蛟O(shè)計(jì)軟件在現(xiàn)代程序設(shè)計(jì)思想中占有很重要的地位,未來(lái)程序設(shè)計(jì)軟件將會(huì)以一種可視化,更易表達(dá)現(xiàn)實(shí)世界,更易為人編寫(xiě)的功能得到進(jìn)一步發(fā)展,其使用將不再只是為專(zhuān)業(yè)的編程人員服務(wù),人們完全可以用基礎(chǔ)的程序設(shè)計(jì)知識(shí)來(lái)完成編程。
參考文獻(xiàn):
[1] 百度百科.程序設(shè)計(jì)[EB/OL].[2015-05-28].http://baike.baidu.com/link?url=y9EcZAkE9DfB7Ju7n5270UjsBNtREaxE5l6wt 9jvOSzac6q1znwEz_Vsx558dqW1WG0VGD1e-bq5T7Yu8JHkzK.
[2] 陳蕓. 利用Alice三維虛擬世界進(jìn)行程序設(shè)計(jì)入門(mén)教學(xué)[J].計(jì)算機(jī)教育,2007(9): 160.
[3] 陳勇,楊宛穎,張?jiān)? Scratch動(dòng)畫(huà)軟件:功能、特點(diǎn)與應(yīng)用[J].電腦知識(shí)與應(yīng)用,2014(8):5519.
[4] 陳勇.信息技術(shù)基礎(chǔ)[M].上海:上海交通大學(xué)出版社,2014.
[5] 百度百科.樂(lè)高機(jī)器人[EB/OL].[2015-06-02].http://baike.baidu.com/view/1590087.htm.