劉芳芳



摘要 隨著技術的進步,思維可視化成為教學關注的一個焦點。基于中小學程序設計難教難學的問題,介紹分析圖形化程序設計的幾種軟件,探索中小學程序設計的教學模式。
關鍵詞 Scratch;圖形化程序設計;創新
中圖分類號:G434 文獻標識碼:B 文章編號:1671-489X(2009)30-0126-03
Learning Program Design Based On Way of Graphical Programming//Liu Fangfang
Abstract With the advances in technology, visual thinking gets more and more attention. Because of the difficulties in teaching and learning for Primary and secondary schools. The thesis tries to introduce some softwares of Graphical programming and explores teaching structure in program design.
Key words Scratch; visual programming design; innovation
Authors address Shanghai Normal University Educational Technology College, Shanghai, 200234, China
1 研究概述
我國自1982年開始中小學計算機普及教育,以學習計算機原理和程序設計為主,當時受到硬件設備的限制,開設的主要是Basic和logo的程序設計。考慮到中小學生的心理與學習特點,1985年受在美國召開的“第四屆世界計算機教育會議”影響,我國計算機教育開始重新審視教學內容,將單一的Basic語言教學逐步轉向計算機應用的教學上來,于是程序教學開始遭到摒棄,教學內容和模式開始轉向應用軟件的使用操作。
1994年,聯合國教科文組織(UNESCO)委托國際信息處理學會(IFIP),編寫指導世界各國計算機課程設置的文件《中學信息學課程》[1],其中指出:“這里所指的程序設計是非技術性的程序設計,更確切地說應該是把‘你自己做的事情轉變成‘別人能做的事情。這就要求能詳盡地描述完成任務的過程,以便其他的人或其他的設備能準確地重復這一項工作。”其中“能詳盡地描述完成任務的過程”通俗一點講,就是程序教學并不是要培養“程序員”,而是想通過教給學生詳細的過程,來培養學生設計程序的思維方式,從而學會用這種思維來分析、解決問題。因此,程序設計是培養學生創造力的有效手段和途徑,應讓學生適當參與。
隨著計算機技術的大發展,中小學信息技術課程教學開始從“單一的技能訓練”逐步轉向“信息素養的培養”,開始注重中小學生的創新思維的訓練。尤其是2003年國家教育部頒布的中小學信息技術標準,其中將程序設計又作為選修模塊開始出現。從高中的新課標把算法與程序設計作為一個選修模塊,到義務教育階段慢慢把程序設計作為一項必修內容,程序設計又慢慢地回到信息技術教材中[2]。讓中小學生運用所學的語句自己組合程序來解決數學問題、設計小游戲等,這個過程對學生來說是一種創造設計的過程,也是一種培養分析、解決問題以及創造能力的過程,由此可見程序設計課在中小學開設是非常必要的。
2 研究的問題
2.1 問題的提出隨著網絡技術的發展,計算機語言也跟隨時代的腳步,逐步由低級語言向高級語言發展,目的在于將技術為人類方便使用。目前電子市場的發展,視覺化的表達形式充斥著人們的生活,生活在21世紀的中小學生更多的是通過形象的方式來思維、理解事物。目前中小學信息技術教學大部分是講操作應用,其中穿插一個程序設計模塊,通過代碼編寫在計算機上實現想要達到的效果。這讓教師感覺設計難度很大,因為大部分學生對編寫代碼并不感興趣,尤其是那些零基礎的初學者,如果沒有一種有效的引導方式,往往會導致他們對程序設計產生抵觸心理,導致基礎知識和媒體素養的流失。那么能不能有一種方式讓人們的思維用圖形化的方式傳遞給計算機,形象地實現思維呢?顯然圖形化編程軟件的出現為這個問題提供了幫助。本文力圖分析中小學程序設計的現狀,針對存在的問題介紹幾種相應的圖形化編程工具輔助程序教學。
2.2 概念界定
1)圖形化編程語言(Visual Programming Language)定義:允許用戶以二維或多維方式描述一個程序(Allows the User to specify a program in a two/more dimensional fashion)。
2)圖形化編程工具特點。①直觀性:圖形化編程環境比較直觀,以圖標代替傳統的編程語句。②模塊化:圖標模塊通過拖、拉,按照某種方式排列組合在一起,并且模塊組合可以進行視覺化的修改。③基于數據流:由于圖形化程序具有二維、三維特性,因此執行過程是基于數據流的,即當且僅當某個模塊的入口數據全部到達時,該模塊才被執行。
3 輔助程序設計的圖形化編程工具簡介
圖形化編程工具通過視覺化的方式將思維設計過程外化地呈現出來,是一種思維表現的工具,可以為程序設計的理解提供很好的輔助作用,從而提高程序設計學習的有效性。常用的輔助程序教學的圖形化編程工具有ELOGO、Robolab、Scratch等。
3.1 ELOGOELOGO即易樂谷,采用MSWLOGO為基本語則,用易語言實現一種新的解釋型的中文編程語言工具。“易樂谷”源程序可自動轉換為流程圖,流程圖可自動轉為“易樂谷”源程序。ELOGO實現完全中文化,因此可以用中文的命令進行介紹,也可以在界面上直接點擊生成命令(如圖1所示)。
如圖1所示,簡單直觀的操作,如果想讓小海龜前進100步,就在命令窗口中輸入“前進100”或者點擊按鈕“畫圖——前進”;如果要實現重復運行的命令,就用“重復”命令格式“重復 5[前進100左轉60]”或者點擊“處理——流程控制——重復”。
在ELOGO程序設計的過程中,配合加入導入新課部分的情境設計,這樣直觀的方式比傳統的枯燥語句更形象,更容易理解。但是需要注意的是,ELOGO本身的重要性不在于程序語句的訓練,而是ELOGO與數學整合的過程以及創新思維的培養。
3.2 ScratchScratch也叫抓貓,是MIT(麻省理工學院)發展的一套新的程序語言工具[3],該工具利用圖形化界面,把編程需要的基本技巧囊括其中,包括建模、控制、動畫、事件、邏輯、運算等;也可以用創造互動式故事、動畫、游戲、音樂和藝術,由此使學習者加強對程序設計的認知。目前Scratch提供Windows和Mac兩個版本。
Scratch已經實現漢化工作,而且采用的是積木組合式的程序語言,即用拖曳、組合的方法取代打字,免除指令輸入錯誤的困擾。另外它的圖標分成3大類:堆圖標、帽子圖標和報告型圖標。利用以上3類模塊圖標就可以開發程序,成套的邏輯程序利用突起或者其他特殊圖標按照排列順序來輔助編程,其正確與否也是可以通過圖標的搭配來判斷的,因為不能搭配的圖標是不能拖拉在一起的。
程序的設計過程首先需要注意的一點是,Scratch的程序設計都是需要一個旗幟啟動作為開始的,之后就像玩積木、拼圖一樣,從圖標區選擇所需的圖標向編輯區拖、貼和排列。
案例:小貓咪隨著鼓聲繪制一個長為100、寬為80的長方形,完成時說“你好”。
在設計開始前,學生首先在大腦中想象自己是一個導演,演員是小貓咪,要讓小貓咪繪制出長方形,那么在腦海里出現的長方形是怎樣的表象呢?比如書、課桌面等。可以跟其他學生合作,在紙上勾畫出長方形的輪廓,以找出問題解決的方法。
1)數學應用。通過拖動移動100步,旋轉90、移動80步,讓小貓咪繪制出一個長方形,這樣在操作的過程中,就讓學生了解了長方形的特點:一個閉合的圖形,并且對邊相等,4個角都是90度。同時通過操作對已有的知識進行實踐論證。
2)音樂創作。如果要讓小貓咪隨著擊鼓聲向前移動,那么如何控制鼓聲?拖過模塊圖標彈奏鼓聲來控制。在操作的過程中,從聽覺上激發學生的學習興趣,培養學生美感。
腳本程序序列如圖2所示。
3)創意思考。要讓小貓咪不斷地向前移動,在傳統的語言中是需要一個循環的語句的,在Scratch中如何實現循環語句?最終的舞臺效果如圖3所示,發現小貓咪移動過程并不自然,如果要想實現前后交替移動,應該如何實現?留給學習者一個充分的思考空間和實踐空間的同時也提升學習者的思考層次。
4)分享交流。創作完作品之后,通過分享將作品上傳到官方網站,跟世界各地的學生交流。其官方網站為http://scratch.mit.edu/。
可以看出的是,Scratch的程序設計都是基于舞臺中的角色來思考的,角色可以換,造型可以換,舞臺場景可以換,角色要表演的形式可以換,就像設計一個游戲一樣,給出一個主題任務,學習者可以運用自己所學的知識,充分發揮自己的創造力去設計自己的故事。Scratch的目的不是語法和命令本身,而是在設計角色活動的探究過程中通過感知——操作——分析——探究——論證的過程培養學生思維的發展。
通過以上2個案例的程序設計過程展示,可以看出圖形化編程工具采用的是貼近學生學習心理的界面和命令圖標,這既可以幫助中小學生對程序設計的語句命令掌握起來更容易,其內涵也可以與傳統的編程語言媲美。視覺化的程序語言更能激發創意思考與培養合作學習和問題解決的能力。
4 基于圖形化編程工具的程序設計教學框架
教育心理學家加涅根據人類學習長期以來的經驗,創造性地將人類性能概括成5類:智慧技能、認知策略、言語信息、動作技能和態度。所有教學設計都必須根據這5類性能及學習條件為基礎進行設計[5]。以加涅教學設計理論為依據,綜合考慮程序設計課程的特點,初步制定基于圖形化編程工具的程序設計教學框架(圖4)。
NETS(2000)提出面向學習者的技術基礎標準中有4大標準內容,其中“技術作為學習工具”指技術作為提高學習效率的工具、交流工具、研究工具和解決問題與決策的工具[4]。因此用技術促進學習的設計過程中,要特別注意技術作為認知工具的作用。在框架中將圖形化編程工具作為教師輔助程序教學的認知工具,由于圖形化工具是一種可視化的圖示,所以通過故事設計和logo畫圖能夠幫助學生形象理解程序概念間的關系,而且還能通過情景的巧妙設置幫助學生發揮集體智慧,一起合作探究將表象知識轉化為實圖。另外,圖形化編程工具通過動畫、游戲等設計,允許學生在操作的過程中激發創造性思維,在玩中學習程序設計,同時也將創意通過程序設計表現得淋漓盡致。最后,教師的恰當點評會幫助學生提高對程序設計的興趣,也會培養他們的作品意義感。總之,在整個教學設計框架下,既體現教師的引導作用,也突出學生為主體的地位。
5 小結
隨著信息技術的高速發展,信息素養以及創造能力的培養成為主題,可視化的思維表達成為主流趨勢,同時各種應用軟件五花八門,而又不可能將所有的軟件都搬到課堂中講解,所以程序設計必然會回歸中小學課堂成為主導內容。程序設計本身就是一個思維的整理過程,傳統的基于代碼的編程方式對于中小學生來說是越來越難學,而圖形化編程工具不僅能作為學習工具,還能提供多種方式構架框架幫助學生組織認知知識。因此,圖形化編程工具提供一種框架來輔助程序設計的學習,很大程度上會成為未來的一種趨勢。
參考文獻
[1]謝瑩.中學信息技術課程標準《趨勢》[EB/OL].[2006-12-18].http://www.360doc.com/content/061218/09/11646_297782.html
[2]深情小刀.為什么要進行程序教學.[EB/OL].[2008-7-12].http://www.sztac.net/viewthread.php?tid=20001&extra=page%3D1
[3]Scratch界面介紹[EB/OL].http://shspswenyu.googlepages.com/chapter01
[4]鐘志賢.面向知識時代的教學框架[D].上海:華東師范大學,2004
[5]R.M.加涅,L.J.布里格斯,W.W.韋杰.教學色合計原理[M].上海:華東師范大學出版社,1999