倪凌云



目前,江蘇科學技術出版社出版的初中信息技術教材使用的程序設計語言是VB語言。VB學習需要一定的代碼記憶,加上VB中對象、對象的屬性、方法和事件更是抽象難懂的概念,整體教學情況不是很樂觀。而早在2013年9月份,蘇科版小學信息技術教材開始使用Scratch編程語言,從教學效果來看,Scratch編程軟件以其友好生動的界面、簡單明了的編程方式深受小學生的喜愛,雖然最后學生的作品水平參差不一,但仍能看出學生在計算思維、創意設計方面有所提升。我們認為學生在小學已經有了Scratch的基礎,到了初中不必另起爐灶學習一種新的語言,可以繼續利用Scratch進一步進行程序設計的學習。經過一個學期的試點,我們總結出Scratch教學應遵循以下策略。
策略一:基于知識聯系的單元設計
在大多數教師的眼里,課堂設計就是一節課的設計,這種“只見樹木不見森林”的設計思路必然缺乏全局觀,容易造成學生知識結構的碎片化。鐘啟泉教授認為,“核心素養—課程標準—單元設計—課時計劃”是環環相扣的教育活動基本環節,“課時計劃(一節課的設計)”是最后一個環節。單元設計是課時計劃的指引,是打通知識到素養的通道,沒有單元設計,學科的核心素養無法實現,課時計劃也只能是孤立的知識與技能的訓練。
初中Scratch試點沒有統一的教材,所以通過基于知識聯系的單元設計,明確該單元中的核心知識與技能,再將單元目標分解到各個課時,就顯得尤為重要。
在《江蘇省義務教育信息技術課程綱要(2017年修訂)》中,“算法與程序設計”單元的教學內容包括:了解算法設計的一般方法,了解一種程序設計語言,嘗試利用一種程序設計語言實現簡單的算法;了解利用計算機進行問題求解的基本思想、方法和過程。基于2017年版課程綱要的要求,我們將單元大主題確定為“Scratch趣味編程”,單元目標設定如下。
知識與技能目標:借助Scratch了解算法設計的一般方法,掌握常用的控件,并能利用該軟件制作完整的作品。
過程與方法目標:通過案例的模仿,掌握Scratch的基本知識與技能;通過作品的制作,體驗完整的創意設計過程,實現個性化創作和自我表達。
情感態度與價值觀目標:通過程序的調試,培養學生的恒心和耐心;通過程序的漸進迭代,培養學生精益求精、不斷進取的精神;通過創意作品的制作,發展學生表達自我、創新思維能力。
單元教學思路確定如下。
第一階段:回顧階段。通過回顧,復習小學階段所學知識與技能,如角色、背景的加入方法,最常用的控件等,此時使用的范例主要是動畫類范例和故事類范例,如動畫類范例“生日賀卡”、故事類范例“小蝌蚪找媽媽”等。
第二階段:模仿階段。通過模仿,進一步學習角色之間的交互,通過引入變量實現計分、計時效果……此時使用的案例主要是游戲類范例,如測測你的反應速度、接蘋果、植物大戰僵尸、驅蚊大戰等。
第三階段:創新階段。通過綜合作品的自由制作,體驗“imagine->create->play->share->reflect->imagine……”反復循環、漸進迭代的過程,實現表達自我、大膽創新的目標。
策略二:基于學情的教學范例選擇
一張空白的畫布往往讓人望而生怯,一組作品案例卻能夠激發學生的想象力。在學習Scratch時,教師要精選教學范例,以激發學生學習的興趣和激情。盧梭曾說過:“你必須在了解了你的學生之后,才能對他說第一句話。”在課堂中,教師經常高估或者低估了學生,使得教學無法順利或高效地展開,所以,準確的學情分析是范例選擇的前提。初一年級學生已具備一定的計算機使用經驗,除了常見的應用軟件外,在本地上小學的學生已在五年級學習了Scratch語言,但間隔時間比較長,出現了不同程度的遺忘。我校初一年級學生除了當地生源外,還有不少是外地生源,因此學生自身的學習能力及知識基礎存在很大差異。從思維發展的角度看,初一年級學生正處于感性思維向理性思維過渡的時期,很多時候仍需要感性思維的支撐。基于這樣的學情,在教學范例的選擇上,我們遵循以下原則。
1.趣味化原則
“興趣是最好的老師”,它是學生學習和研究的不竭動力。當學生對內容、情景發生濃厚興趣時,便會全身心投入,反之,如果學生在毫無興趣的情況下進行學習,那么這種學習無疑是一種苦役。所以,趣味性是教學范例選擇的重要原則之一,教師在課堂上安排的范例要新穎、有趣,要能激發學生的學習欲望。
趣味化教學范例:測測你的反應速度(如圖1)。
程序說明:游戲開始,小貓隱藏后在隨機位置出現,你需要快速指向并單擊小貓,程序根據時間差判定你的反應速度。
2.生活化原則
社會是育人的大學校,是學生學習的大課堂。無論是杜威提倡的“教育即生活”,還是陶行知提倡的“生活即教育”,都表明教育與生活具有一致性。心理學研究同樣表明,學習內容和學生的生活越貼近,學生接納知識的自覺程度就越高。所以,教師要善于發現符合教學內容的生活化案例。
生活化教學范例:自動駕駛(如圖2)。
程序說明:自動駕駛是人工智能領域的應用之一。本范例通過將左右兩個車燈作為傳感器模擬汽車沿著灰色路面自動行駛的效果。
策略三:漸進迭代的構造程序過程
初一年級學生的統籌規劃能力和邏輯思維能力還有所欠缺,因此,如果把復雜程序的各種要求一下子拋給學生,他們很可能會產生畏難情緒。根據維果斯基的“最近發展區”理論,我們應該創設“學生跳一跳能摘到果實”的任務,果子高度恰當,學生跳起來后能進入“最近發展區”,一跳再跳,形成一個又一個“最近發展區”。這樣學生自主學習的積極性就能得到充分調動,學生對學習也會產生極大的興趣。所以,對于一些功能相對復雜的大程序的編寫,應采用基于發展、漸進迭代的構造程序過程,將大程序的多個知識點拆分到不同的課時中,分階段、循序漸進地完成各個部分的制作,最后回顧總結,梳理整個制作過程。
在《驅蚊大戰》程序制作中,我們設計了如下四個模塊:
第一模塊:蚊子擾人(如下頁圖3)。
游戲情節:夏日炎炎,蚊子可惡,擾人清夢。隨著時間的推移,臥室中的蚊子越來越多。
制作要點:角色與背景的加入;用隨機數實現蚊子出現位置的隨機;用克隆實現蚊子一變多的效果。
第二模塊:拿殺蟲劑驅蚊(如圖4)。
游戲情節:拿到殺蟲劑,按下即可噴出殺死蚊子的氣體,被殺死的蚊子掉落地面消失。
制作要點:利用“移到”控件,實現拿到殺蟲劑的效果;利用“鼠標鍵被按下”控件實現噴射氣體的效果;利用“碰到”控件實現殺死蚊的子效果……
第三模塊:計分和計時的加入(如圖5)。
游戲情節:殺死蚊子加分;設定游戲的時間限制。
制作要點:新增“時間”變量,過1秒時間減1,如果時間為0游戲結束;新增“分數”變量,程序一開始分數清零,殺死蚊子,分數增加。
第四模塊:游戲說明的制作與加入(如圖6)。
游戲情節:游戲一開始出現游戲說明,單擊“START”按鈕說明消失,開始游戲。
制作要點:利用Flash軟件中的文字工具制作游戲說明,并導出生成PNG格式圖片,最后用Scratch軟件中的“從本地文件上傳角色”按鈕,將游戲說明圖片以角色的身份加入程序。
策略四:基于創新的個性化創作過程
“創新是一個民族進步的靈魂,是國家興旺發達的不竭動力”,擁有創新精神的民族才是最具發展力的民族。少兒編程之父、Scratch語言的發明人米切爾·雷斯尼克(Mitchel Resnick)認為,“編程是一種語言,是未來孩子們表達創造力的一種方式”。所以,Scratch軟件是創作工具,是表達工具,幫助學生游走于創意與現實之間。
1.程序實現的一題多解
在Scratch程序實現時,往往有多種解法。一題多解不僅有利于拓寬學生的思路,鍛煉其思維的靈活性,而且有利于調動學生學習的積極性,還能使課堂成為學生爭辯、探究、合作、交流的場所。
例如,在“接蘋果”程序中,利用多種方法判定蘋果沒有接到。方法一:用蘋果的Y坐標進行判斷,當Y坐標小于某個值時即認為沒有接到。方法二:在背景上畫一條用以代表地面的其他顏色的線,當蘋果碰到這種顏色時即認為沒有接到。方法三:將作為地面的線以角色的方式加入程序,當蘋果碰到該角色時即認為沒有接到。
2.加入運用技術的恰當情境
技術如果脫離了情境單獨存在,就會干巴無趣。當技術和恰當的情景結合在一起時,技術便有了生命力。通過豐富的想象,學生在自己作品中加入了恰當的情境,讓技術鮮活起來。
教學范例:簡單計算(如圖7)。
學生作品:走出魔幻森林(如圖8、圖9)。
創意說明:加入魔幻森林的情景,只有正確回答幽靈的問題,“蘋果重量和”才能離開。
3.多個作品的融合創新
自由創作階段,學生會將所學的多個作品融合生成一個新的作品。對于學生而言,綜合作品制作更有挑戰性,需要將所學知識與技能融會貫通,創新運用。
學生作品:植物大戰僵尸口算版(如圖10)。
創意說明:將植物大戰僵尸和計算結合在一起,只有計算正確才可以發射子彈。僵尸從右側向左走,被打中減少生命值,當生命值為0時,僵尸被殺死;如果僵尸走到豌豆處,游戲失敗。
在人工智能時代,編程如閱讀一樣成為學生必須掌握的一種基本技能。希望Scratch能夠撬動初中程序設計教學這一短板,希望學生們能像愛游戲一樣愛上編程。