李艷程
【摘 要】計(jì)算思維作為信息科技學(xué)科的四大核心素養(yǎng)之一,被寫進(jìn)《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》,標(biāo)志著計(jì)算思維在培養(yǎng)具備核心競爭力的未來人才中有著重要地位。本文通過一些Scratch教學(xué)案例探索模塊化設(shè)計(jì)如何助力小學(xué)生計(jì)算思維培養(yǎng),為當(dāng)前小學(xué)生計(jì)算思維培養(yǎng)提供一定的參考。
【關(guān)鍵詞】核心素養(yǎng);計(jì)算思維;模塊化設(shè)計(jì)
【中圖分類號】G434? ?【文獻(xiàn)標(biāo)志碼】B
【論文編號】1671-7384(2024)06-068-02
小學(xué)生正處于思維發(fā)展的關(guān)鍵時(shí)期,培養(yǎng)他們的計(jì)算思維將對他們未來的學(xué)習(xí)和生活產(chǎn)生深遠(yuǎn)的影響。在《義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)》中,計(jì)算思維作為核心素養(yǎng)之一,必將推動(dòng)信息科技學(xué)科教與學(xué)的創(chuàng)新發(fā)展。
模塊化設(shè)計(jì)與計(jì)算思維
計(jì)算思維是指個(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法[1],在問題解決過程中涉及的抽象、分解、建模、算法設(shè)計(jì)等思維活動(dòng)[2]。
模塊化設(shè)計(jì)是一種分而治之的思想。在軟件工程領(lǐng)域,模塊化設(shè)計(jì)是一種將軟件系統(tǒng)分解為若干獨(dú)立模塊,每個(gè)模塊都具有特定的功能,可以單獨(dú)設(shè)計(jì)和實(shí)現(xiàn),最終通過組合這些模塊來實(shí)現(xiàn)整體功能的方法。模塊化設(shè)計(jì)同樣存在著抽象、分解、建模、算法設(shè)計(jì)的思維活動(dòng),因此,模塊化設(shè)計(jì)與計(jì)算思維存在著一定的關(guān)聯(lián)性。在教學(xué)中滲透模塊化設(shè)計(jì)將有助于小學(xué)生計(jì)算思維的培養(yǎng)和解決問題能力的提升。
模塊化設(shè)計(jì)在Scratch教學(xué)中的運(yùn)用
在Scratch教學(xué)中,教師要引導(dǎo)學(xué)生運(yùn)用模塊化設(shè)計(jì)將學(xué)習(xí)項(xiàng)目通過項(xiàng)目分層、任務(wù)分解和建模以及算法封裝的方式化整為零,各個(gè)擊破解決問題,進(jìn)而提升學(xué)生計(jì)算思維。
1.項(xiàng)目分層讓思路更清晰
分層在軟件架構(gòu)中有著廣泛的運(yùn)用,是一種系統(tǒng)思維。它把項(xiàng)目按照功能或任務(wù)分成幾個(gè)層次,各個(gè)層次之間是可以實(shí)現(xiàn)互通的,并且有著不同的任務(wù)。筆者把Scratch編程分成“界面布局層”“邏輯腳本層”“數(shù)據(jù)存儲層”“外接硬件層”。界面布局層負(fù)責(zé)游戲界面的展示,包括創(chuàng)建角色和場景構(gòu)圖;邏輯腳本層負(fù)責(zé)通過編寫腳本代碼塊來實(shí)現(xiàn)不同的游戲效果或功能;數(shù)據(jù)存儲層負(fù)責(zé)數(shù)據(jù)的存儲和管理;外接硬件層主要任務(wù)是對外接設(shè)備的控制和互通數(shù)據(jù)。
“創(chuàng)建‘海底世界場景”是福建教育出版社信息技術(shù)六年級上冊第3課,是綜合編程的第一課。教師可通過分層幫助初涉編程的學(xué)生理清編程思路,了解編寫程序的完整過程。學(xué)生在教師的引導(dǎo)下完成編程任務(wù),最后教師設(shè)計(jì)問題:請你說一說這節(jié)課是如何一步一步打造這個(gè)作品的?學(xué)生通過回憶能初步形成一個(gè)流程:選擇舞臺背景;添加角色;設(shè)計(jì)角色動(dòng)作;編寫角色腳本;測試程序。教師板書流程圖,進(jìn)而在流程圖的基礎(chǔ)上將整個(gè)流程抽象為“界面布局”“邏輯腳本”兩個(gè)層次。在界面布局層主要有舞臺背景、添加角色、設(shè)計(jì)角色動(dòng)作三項(xiàng)任務(wù),而在邏輯腳本層主要有編寫角色腳本和測試程序兩項(xiàng)任務(wù),這兩項(xiàng)任務(wù)是循環(huán)往復(fù)直至達(dá)到預(yù)期效果的。最終形成思維導(dǎo)圖,讓學(xué)生更直觀地理解完整編程過程,初步建立分層概念。
在六年級下冊的人工智能教學(xué)中還會(huì)涉及“外接硬件層”,主要任務(wù)是機(jī)器人搭建、傳感器的選擇和與傳感器的通信。在Scratch編程教學(xué)中滲透分層架構(gòu)的概念,可以幫助學(xué)生更好地理解編程的基本原則,理清編程的思路,提高邏輯思維能力和解決問題的能力,從而促進(jìn)計(jì)算思維的發(fā)展。
2.任務(wù)分解、建模讓結(jié)構(gòu)更合理
分解是將復(fù)雜問題拆分為更小、更易處理的部分(通常稱為“模塊”),然后分別解決這些小問題。在編程時(shí)我們通??梢詫⒊绦蛉蝿?wù)分解為“輸入、計(jì)算、輸出”三個(gè)模塊,這是計(jì)算機(jī)編程中最基本的三大模塊,幾乎所有計(jì)算機(jī)程序都由這三個(gè)基本模塊組成。在學(xué)習(xí)編程時(shí),理解這三個(gè)模塊的作用和原理可以幫助學(xué)生更好地組織和設(shè)計(jì)程序結(jié)構(gòu)和算法。
以福建教育出版社信息技術(shù)六年級上冊第4課“趣味編程1:猜數(shù)游戲”為例,主題要求小貓隨機(jī)產(chǎn)生一個(gè)數(shù),請學(xué)生輸入一個(gè)數(shù),小貓立刻做出判斷。若學(xué)生輸入的數(shù)大了,小貓?zhí)崾尽按罅耍俨隆保瑢W(xué)生再次輸入;若小了則提示“小了,再猜”,學(xué)生再次輸入;若學(xué)生輸入的數(shù)相等則提示“恭喜你,答對了”。
學(xué)生通過自然語言描述程序流程,發(fā)現(xiàn)在這個(gè)程序中主要涉及輸入、計(jì)算、輸出三個(gè)模塊。輸入模塊是指程序從外部獲取數(shù)據(jù)或信息的模塊,而數(shù)據(jù)來源可以是鍵盤、鼠標(biāo)或文件等。這個(gè)模塊負(fù)責(zé)接收學(xué)生輸入的數(shù)據(jù),需要使用“詢問”積木塊,通過輸入框輸入數(shù)據(jù),并將其存儲到變量中供程序后續(xù)使用。計(jì)算模塊是指程序?qū)斎氲臄?shù)據(jù)進(jìn)行處理或計(jì)算的模塊,通常需要考慮程序結(jié)構(gòu),用到一些數(shù)學(xué)運(yùn)算、邏輯運(yùn)算以及算法。在這個(gè)項(xiàng)目中,該模塊負(fù)責(zé)將學(xué)生輸入的數(shù)值與小貓產(chǎn)生的隨機(jī)數(shù)進(jìn)行比較,需要用到邏輯判斷運(yùn)算。輸出模塊是指程序?qū)⒂?jì)算結(jié)果反饋給學(xué)生的模塊,這個(gè)模塊負(fù)責(zé)輸出計(jì)算結(jié)果,需要使用“說話”積木塊、“顯示文本”積木塊或“播放聲音”積木塊等。此時(shí)小貓根據(jù)比較結(jié)果“說”出相應(yīng)的內(nèi)容,再判斷是否進(jìn)入循環(huán)。
學(xué)生通過分解任務(wù)、分析問題,運(yùn)用所學(xué)數(shù)學(xué)學(xué)科知識明確程序所需積木塊,與計(jì)算機(jī)語言建立聯(lián)系,從計(jì)算機(jī)語言的角度分解主題,選擇程序結(jié)構(gòu)、建立I/O模型、設(shè)計(jì)算法,從而解決問題,有效地提升了計(jì)算思維。
3.算法封裝讓設(shè)計(jì)更高效
封裝是面向?qū)ο蟪绦虻闹饕卣?,指的是把抽象得到的?shù)據(jù)和行為(或功能)像黑匣子一樣“封裝”成一個(gè)整體。在Scratch中,我們可以將重復(fù)使用的代碼塊封裝成自定義的積木,以便在需要時(shí)重復(fù)使用。這種封裝的思想可以培養(yǎng)學(xué)生的抽象思維和復(fù)用意識。
如在福建教育出版社信息技術(shù)六年級上冊第8課“繪制基本幾何圖形”中,教師可以在學(xué)生完成繪制正N邊形的基礎(chǔ)上讓學(xué)生嘗試?yán)L制圖形(圖1)。
圖1? 學(xué)生繪制的幾何圖形
教師和學(xué)生通過共同分析發(fā)現(xiàn),該圖形是由正五邊形復(fù)制、旋轉(zhuǎn)360°和正三角形復(fù)制、旋轉(zhuǎn)360°疊加后得到的。此時(shí)教師引入“自制積木”,并引導(dǎo)學(xué)生將繪制正N邊形的程序封裝為“正N邊形繪制”的自定義積木,以便通過重復(fù)多次調(diào)用完成圖形的繪制。
教師在此基礎(chǔ)上還可以再讓學(xué)生嘗試?yán)L制更多正N邊形的組合圖形,如“五邊形+六邊形”“五邊形+一百邊形+八邊形”等。學(xué)生通過簡單地改變參數(shù)、多次調(diào)用“正N邊形繪制”的自制積木,繪制出絢麗多彩的圖形,避免了大量的復(fù)制和粘貼,使程序變得簡潔,大大提高了編程的效率。這個(gè)過程中,學(xué)生通過觀察發(fā)現(xiàn)了在周長不變的情況下,邊數(shù)越多的正多邊形越接近圓形的規(guī)律,鍛煉了對問題的抽象、建模和算法實(shí)現(xiàn)的能力,有效地促進(jìn)了計(jì)算思維的發(fā)展。
結(jié)? 語
模塊化設(shè)計(jì)可以有效地幫助學(xué)生解決問題、編寫程序和創(chuàng)新思考。小學(xué)生通過學(xué)習(xí)如何使用模塊化編程、掌握常見的模塊和算法、培養(yǎng)抽象思維和建模能力以及注重實(shí)踐和反思等方法,可以更好地提升計(jì)算思維。
參考文獻(xiàn)
周純,以單元表現(xiàn)性評價(jià)促進(jìn)初中生計(jì)算思維的發(fā)展[J]. 中國信息技術(shù)教育,2023(1).
李鋒,李冬梅,魏雄鷹,朱莎. 發(fā)展關(guān)鍵能力 提升數(shù)字素養(yǎng)與技能:義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2022年版)的內(nèi)容設(shè)計(jì)與實(shí)施建議[J]. 教師教育學(xué)報(bào),2022(5).