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