中小學的信息技術教育始于程序設計教學。程序設計教學不僅能幫助學生熟練掌握并運用計算機知識和技能解決實際問題,而且其獨有的結構式思維方式,也是學生學習程序語言、培養邏輯思維和創新表達能力的重要途徑。
魅力,來自Scratch獨特的育人價值
教師:從技術運用走向引領需求
隨著計算機、網絡的快速發展,信息技術課堂幾乎丟棄了程序設計教學,熱烈地追逐著技能的訓練及軟件的應用。但隨著計算機的快速普及,教師們意識到,信息技術教學已不再能滿足學生的學習需求。對于一部分學生來說,不上信息技術課,一樣能掌握這些技能,學會這些應用。這就促使一些教師開始思考程序設計教學在中小學課堂上存在的意義與價值。
當前江蘇省的程序設計教學,大多以選修課的形式開展,學習的程序語言是LOGO。但由于語言老舊,功能單一,互動性差,而其他編程語言,如Pascal、VB、Java等,對小學生來說又難學難用。因此,不少教師都在尋找更適合小學生的程序設計語言。
Scratch是一款圖形化程序設計軟件,它的出現很好地解決了小學生學習程序設計的種種問題:形象、直觀的積木式指令代替了枯燥、難記的代碼指令,沒有煩瑣的語法,大大減輕了學生的記憶負擔。編程就像是搭積木,使學生在游戲中輕輕松松就做出各種動畫、互動式故事、游戲等。在這種輕松有趣的學習任務驅動下,學生不僅會主動靈活地運用已有知識,更重要的是,他們能夠有序思考、邏輯表達、創新設計,在需求與思維間不斷尋求挑戰和平衡。
學生:從被動接受走向主動創造
從教以來,沒見過哪一個內容能像Scratch這樣吸引學生。他們學得如此投入、專注,碰到問題能主動嘗試、自覺尋求幫助,想盡一切辦法來解決問題,課堂呈現的狀態充分詮釋了“興趣是最好的老師”這句經典名言。
眾所周知,兒童最喜歡的是游戲和聊天,為什么會如此呢?游戲滿足了他們探究未知世界(虛擬世界)和獲得成功感的需要;聊天滿足了他們交流和互助分享的需要,滿足了他們社會歸屬和情感的需要。Scratch的學習恰好就能滿足學生上述兩方面的需要。不僅如此,在滿足的方式上還有了一些轉變。例如,《打地鼠》、《大魚吃小魚》、《走迷宮》等一個個學生耳熟能詳的游戲,過去只是被學生用來玩玩,學生是游戲的享用者。但現在,學生通過學習Scratch軟件,能自己制作游戲供別人玩,成為游戲的制作者。這種角色的轉變不僅激發了學生內在的成就感,更培養了他們借助技術表達思想觀念、表達生活的能力。可以說,Scratch教學的育人價值主要體現在兩個方面:一是為學生學習編程語言打下基礎,激發學生編程的興趣;二是在用Scratch設計內容、嘗試表達中培養學生的創新意識和能力。
活力,來自Scratch獨特的教學策略
基于上述分析,并根據小學生的身心特點,我們可以把教學分成兩個階段:基礎學習階段和自由創作階段。在基礎學習階段,學生掌握基礎知識與基本技能,為自由創作打下基礎,并為學習編程語言打下基礎,激發編程的興趣。在自由創作階段,學生自己設計并完成作品,滿足表達與創作的需要,在創作中促進知識與技能的遷移,實現更廣、更深入的學習,最終培養學生的創新能力。
基礎學習階段:精選范例,理解程序
由于Scratch教學尚處于探索預熱階段,目前還沒有現成的教材可供實施,因此,在基礎學習階段,一般的做法是采用范例進行教學,其步驟是:出示范例—引導分析—設計步驟—落實編程。學生模仿著制作出一件件作品,學會一條條指令。
在這整個過程中,范例的選擇或設計非常重要。Scratch軟件內置了很多實例,這些實例并非個個都可以拿來作為上課用的范例。我們在ePydtdQ2qbdlmTyNBataAnSQTMsQvsST3xQbletikjM=選擇或設計范例時必須思考:進行某一方面的創作需要哪些基本的知識與技能?例如:想讓學生用Scratch編故事、做動畫,學生需要掌握角色的繪制、角色的動作(如飛、走)、角色的對話等基本知識與技能,可以選擇《會飛的巫婆》、《火柴人的故事》、《魚兒魚兒水中游》等作為范例進行教學;想讓學生制作小游戲,可以選擇《打地鼠》、《猴子接香蕉》、《迷宮游戲》等作為范例進行教學。
我們的教學不能僅僅停留在讓學生學會制作作品的層面,更重要的是讓他們“了解程序設計的基本思想,培養邏輯思維能力”。因此,要在教學中讓學生慢慢地了解何為程序、何為程序設計。程序設計并不是簡單的一堆命令,關鍵是用命令來解決問題或實現自己的設想。在學生解決問題或實現設想的過程中,教師應注重對學生算法思維的培養。Scratch之所以能做出各種動畫、互動式故事、游戲等,關鍵是其中有一個程序做支撐。換句話說,它和傳統的編程語言有相通之處:算法的思想和基本的程序結構。例如《迷宮游戲》中的主角是一只小貓,在具體實施這節課時,教師先讓學生玩一玩該游戲,感受游戲規則,為接下來的教學做好鋪墊。在學生有了充分的感受和認識之后,教師再帶領學生具體分析這些游戲規則,設計出算法:如果碰到迷宮邊緣,就返回起點坐標,小貓停止不動;如果時間超過25秒,提示玩家輸了,停止游戲;如果走到終點,高興地歡呼,停止游戲。最后,根據算法編寫程序,實現游戲規則。教師指出,編程中用到的“如果”命令在程序設計中就叫做條件語句,接下來,教師結合具體的程序讓學生理解分支結構,即根據是否滿足特定的條件,決定下一步要執行的語句或語句塊,從而向學生傳授了程序的一般性知識。
自由創作階段:基于設計,分享智慧
學生有了基礎后,教師就可以讓學生自由創作了。受小學生認知水平的限制,教師通常會將自由創作單獨安排一個課時。具體該如何實施呢?
美國斯坦福大學的琳達·達林·哈蒙德認為,基于設計的學習來源于這樣一種觀點,即當學生被要求設計和制作出需要理解并應用知識的作品時,他們會更深入地學習。基于設計的學習中,設計活動需要經歷“定義→設計→評價→再設計”這樣一個循環過程。這樣的過程適用于發展技術性的知識和主題知識,使學生能夠在設計的過程中很好地應用與目標相關的概念。
例如:在學完范例《打地鼠》后,我安排了一節課讓學生根據學過的知識自由創作,學生創作出的作品精彩紛呈。如有學生制作了《大魚吃小魚》,該生是這樣描述她的作品的:寧靜的大海里游著一群魚,一條兇惡的鯊魚來到魚群中間,鯊魚跟著鼠標游動,當它碰到小魚,張開了嘴巴把它一口吞掉,吃完一條魚后,鯊魚會長大一點,再吃一條,再長大一點。令我驚訝的是,雖然我之前并沒有教學生如何使角色(鯊魚)變大,但是學生在制作作品的過程中能自主思考,生發“角色變大的程序應該如何編寫”的問題,并主動尋求我的幫助。我并沒有直接告訴學生答案,而是給了提示后讓學生自己去研究。這樣的研究不僅提高了學生解決問題的能力,還給學生帶來了奇妙的體驗,讓他們找到了成就感。當學生完成創意的設計后,我安排學生分享交流,根據課堂時間選擇一些典型作品進行展示,拓寬學生的視野,實現智慧互補。同時,請學生介紹自己克服困難的過程和方法。這一過程使學生獲得互相學習、評價和修改完善的機會。通過演示、講述和接受詢問,學生對知識進行歸納,產生新的創意,迎接新的挑戰,從而使學習處于良性循環中。
我想,學生身上這種自主學習意識和能力的提升,才是我們教學所追求的。在這個階段,學生的學習興趣極為濃厚,一改往日課堂的忙亂,他們時而專注于編程,時而苦思冥想,時而和旁邊的同學交流。從他們的臉上,我讀懂了什么叫主動學習。
Scratch教學不僅教會學生熟悉一條條指令,還讓學生學會綜合應用,設計出有創意的作品,這才是教學的根本。當然,Scratch教學研究尚處于探索預熱階段,希望本文能拋磚引玉,吸引更多教師對Scratch教學進行研究。
參考文獻
[1]