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