李艷程

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