自周以真教授首次提出計算思維的概念後,計算思維相關研究得到了國內外學者的高度關注。《普通高中信息技術課程標準(2017年版)》也明確提出將計算思維作為信息技術學科的一項核心素養,計算思維成為21世紀學習者的必備能力。
計算思維與數學建模緊密相關
計算思維的本質是抽象和自動化,其中抽象是計算思維能力培養的關鍵,即將真實世界中的事物或者解決問題的過程通過分解、簡化等方式轉化為計算機設備可處理的數學模型。抽象更多的是偏向建模,自動化側重於程序設計。程序設計是信息技術學科一項重要的課程內容,也是培養學生計算思維能力的重要途徑之一,建模是數學學科一項重要的能力,而幾何圖形作為數學教學內容中的重要組成部分,對學生的建模思想培養具有重要的意義,因此結合編程與數學幾何來培養學生的計算思維非常值得研究。
編程與數學相融合的教學流程和策略
計算思維的過程要素主要包括分解、抽象、自動化、評估等方面。美國麻省理工學院媒體實驗室(MIT)終身幼兒園研究小組(Lifelong Kindergarten Group)提出了計算思維主要包括計算概念、計算實踐和計算觀念的三維框架。其中,計算概念(computational concepts)是指設計者在編程時所使用的概念,學習者在獲得該概念後,能夠將該計算概念遷移到其他項目和非編程學習的領域,它主要包括順序、循環、並行、事件、條件、運算符和數據。計算實踐(computational practices)聚焦學習者學習和思考的過程,跟計算概念相比,相當於從關注學到了什麼到關注如何學習的這個過程的轉變。這個過程主要包括遞增和重複、測試和調試、再利用和再創作、抽象和模塊化。計算觀念(computational perspectives)是學習者在經歷獲得計算概念和計算實踐的過程中形成的對這個世界以及對他們自己的認識,主要包括表達、聯繫和質疑。
結合計算思維的核心過程素和三維框架的內容,以及數學學科的抽象性,可以採用編程與數學融合教學的方式培養學生的計算思維,本文的學科融合切入點是數學幾何圖形,從小學數學課中簡單的平面幾何圖形切入,符合學生的認知和年齡特點。在小學數學中學生已經學習過用字母表示數的抽象方法,也會用數學語言形容幾何圖形特徵,對函數和參數也有一些了解,這都是開展以計算思維為核心的編程和數學融合教學的重要策略。基於此,筆者提出了編程與數學相融合的教學流程和策略(如圖1),並以教學案例的形式展開詳細介紹。
圖1
《大自然中美麗的螺旋圖》教學案例設計
1.創設真實的問題情境
出示生活中具有藝術氣息的漂亮的建築物造型以及一些自然界中的幾何美學例子(如圖2、圖3),引導學生思考:這些事物的形狀有什麼共同的特點和規律?學生通過觀察和分析會發現,它們都呈現的是一種螺旋狀。接著教師可提出問題:如何用編程的方式自動化模擬實現這些螺旋狀的圖案?
圖2
圖3
在這個環節,學生剛開始會感到沒有頭緒,教師可以通過提問、傾聽和記錄學生想法等措施引導學生認識到解決這個問題需要用到數學與編程相關的知識。
2.簡化問題,抽象建模
學生通過分析、觀察和討論發現,圖片裡面的事物形態都可簡化為曲線螺旋圖(如圖4)。比起曲線圖,中小學生對直線段構成的圖形更加熟悉,因此可以根據學生已有的知識水平,設計學習支架,幫助學生理解曲線螺旋圖的數學規律。
圖4
螺旋圖是類似螺絲殼紋理的曲線圖,它的外形看起來像圓形。學生對畫正多邊形比較熟悉,如正三角形、正方形,根據數學裡的極限思想,圓形可看成是正三十六邊形,因此這裡可以引導學生思考圖4、圖5及圖6之間的關係和特點,並通過歸納法填寫下表。
圖6
圖6
螺旋圖的大小由螺旋圖外形的最短邊長和最長邊長決定,而螺旋圖的外形由旋轉角度決定,因此螺旋圖有兩個可變化的參數值,即邊長和旋轉角度。邊長是不斷增加的值,旋轉角度又與螺旋圖外形的邊數有數學運算關係,因此,決定螺旋圖外觀的變量值有兩個,即螺旋外形的邊長和邊數。在數學學科中,字母是一種經常用到的表達抽象和變量的方式,因此,螺旋圖的兩個變量可用N和M來表示。
3.設計程序,自動化實現
根據前面對螺旋圖數學規律的分析,教師可以引導學生用語言總結表達外形分別為三角形、正方形的螺旋圖的繪製步驟。通過口頭表達,學生對螺旋圖的特點和規律相對比較清晰,然後引導學生將數學語言轉化為程式語言,這裡教師可為學生講解相關核心編程概念,變量、條件循環以及運算相關的知識,學生在經過不斷的調試、修改和優化的過程中可實現曲線螺旋圖的自動化模擬,如圖7所示。
圖7
拓展提高,交流評價
1.設置拓展任務,幫助學生舉一反三
通過「解決現實問題→分析事物的圖形特點,化繁為簡,並尋找圖形的一般規律→將問題抽象成數學模型→設計程序自動化實現」這個過程,學生掌握了相關的計算概念,經歷了相關計算實踐過程,而且有了一種新的視角來看待周圍的事物。但是發展學生的計算思維是需要時間的,接著教師可設置一些拓展性和開放性的問題為學生提供知識和技能遷移的機會,舉一反三。問題:螺旋圖元素在現實生活中經常會出現,如自然植物,地板和背景牆設計、服裝設計以及建築物雕花和紋身等場景,如何簡化並利用程序設計自動化實現如圖8(紫甘藍菜)和圖9(蕨類植物的葉子)所示的圖案呢?
圖8
圖9
圖10
圖11
學生通過仔細觀察分析和比較會發現,上面的圖也是呈螺旋狀,但是又有一些其他的幾何元素,圖8裡面有很多個三角形元素,由內而外螺旋捲成一棵菜,圖9是由很多的圓形的露珠分布在螺旋狀的葉子上,教師引導學生口頭表述兩幅圖的規律後,鼓勵學生簡化圖形,並在紙上畫出來。通過展示、比較學生的作品,最終可將兩幅圖分別抽象成如圖10、圖11所示的數學模型。
在設計程序自動化實現上的數學模型時,可先引導學生對圖形進行分解,三角形和圓形都可看成是正多邊形,故這裡可以引入定義函數的概念。函數有兩個主要的功能,一種是表達抽象的一般規律,另一種是分解問題,將子問題的程序打包為一個函數,方便在解決複雜問題時調用。定義函數正多邊形的代碼如圖12所示。在調用函數時可通過修改正多邊形的邊長x和邊數y的參數值來實現畫三角形和圓形,設計圖10和圖11的程序如圖13和圖14所示。
圖12 圖13 圖14
2.展示分享,交流評價
教師可在每個階段都鼓勵學生分享自己的思路,這個反思的過程可幫助學生發展元認知能力。在最後的作品展示環節,教師不能僅關注那些已完成設計任務的學生,還可以展示一些學生的半成品程序,讓其他學生通過「讀」和「改」一起思考解決問題的方案,以此有效突破學生理解上的困難。
結束語
本文探索了數學與信息技術學科中編程教學融合方式培養學生的計算思維,是人文引領的STEM(A-STEM)課程研究成果之一,而如何開展其他跨學科教學來培養學生的計算思維還值得進一步探索。
本文作者:
劉鮮 廣東省深圳市龍崗區寶龍學校
王繼華 廣東省深圳市龍崗區平安裡學校
文章刊登於《中國信息技術教育》2020年第21期
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.