摘要:中小學程序設計初步教學應該以培養學生的信息素養為目標,不是培養“小型的程序員”,而是使得學生能用程序設計的方式進行思考,增強他們邏輯思維和解決問題的能力。該文通過對部分中小學學生進行Scratch語言的講授應用、引導學生自主進行程序設計,讓他們在快樂中學習,通過Scratch表達自己。
關鍵詞:中小學程序設計; Scratch;信息素養;積木式程序設計
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)26-7439-02
Profile and Application of Scratch Language
CHEN Jie
(Taizhou Teacher College,Information Science Department, Taizhou 225300,China)
Abstract: Preliminary design in primary and secondary schools should be teaching students information literacy as the goal, rather than training \"mini-programmers\", but the program design allows students to be thinking of ways to enhance their logical thinking and problem-solving abilities. By teaching the language to some primary and secondary school students, The author of this article guides students to conduct their own programming, so that they can learn in a happy, express themselves through Scratch.
Key words: primary and secondary schools's programming; scratch; information literacy; building-block design
在1994年的《中學信息學課程》中,明確的指出:程序設計教學是幫助學生獲得解決問題經驗的一種快速、明確而適合的途徑,教學的目標不是培養‘小型的程序員’,而是使得學生能用程序設計的方式進行思考。這就要求我們不能機械的讓學生掌握程序設計結構及算法的一般意義及應用方法,應該讓學生多對生活、生產、自然界中的實際事件進行觀察、分析、研究,這樣既激發了學生的興趣,同時也達到了培養學生的觀察類比、歸納抽象能力的目的。本文作者在對部分中小學學生進行Scratch語言的講授應用、引導學生自主進行程序設計,培養學生抽象與邏輯思維能力方面做了一些探索。
1 Scratch語言簡介
Scratch是 MIT (麻省理工學院) 開發的一套新的程序語言,Scratch語言是專門為八歲以上兒童設計,通過Scratch語言兒童可以創造性地設計出屬于自己的程序,這些程序包含動畫、游戲和交互式故事等。Scratch語言創建的目的不是為了培養少年程序員,而是孩子們可以通過Scratch表達自己,幫助他們發展學習技能,學習創造性思維,以及學習集體合作。另外一點也不能忽視,就是也可以加強他們對于程序設計流程的認識,從小培養對于程序設計的興趣。
Scratch的主要特點有:和通常的專業級的程序設計語言一樣,它也是可視化的,適用于兒童學習數學、邏輯及設計流程等(如圖1);積木組合式程序設計方法,可以用拖曳、組合的方法取代打字,免除代碼輸入錯誤的困擾;可以制作出具有故事情節的動畫或交互式游戲。
可以從http://scratch.mit.edu 上下載Scratch語言的安裝包,分別有支持Mac OS 和Windows 系統的兩種安裝程序下載。下面通過兩個例子簡單介紹一下Scratch語言如何使用。
Scratch主界面上最上面是功能按鈕,主要是新建、保存和語言選擇等功能。
在功能按鈕的左下方是腳本分類(程序指令分類)區,腳本分為8種類型:動作、控制、外觀、偵測、聲音、數值與邏輯運算、畫筆和變量。每種類型的腳本中都有具體的腳本命令塊,這就像孩童搭積木,需要哪種類型的腳本命令時,只需要將這種腳本命令塊拖動到腳本區就可以了。當需要選取多個腳本命令塊時,我們可以在腳本區內根據邏輯關系進行組合,完成相應的設計創作。
功能按鈕的正下方是:腳本、造型和聲音三個標簽。該腳本即指腳本區,就是將從腳本分類區中選擇的腳本進行組合的區域。而造型區主要是對于在設計中需要的角色進行新增或則對已有角色造型進行編輯。打開聲音標簽,就可以為程序中的角色配置聲音,這些聲音既可以通過麥克風錄制,也可以使用Scratch提供的聲效。
功能按鈕的右下方是:工具列和舞臺區。下面通過兩個項目來介紹Scratch開發環境及其應用。
2 SCRATCH語言的應用
2.1來回“走動”的小貓
“重復執行”腳本塊。兩個腳本塊靠近時,會自動形成一個整體。
2) 切換到“動作”腳本列表,將“移動10步”腳本塊,拖動到腳本區的“重復執行”當中。在腳本區測試程序時,可以雙擊一下腳本區中的綠旗,舞臺中的小貓就會向前移動10步,并反復執行該操作,直到過了舞臺的右邊界。要實現小貓在舞臺上來回走動的效果,則需要做下面的改進。
3) 在“動作”腳本列表中,將“碰到邊緣就反彈”腳本塊,拖到腳本區中的“重復執行”中。并在腳本區上方選擇 按鈕,含義是 “只允許左、右翻轉”。測試一下,發現小貓“走動”的得很快,接著進行修改,繼續添加腳本。
4) 繼續切換到“控制”腳本列表,將“等待1秒”腳本塊,拖放到“重復執行”中,并將“等待1秒”中的參數修改成0.5。最終腳本命令如圖2所示。
通過上述的幾步腳本控制,小貓實現了“走動”,但這種走動只是簡單機械的移動,小貓的雙腳并沒有交替前進的效果。要完成真正意義上的走動,需要對角色加入新的造型,下面這個例子將進一步講述新造型的應用。
2.2散步的小狗
1)首先從角色區將小貓角色刪除(右擊小貓角色,點擊刪除即可),然后再從該區域中單擊“從文件夾中選擇新的角色”按鈕,如圖3所示。雙擊Animal文件夾,從中選中一個小狗造型,文件名為dog2-b,如圖4所示。
2)點擊腳本、造型和聲音區域中的“造型”標簽,此時角色1已有一個造型在該區域中。單擊新增造型中的“輸入”按鈕,出現圖4對話框。選擇另一個小同樣狗造型,文件名為dog2-c。
3)經過添加過后,角色1就有了兩個造型了。下面就對這個角色添加相應的腳本程序。選擇 “控制”腳本列表中4)接著切換到“外觀”腳本列表中,將“切換到造型dog-2”腳本塊拖動到“重復執行”腳本塊中。 在該腳本下再添加一個“等待1秒”的腳本塊。
5)與上一步類似,將“切換到造型dog-3”腳本塊拖到 “重復執行”腳本塊中,成為“重復執行”當中的第3條腳本程序,接著繼續添加一個“等待1秒”的腳本塊。該步完成后腳本內容為圖5所示。測試一下,發現小狗只能原地踏步,不能行走。下面繼續添加腳本實現走動。
6)在每一個“等待1秒”后面再加上一個“移動10步”,這樣就可以使得小狗能夠走動起來。為了使得小狗能在舞臺上來回走動,增加一個“碰到邊緣就反彈”腳本控制塊,同時在腳本區上方選擇 按鈕,將角色由旋轉改為只允許左,右翻轉。為了使得小狗邁步比較均勻和諧,將腳本中的參數修改為如圖6所示。
測試一下,我們會發現舞臺上的小狗開始自如的仿真走動了。
3 結束語
通過如上的兩個項目,我們可以發現,Scratch只需要使用較少的腳本命令就能實現相應的功能,且腳本命令也不需要兒童死記硬背,只要從腳本列表中選擇即可。同樣他們也可以通過觀察項目效果反過來加深對程序腳本、程序結構的理解。
兒童通過Scratch不僅可以制作有趣的程序,在程序中學會創新和分享,同時也激發了他們對于程序設計的興趣,
鍛煉了邏輯思維能力。最終實現了Scratch創造者們的愿望:通過Scratch表達自己。
參考文獻:
[1] 郭善渡. 給兒童程序設計語言教學帶來新景象[J].信息技術教育,2005(12).
[2] Scratch語言[EB/O].Lhttp://scratch.mit.edu.