華劍

編程教學正在成為小學生的日常學習內容,這為信息技術課程帶來了新的活力,但也迎來了新的挑戰。Scratch編程是一門趣味性、操作性非常強的課程,但如果教師只是按照“教師演示—學生操作”的講練結合模式進行教學,學生將會只是被動地吸收,無法主動去思考和探究,計算思維培養終將成為“空中樓閣”。因此,我結合自己多年的教學實踐,總結出了小學Scratch編程教學的一些策略,在此結合實際案例進行闡釋,供同行借鑒。
● 主題生活化,經歷問題解決
小學Scratch編程教學中,若缺乏與生活緊密聯系的主題,就難以激發出學生進行編程學習的內在動機。因此,教師在設計小學Scratch編程教學時,需要依據生活中具體的場景設計主題,通過項目式學習方式激發學生的學習熱情與動力,使學生在解決問題的過程中獲得成就感和滿足感,引導學生在解決日常生活中的具體問題時,學會主動運用計算思維去思考解決問題的途徑,從而發展學生有條理地思考與表達的能力。在課堂教學中,使用生活化的語言和生活化的場景設計,使教學過程貼近學生日常生活,把抽象的算法設計轉化為形象的具體問題,培養學生學會用邏輯縝密的算法思維去思考、解決實際問題,從而提高學生的邏輯思維能力。生活化教學情境給課堂營造出輕松愉悅的氛圍,壓抑與緊張不再,師生、生生交流互動頻頻。教師在情境中適時地對學生進行引導與啟發,激勵學生主動探求新知識,主動構建知識鏈。
例如,某教師曾經設計過如下生活化情境。教師通過Scratch動畫引入:小花是農村里的一個小姑娘,一天中午,小花的媽媽正在干活,為了招待家里來的客人,所以就由小花去雞舍中撿取雞蛋。然后,教師讓學生去體驗如下游戲:淘氣的母雞總拿棒球充當雞蛋,并且每次棒球進入碗中,都會砸壞雞蛋,并且雞蛋落地也會砸壞,學生需要在指定時間接住盡可能多的雞蛋,雞蛋落地或者接到棒球都會扣分。教師總結游戲的規則并提出任務要求:開發一款符合上述規則的游戲,游戲元素可以自由更換。通過引導,學生認識到這個游戲要解決的關鍵問題是如何讓物體反復出現和運動。通過創設這種生活化的情境,建立起生活情景與教學內容的聯系,讓學生能夠切身感受到相關知識,達到吸引學生注意力、激發學習興趣的目的。
● 范例展示,任務分解細化
在小學Scratch編程教學中,教師不會直接讓學生編寫程序,而是經常會先使用范例程序讓學生體驗和分析,進而進行任務的分解和細化。范例設計是否有效,能夠直接影響課堂教學的效果。因此,教師呈現范例時要特別注意其趣味性,只有范例有趣了,學生才能產生探究編程知識與技能的主動性。在分析范例的過程中,教師要重在引導學生逐漸形成解決問題的思路和方法。在此過程中,學生通過對對象進行程序設計思想,關注程序中的“對象”,以及與“對象”有關的“屬性”“行為”,為接下來分“對象”進行編程做好鋪墊。同時,教師要讓學生充分體會編程中的“分解”概念。面對一個復雜的實例,學生常常無從下手,看似簡單卻不知如何開始入手編寫腳本。學會分解,學生則能夠很好地理清思緒。
例如,教師展示如下制作好的動畫范例。在智慧城堡的一個房間里,傳來奇怪的聲音,書桌邊上有頂時隱時現的魔法帽子,小貓在房間里自由行走。當小貓碰到閃動的魔法帽時,魔法帽對小貓說:“你已經擁有了畫筆的魔力!”而后背景切換到另一個場景,同時魔法帽消失。此時,小貓自由行走時可畫出圖形。學生在教師的指導下,通過小組討論找出程序中的角色,分析出各角色對應的事件,用自己的語言描述出角色的動畫過程。
再如,教師展示打地鼠游戲,引出問題情境。學生嘗試著玩一玩游戲,并進行觀察與理解,然后填寫學習單。學生重點需要關注:這個游戲都有哪些角色?什么功能?怎么玩?要求學生觀察項目角色和場景,并了解項目完成后的執行效果。學生小組討論以下幾個問題:游戲中有幾個角色?(兩個:地鼠和錘子)錘子是怎么移動的?有什么變化?引導學生回憶:錘子隨著鼠標移動,當按下鼠標的時候,切換到造型錘子落下,等待一定的時間后,再次回到錘子舉起。
● 搭建程序,可視化表示
小學Scratch教學中,最為重要的是體現學生的計算思維,而不僅僅是學習代碼的編寫。怎樣在編程教學中提升學生的思維品質呢?我主要采用思維可視化的教學方式。思維可視化可以有效幫助學生挖掘和呈現編程背后的內在關系和思考過程等。在小學Scratch編程教學中,教師可以引導學生觀察和思考Scratch舞臺中不同角色的關系和變化過程。學生通過思考可以將所思所想記錄下來,并且理順相互之間的邏輯關系。教師可以引導學生畫出Scratch程序的流程圖。學生根據流程圖,到腳本編寫區,找到相應的模塊指令,對不同的角色開始編寫不同的腳本。教師要從問題入手,有序、有針對性地引導學生分析、思考,在此基礎上引導學生嘗試形成解決問題的思路流程,分析思考用自己的語言解決問題的方法步驟,用“圖示”表示出人物的動畫過程。學生通過利用“圖示”分析角色的行為步驟,用Scratch逐步將算法轉換為程序代碼,培養了學生的算法思維。通過前面的各種可視化方法,然后再編寫程序,思維就清晰多了。
例如,學生可以畫出下圖所示的流程圖。
● 程序調試,糾錯中成長
任何程序都不是很容易地一次性就能夠成功,而是需要經過反復調試程序。恰恰通過程序調試,讓學生在調試中不斷糾錯,才能不斷地在情感、知識與技能方面成長。通過學生自主調試修改,重復斟酌,不僅在知識與技能上得到了鞏固提升,編程能力更能夠得到鍛煉。程序調試是Scratch編程教育中的重要組成部分,貫穿了Scratch的整個學習過程。學生在進行Scratch作品調試時,需要明晰自己所使用的每一個執行語句的作用,并且不斷地熟悉整個程序設計的全部流程。特別是當學生遇到程序執行錯誤或不能執行時,就需要對程序進行糾錯。糾錯是小學Scratch編程教育的一個重要內容。糾錯時,學生要學著像計算機一樣思考問題,理解程序所對應的運行效果。缺陷任務能夠提高學生的糾錯能力,讓學生在自我“擺弄”的過程中培養糾錯能力。在程序編寫實踐過程中,學生對程序進行不斷地調試、糾錯和優化,能夠培養學生的工程思維。
教學實踐證明,教師只要勇于開拓腦筋,真正地從學生角度出發,采取有效的支架幫助學生進行程序設計和調試,就能夠有效地開展Scratch編程教學。我們只有不斷地改進課堂教學策略,提高學生的思考積極性,才能讓學生攀登上“計算思維”的高峰。