資訊內容
【他山之石】Scratch 在小學信息技術課堂中的應用與實踐
作者
? ? ? ? 凌秋虹,蘇州市凌秋虹名師工作室主持人,中學高級教師,就職于江蘇省蘇州市平江區教育信息中心,研究方向為現代教育技術應用、小學信息技術教學。
? ? ? ? 本文刊登于2012.11
? ? ? ? 中國電化教育?總第310期
? ? ? ? 文章編號:1006——9860(2012)11—0113—04
正文
Scratch在小學信息技術課堂中的
應用與實踐
【摘要】Scratch程序的推出給信息技術學科注入了新的活力,它對培養學生的邏輯思維能力、數字化文化創造能力以及解決問題能力有著積極的意義。Scratch程序專為八歲以上兒童設計,它不需要像傳統編程軟件那樣逐行地“敲”代碼,而是通過拖曳已定義好的程序模塊,采用搭積木的方式快速實現程序的編寫。將Scratch引入了小學信息技術課堂,得到了廣大師生的喜愛。本文結合Scratch程序特點,著重闡述了其在小學信息技術課堂教學中推進的意義,以及在Scratch引入課堂后教師在教學中實施過程應注意事項等。
【關鍵字】信息技術:Scratch程序設計;解決問題;邏輯思維?
? ? ? ? 程序設計是信息技術學科教學的內容之一,它能夠幫助學生獲得解決問題的一種快速、明確、適合的途徑,因此筆者認為在程序設計教學中我們的教學目標不是為了培養“小程序員”[1],而是使學生能用程序設計的思維方式進行思考,從而提高學生解決實際問題的能力。
? ? ? ? 以往的程序設計,如VB、C+都是很好的編程軟件,但其命令冗長、結構復雜、邏輯思維抽象等特點不適合小學生學習,而Scratch的推出正好彌補了這一“遺憾”,它讓學生在圖形化的環境下掌握程序設計的基本原理與思想,并在生活化情境中加以應用與掌握。蘇州平江區將Scratch項目引入了小學信息技術課堂,不僅為信息技術課堂增添了活力,更主要的是學生在利用Scratch進行創作中,培養了學生邏輯思維能力、數字化文化創作能力以及解決問題的能力。
一
? ? Scratch程序的新特點
? ? ? ? Scratch程序是美國麻省理工學院開發的一套開源程序[2],專為八歲以上兒童設計,它不需要像傳統編程軟件那樣逐行地“敲”代碼,而是通過拖曳己定義好的程序模塊,采用搭積木的方式快速實現程序的編寫,在實踐教學應用中我們發現它具有以下特點:
1.操作簡單,趣味性強
? ? ? ?Scratch——貓抓,就像它的名字一樣富有童趣和生機,其可愛的小貓造型無形中就拉近了與孩子的距離。同時其圖形化界面、平民化語言能幫助學生理解每條指令的意義,學生只需用鼠標選擇指令以搭積木方式“編寫”程序,單擊該程序新能在“舞臺”看到結果,這種實驗的架構方式提高了學生學習的積極性。除此以外Scratch自帶素材庫以及媒體導入功能為學生創作提供了便利。
2.指令多樣,內涵豐富
? ? ? ? Scratch看似玩具但其內涵豐富。八大類指令把程序設計所需的基本概念,如建模、控制、動畫、事件、邏輯、運算等都囊括其中。從動作指令到控制語句,從傳感響應到面向對象,從數值運算到線程調度,涉及了程序設計多個方面。孩子在完成任務的過程中滲透了多種思維的培養,如:在進行整體規劃與設計時要考慮參數傳遞、流程控制等程序設計問題;在確定人物與舞臺時要考慮色造型設計、場景布置等美術設計問題;在確定角色動作與偵測控制時,要考慮坐標位置、數值運算等數學問題。總之,學生在創作的過程中參與了程序結構化、對象化、線程化等多種高級程序設計活動,使學生多種能力得到了鍛煉。
3.功能強大,應用廣泛
? ? ? ? Scratch程序同時具有Flash的動畫功能,學生通過圖形化編程的方式進行動畫制作。除此以外,它還涵蓋鼠標、鍵盤、聲音、光感、溫感等傳感,以及角色響應、廣播響應、鍵盤響應等多種響應,因此在Scratch如此強大的功能平臺上學生可輕松制作各種交互類作品,如游戲制作,音樂創編、人工智能等。
4.JAVA架構,分享創造
? ? ? ? Scratch基于JAVA架構,孩子創作的作品可以隨意發布到互聯網,供全世界小朋友分享與學習,這一特點方便了學生的交流與再創造。孩子們不分國界、不分種族、不分時間、不分年齡,以一種特殊的Scratch語言進行交流與學習,分享各自的創意與設計思想,這種特殊的交流方式擴大了他們的交流面,無形中培養了學生合作與溝通的能力。
二
? ? Scratch引入課堂的實踐意義
? ? ? ? 美國國家教育技術標準(學生第二版)指出[3]:培養學生具備創新思維能力,并能使用技術工具建構知識、開發新的產品與過程;學生能夠運用批判性思維技能與恰當的數字化工具與資源設計來開展研究、管理項目、解決問題,并做出合理的決策。由此可見,“標準”突出了對學生各項能力的要求,而不僅是對技術的使用,每一項教育技術能力標準的實現不應僅限于利用技術手段,而應使學生達到綜合運用多種方法達到這些能力要求。基于以上認識并結合一年的實踐,作者覺得Scratch架構特點和設計理念能幫助我們培養美國國家教育技術標準(學生第二版)中學生需具備的各項能力要求。它在信息技術學科中具有以下優勢:
1.有助于促進學生的心智發展
? ? ? ? 學生在小學階段是長身體、長知識、長智慧的時期,其思維從具體形象思維逐步向抽象邏輯思維過渡,但抽象邏輯思維在很大的程度上仍以感性經驗為主,具有很大的直觀性。而Scratch以其圖形化的編程方式,為孩子思維從具體走向抽象提供了搭手架。孩子在完成具體任務的過程中,通過對任務的分析、規劃,梳理出各對象間特有的邏輯關系;再通過指令的搭建、測試與調整,逐步實現了具體形象思維逐步向抽象的邏輯思維過渡。同時學生在解決問題中充分地觀察、理解、判斷、想象、假設、推理,不斷發展學生的心智。實踐表明,學生對Scratch的興趣度和學習的專注度超過所有信息技術模塊的學習,在Scratch課堂上學生們精神飽滿、思維活躍,樂此不疲地投入到自己最感興趣的創編活動中。
2.有助于激發學生數字文化的創造
? ? ? ? “兒童數字文化”是指讓學生去設計和創造屬于他們自己的數字文化作品[4]。Scratch能將多種媒體融入其中,系統自帶圖像創編功能簡單、有效地支持兒童的數字化表達。當建立Scratch項目后,學生能夠選擇、創造、管理多種媒體,包括文本,圖片,動畫以及視音頻資料,以此來準確表達作品的主題思想。其次,學生通過指令搭建實現各角色的動作并建立角色間的邏輯關系,以此來實現各種交互類、非線性的作品,它與其他數字文化創作工具(如PPT、Flash)相比,更具交互性、便捷性和靈活性。因此,在Scratch平臺上學生有足夠的能力創作出屬于自己的故事,動畫、游戲等數字文化作品。
3.有助于鍛煉學生邏輯思維能力
? ? ? 培養學生的邏輯思維能力對他們今后的成長是相當有益的,目前在我國小學階段課程設置中沒有一門學科涉及這方面內容的學習,而孩子對以往的程序設計不感興趣,但在Scratch中,可以將邏輯思維能力的訓練融入于具體的生活情景中,讓孩子在感性經驗的支持下逐步向抽象的邏輯推到方面發展,從而形成一定的邏輯思維能力。
? ? ? 同時流程圖為學生逐步從自然語言向抽象的程序設計語言過渡提供幫助,經過實踐我們發現流程圖“給力”Scratch程序,當學生能用自然語言表述某對象的動作后,學生在Scratch中就能自主嘗試探索出合理的程序搭建,但這種嘗試還是基于“猜測”,通過教師進行引導,運用流程圖幫助學生理清其中的邏輯關系。這種先嘗試再歸納的方式既符合了學生學習程序初期從感性到理性的認知規律,又無形中逐步滲透了高級程序設計中所需的抽象化的邏輯思維能力。
4.有助于培養學生解決問題的能力
? ? ? ? 培養學生解決問題的能力是新課程標準的總體目標之一。解決問題是培養學生應用能力的重要途徑,而Scratch用一種非常有意義的設計念去支持問題的發現、分析與解決。當創建一個Scratch項目后首先要根據項目要求進行系統規劃,然后對各角色動作進行分析,提出解決方案,再通過嘗試搭建逐步去實現。在這一過程中讓學生經歷了提出問題、分析對象、嘗試搭建、調試程序,最終解決問題的過程,并且Scratch被設計的腳本非常容易修改,學生在調試的過程中能方便地添加和刪除指令并能立即看到結果。因此學生在創作的過程中始終處于提出問題、分析問題和解決問題的動態過程中。
三
? ? Scratch引入課堂的教學實踐
? ? ? ? Scratch進入課堂后,隨之引發我們思考的問題是怎樣的教學方式是最有效的。在一年多Scratch實踐中,我們發現以活動項目的形式來組織課堂教學的效果最明顯。我們每學期安排4-5個項目,每個項目由1-3課時完成。如本學期安排了動物運動會、抓魚游戲、DIY賽車和注意交通安全等。學生通過一系列活動項目的創作,在不斷嘗試實踐與體驗的過程中獲取經驗、掌握方法、提升能力。下面以項目“抓魚游戲”為例分享教學實施的過程。
? ? ? ? 偵測指令是Scratch中實現信息獲取的途徑,通過“抓魚游戲”項目學習,讓學生感知偵測指令在程序設計中的作用。本課是項目“抓魚游戲”的第二課時,第一課時學生己完成了場景、角色造型的設計,編寫完成魚在水中游動的動畫。
1.教學目標:
(1)以Scratch為平臺,讓學生通過假設、探索、驗證和歸納總結,掌握偵測指令的意義;(2)掌握條件判斷語句在生活情景中的應用方法;(3)通過本項目的學習,初步感知任務設計的基本方法與思路。
2. 主要教學過程:
(1)游戲導入,建立概念
? ? ? ? 師:今大我們一起來玩“貪吃蛇”游戲,在玩游戲的過程中思考你是如何來控制這條蛇?當蛇吃到蘋果,蘋果會怎樣?
? ? ? ? 生:用鍵盤控制蛇的運動;當蛇吃到蘋果后,蘋果就會消失。
? ? ? ? 師生討論后教師導出課題:今天我們將用同樣的原理來制作“抓魚游戲”。游戲的導入大大增加了學生的學習興趣,并通過玩“貪吃蛇”游戲讓學生在“玩”中感知游戲的操控方法及各對象之間的關系,為完成本課的教學任務建立起初步概念。
(2)整體規劃,對象分析
? ? ? ? 師:請打開“抓魚游戲.sb”文件。
? ? ? ? 師:思考要制作抓魚游戲,除了小魚以外我們還需要添加什么呢?
? ? ? ? 生:小貓!
? ? ? ? 師:那如何讓小貓“動”起來呢?又如何能實現貓抓魚的動作呢?貓抓到魚后魚又會怎樣?
? ? ? ? 此時教師邊提問邊將學生的想法以“圖”的方式依次呈現(如圖1所示)。

? ? ? ? 本環節的設計意圖為:師生共同來設計抓魚游戲,并將其以圖形化的方式呈現,不僅使“抓魚游戲”各對象的動作變得簡單、明了,讓學生清晰地了解制作該游戲的整體思路基本與方法;同時在師生互動交流中訓練了學生整體規劃與設計的能力。
(3)自主搭建,完成操控
? ? ? ? 師:請同學們用學過的鍵盤控制原理讓貓“動”起來,比一比誰的方法最簡單?
? ? ? ? 學生嘗試用一組方向鍵控制小貓的運動。
? ? ? ? 師:你們在操控小貓過程中是否有問題
? ? ? ? 生:小貓沒回到原位。
? ? ? ? 師:我們該如何解決呢。
? ? ? ? 學生討論后用己學到的知識嘗試完成小貓復位功能。
? ? ? ? 本環節的設計意圖為:讓學生聯系已學過的知識與技能在此情境中加以綜合運用,通過分析、判斷和調試實現了用鍵盤控制小貓運動,有效地鍛煉了學生動手實踐能力。同時,在學生完成操控小貓任務后,教師并沒急于拋出問題,而是組織學生一起討論,通過觀察分析其不足,引導學生提出修改方案,并給學生足夠的時間去猜想、嘗試和調試并要求學生加以歸納和總結,引導學生將獲得的經驗與知識向方法轉化,提升學生應用知識的能力與水平。
(4)師生互動,突破難點
? ? ? ? 師:如何實現貓“抓”魚的動作呢?如貓抓到魚后,魚會怎樣?
? ? ? ? 生:兩者相碰;貓抓到魚后,魚消失。
? ? ? ? 師:如何知道貓碰到魚呢?這就需要用到“偵測”指令。請學生在偵測模塊中找一找該指令,并觀察偵測指令的外觀特征并嘗試搭建。
? ? ? ? 學生嘗試操作。
? ? ? ? 此時引導學生山“抓”至“碰”從而引出“偵測”指令。要求學生在偵測模塊中找了相應指令,并觀察偵測指令的外觀特征并嘗試搭建,得出:“偵測”指令必須嵌入與其外形相同的指令中。老師根據學生的描述用流程圖加以梳理與總結(如圖2所示)。

圖2 ?“偵測”指令操作流程圖
? ? ? ? 本環節的設計意圖為,教師以“抓”字入手引出“偵測”指令的意義、搭建方式以及條件判斷指令的應用方法,通過一系列問題的提出使學生置身于分析問題和解決問題的動態學習過程中,學生在解決問題過程中不斷觀察與操作、猜想與調試、分析與歸納,積極尋求解決問題的最佳方案,不僅鍛煉了學生的思維能力,而且磨練了學生勇于接受挑戰,克服困難的意志。同時流程圖的引入幫助學生從具體情境中感知條件判斷的程序結構,有效地訓練了學生的邏輯思維能力。
(5)拓展應用,啟發創新
? ? ? ? 師:在大家的努力下我們完成了抓魚游戲,你能增加游戲的難度嗎?
? ? ? ? 生:魚變多、提高魚的運動速度。
? ? ? ? 師:除些以外你還有什么辦法讓抓魚游戲變得更精彩呢?
? ? ? ? 生:主人公變造型、添加抓魚工具,發子彈、抓到后魚翻肚子……
? ? ? ? 教師繼續將學生的想法在原設計圖上添加。
? ? ? ? 師:為了能把大家的想法變為現實,老師特為大家準備了“幫助”文件,請同學們根據自己的想象選擇1-2項嘗試制作,把你的抓魚游戲變得更精彩。(“幫助文件”主要包括了改變角色的造型、運動方式,以及發生響應后的不同效果)
? ? ? ? 學生根據“幫助文件”提供的方法修改腳本。
? ? ? ? 本環節的設計意圖為:教師充分考慮到學生的差異性問題,設計了多個不同層次的“開放性”任務,較好地保護了學生的積極性和自主性。同時“幫助”文件為學生創新、實踐提供了搭手架,學生可根據自己的設想選擇自己最感興趣的內容進行創編,使學生的潛質得到了挖掘,個性得到了張揚。設計圖的引入再一次強化了學生系統規劃與設計能力。
(6)互動試玩,分享成果
? ? ? ? 師:與你的同桌互玩游戲,交流一下各自的優點及可改進的地方。將你們的作品上傳到Scratch專題網站中,課后我們比一比誰設計的游戲最精彩。
? ? ? ? 本環節的設計意圖旨在交流與分享,不僅能讓學生在 ?互“玩”的過程中分享彼此成果,更主要是讓他們盡情感受到學習的快樂和成功的喜悅,得到了美好的情感體驗。
四
? ? Scratch引入課堂的實踐思考
? ? ? ? 現代教育心理學研究指出[5],孩子的學習過程,不僅是一個接受知識的過程,更主要的是一個發現問題、分析問題、解決問題的過程。這個過程一方面是暴露孩子產生各種疑問、困難,障礙和矛盾的過程,另一方面也是展示孩子發展聰明才智,形成獨特個性與創新成果的過程。因此在Scratch引入課堂后教師在教學中應充分地考慮到這一特點,處理好以下三者之間的關系。
1. ?處理好學生的“認知能力”與項目設計的“難易程度”之間的關系
? ? ? ? 學生的認知能力關系到學生是否能順利完成知識建構,而項目設計的難易程度決定了學生的參與度和學習目標的達成度,兩者必須相匹配。但在平時的教學中我們經常會發現有些教師在設計時過多地追究項目的趣味性和完整性,無形中加大了活動項目的難度,在這樣的教學中學生的思維能力不能與所學目標相對應,在教學中教師只能機械地講解示范和學生單純模仿練習,學生始終處于被動的學習狀態,探究性學習得不到很好的實施,教學效果大打折扣。
? ? ? ? Scratch引入信息技術課堂后我們的教學目標定位不是讓學生掌握了哪些指令,能制作難度多大的交互類作品,而是讓學生在參與項目創作過程中培養他們分析問題和解決問題的能力。因此在項目設計時教師必須對學習對象有足夠的了解,對難度偏高的項目要“瘦身”、要“分解”,使其與學生的認知能力相符合,只有這樣才能使學生在學習過程中有足夠的能力去思考、去嘗試、去歸納、去總結,逐步形成自己的思維方式去解決問題,雖然這過程較長、起效較慢,但在這過程中培養了學生可持續發展的“學習力”。
2.處理好解決問題策略的“最優化”與“多樣性”之間的關系
? ? ? ? 在Scratch教學中,我們會經常發現學生在解決同一問題采用的策略是多樣的,細想其原因有兩點:一是在Scratch創作中,學生個體差異性尤為明顯,主要包括學生的思維能力和知識背景,決定著他們解題思路的不同,思維能力強的學生往往能一題多解,有些學生的想法會超出教師的預設;二是在Scratch中編程,同一問題解決的策略是多樣的,同一策略可選擇的指令也是多樣的,這必然造成了同一問題的解決方法的多樣性。在教學中我們發現有些教師會把很多時間與精力花在分析、講解學生的多樣性方案上,其結果使大部分同學因不理解他人的解題思路表現出困惑與不感興趣,原本較為清晰的概念因此變得模糊起來,給學生帶來了心理負擔。
? ? ? ? 那怎樣才能在“多樣性”策略中找到“最優化”的呢?本人認為其“最優化”的前提就是“理解”,最好的方法如學生不理解也無濟于事,因此在教學中教師應引導學生從問題的整體性入手,運用抽絲剝繭的方法帶領學生分析出問題本質,尋找解決問題的基本策略和最佳途徑。同時教師應擯除傳統程序學習經驗的影響,要用學生的思維方式帶領學生去分析,去思考、引導學生用自然語言加以總結,最終形成“最優化”方案。這種“最優化”方案可能對學過程序設計的教師來講不一定是最佳的方案,但對學生當前的思維能力和知識背景來講他們能理解、會解決實際的問題就足夠了。同時教師對提出不同方案的學生要積極肯定,鼓勵學生能一題多解,對大部分同學能理解的方案可作為案例進行交流和評析,讓學生在理解的基礎上求異、求新。
3.處理好項目設計的“基礎性”與“開放性”之間的關系
? ? ? ? 對學生來講Scratch涉及的領域較廣,并與他們的學習、生活、娛樂息息相關,因此學生對項目的設計與理解有著自己獨特的想法,他們渴望能將自己的想法融入到作品中,創造出充滿創意、個性的作品。因此在項目設計時,教師在考慮整班教學一致性的基礎上,更要注重發揮學生的主體性。在每個項目設計中需安排多個開放環節,讓學生的聰明才智充分地發揮出來。學生在同一內容學習時,實際具備的認知基礎和情感誰備都不同,決定了學生對同樣內容掌握所需要的時間及掌握的程度也不同,在項目設計時教師要考慮到學生個體差異性,因此在項目活動設計時不僅要注重項目的開放性,還要考慮項目活動設計的基礎性,也就是說項目活動的目標定位不能過高,要讓學習能力較弱的學生通過學習也能完成。如在“抓魚游戲”的拓展環節中,教師特設計了“如何來增加游戲難度”任務,其目的新是讓學習能力較弱學生也能通過自己的努力實現創新;同時又提出了“讓游戲變得更精彩”的開放話題,這樣的設計即面向了全體學生,又充分考慮到學生的個性差異,極大地滿足了學生求趣、求異、求變和求新的心理,使他們的個性、情感得到了充分的體驗。
五
? ? 結束語
? ? ? ? 總之,Scratch引入信息技術課堂,要追求整體的和諧,這好比烹飪一道菜,主料、配料、佐料都要搭配得恰到好處,烹制時的火候也要掌握得恰到好處。只有這樣,我們的信息技術課才會因它Scratch的介入而更豐富、飽滿、充盈靈動!才能實現兒童程序設計教學的華麗轉身!
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
