吳凝

筆者所在省的小學是從三年級起開設信息技術課程的,三至六年級共有8冊教材,2019年,我們啟動了修訂小學信息技術教材的工作。在本次教材修訂中,教材內容調整為七個模塊:信息的識別與獲取,信息的存儲與管理、信息的加工與表達(文字處理、圖片處理、音視頻的獲取和處理、多媒體作品制作)、信息搜索及信息交流和網絡安全、算法與程序設計、初識機器人、初識物聯網。教材修訂后,內容中增加了編程的分量,選取了適合小學生學習的Scratch語言和LOGO語言,意在培養小學生編程的興趣和意識。筆者現將Scratch編程教材的設計與思考分享給大家。
● 編程內容設計新穎,符合小學生的年齡特點
雖然Scratch是一款適合小學生使用的積木式編程工具,人機交互友好,但對于小學生而言,編程本身是缺乏趣味的,無論編程指令還是編程規則都比較抽象和枯燥,而如果基于小學生愛玩的特點,利用Scratch編寫游戲、創編故事程序,則能夠讓他們喜歡上編程,產生成就感。
Scratch編程教材內容分為兩個單元,共16課,第一單元設計了8課時的內容。教學目標指向Scratch編程平臺和編程基礎知識的了解,設計一些簡單有趣的小任務,讓學生掌握最基本的編程技能,如:制作成語故事《坐井觀天》的動畫,讓故事中的角色進行對話;制作打籃球的小動畫,繪制籃球投籃的運動軌跡,實現籃球沿特定軌跡運動的動畫;根據輸入的正多邊形邊數,自動完成正多邊形的繪制,感受計算機重復執行指令的精準便捷;設計“神筆馬良”小游戲,實現類似“畫圖”軟件中的畫筆功能,用鼠標繪畫……每節課都讓學生在玩中學,不僅拉近了編程與實際應用的距離,并且滲透了編程的方法和思想。
第二單元的教學目標是應用前面學習的相關知識和技能解決實際問題,并且用編程方法思考問題,促進學生思維的發展。教材用8課時創編“保衛地球”故事:一顆超級大的隕石正向地球飛來,如果撞向地球,后果不堪設想。從小對計算機知識非常感興趣的Luke和它的機器人助手R2d2得知此消息后,決定用自己所學知識去完成保衛地球的任務。學生將與Luke和R2d2一同經歷隕石來襲、采集能量、進入基地、衛星偵測、準備戰斗和發射導彈這6個前期準備任務,然后完成攔截隕石任務。學生通過這個故事情境創設,學會分析需求,探究編程技能,并運用Scratch編寫完整的“保衛地球”編程作品;通過場景分析、添加角色和背景、位置初始化、角色的代碼設計和代碼完善,體驗程序設計的整個過程。
小學高年級學生的思維正處于從形象思維到抽象思維的發展過程,正在從與他們熟悉的場景的聯系中形成概念、發現并解決問題的階段,走向利用語言文字就能在大腦中重建事物發展過程來解決問題的階段,如果編程內容設計符合他們的學習心理,生動有趣,并適時提供支架,就能降低其學習編程的門檻,讓他們愛上編程,并促進思維的發展。
● 編程內容以指向學生思維培養為重點
以往在編程教學中,教師關注更多的是學生操作技能是否掌握,對學生的思維培養關注不多。我們在設計教材內容時,僅對編程中可能涉及的代碼基本用法做簡要介紹,保證學生能夠看懂程序,不進行Scratch各模塊指令的系統化學習,而是通過對游戲場景進行情節設計,讓學生理解游戲規則,編寫簡單的程序代碼,實現游戲效果,理解程序設計的基本算法和邏輯關系。
例如,處理“運動”模塊中的三個指令:
如何理解這三個指令實現的不同功能,恰當地應用于編程中,我們在設計任務時,將這幾個指令放在積木塊中,讓學生理解不同指令實現的不同效果。制作“打籃球”動畫時,要讓籃球沿著運動軌跡中各個位置點移動,可用指令來實現,但如何確定X和Y的坐標值呢?為避免沖淡教學主題,教材設計成讓學生將籃球拖動到運動軌跡的起始位置點,拖動“運動”模塊中的指令到代碼區,再次拖動籃球到運動軌跡的第二個位置點,拖動指令到代碼區,運用同樣的方法,堆積代碼實現籃球沿著運動軌跡移動的效果,但運行測試時,學生發現籃球直接從起始位置跳到了終點位置,沒能像預想的那樣沿著軌跡運動的效果,再單擊“當綠旗點擊”時籃球沒有運動,這時讓學生將指令替換成指令,就能實現籃球沿著運動軌跡運動的效果。
接著比較這兩個指令,都可以實現從坐標點X:120,Y:23到坐標點X:-48,Y:155的移動,但是用指令有延時的效果,可以實現籃球沿運動軌跡運動的效果。
● 滲透編程思想,以解決問題為核心目標
編程教學的目標指向不能僅停留在知識層面,而要指向思維、能力層面的提升,培養學生編程的邏輯思維、創新性思維,使其學會利用信息技術工具來處理信息,解決真實問題。
教材中設計的小游戲,通過明確學習任務、游戲分析、編寫角色代碼、測試和完善代碼,使用編程工具編寫程序實現游戲效果,并且設計練習,引導學生用編程的思維方式去思考問題的解決方案。例如“找蘋果”游戲中,練習是設計“換裝”游戲,用到了使用指令來偵測是否按下了方向鍵,使用指令判斷滿足條件下需要執行的指令,如果按下“向上”方向鍵,就面向90度方向前進10步。學生在理解“如果按下……鍵,就做……”思維方式的前提下,來設計“換裝”游戲的編程思路。這樣的練習設計可以讓學生在完成游戲作品中得到愉悅體驗,并且還留下了設計新游戲的空間。
● 重視調試程序,設計代碼完善環節
程序調試既是程序設計的重要環節,也是編程教學的重要環節。對于編程教學而言,程序調試除了完整地完成程序設計工作,使學生獲得成就感以外,還有很多的教育價值:其一,可以讓學生更好地體驗計算機通過自動化的程序來完成任務;其二,可以讓學生驗證編程實現任務設計的效果,進行預設與效果的比較;其三,可以培養學生縝密的邏輯思維和推理能力。我們在教材中每一課的最后都設計了“測試與完善代碼”內容,有針對性地設計“漏洞”,讓學生深感調試和完善代碼的必要性。
P68 五、測試與完善代碼
細心的同學可能會發現,代碼在運行過程中有個問題:采集飛行器總在能量塊的后面,畫面很奇怪,這是為什么呢?
這個問題可以利用角色的層疊次序來解決,在飛行器角色代碼一開始添加外觀指令,就可以使飛行器始終出現在能量塊的前面,代碼修改前后對比如下:
小學信息技術編程教學的實施是關鍵,而教師對教材設計的理解、教師編程素養的高低、教研團隊研討方法等因素,都影響著編程教學的效果,因此,在小學開展編程教學任重而道遠。