劉鮮 王繼華
自周以真教授首次提出計算思維的概念后[1],計算思維相關(guān)研究得到了國內(nèi)外學(xué)者的高度關(guān)注。《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》也明確提出將計算思維作為信息技術(shù)學(xué)科的一項核心素養(yǎng),計算思維成為21世紀(jì)學(xué)習(xí)者的必備能力。
● 計算思維與數(shù)學(xué)建模緊密相關(guān)
計算思維的本質(zhì)是抽象和自動化,其中抽象是計算思維能力培養(yǎng)的關(guān)鍵,即將真實世界中的事物或者解決問題的過程通過分解、簡化等方式轉(zhuǎn)化為計算機(jī)設(shè)備可處理的數(shù)學(xué)模型。[2]抽象更多的是偏向建模,自動化側(cè)重于程序設(shè)計。程序設(shè)計是信息技術(shù)學(xué)科一項重要的課程內(nèi)容,也是培養(yǎng)學(xué)生計算思維能力的重要途徑之一,建模是數(shù)學(xué)學(xué)科一項重要的能力,而幾何圖形作為數(shù)學(xué)教學(xué)內(nèi)容中的重要組成部分,對學(xué)生的建模思想培養(yǎng)具有重要的意義,因此結(jié)合編程與數(shù)學(xué)幾何來培養(yǎng)學(xué)生的計算思維非常值得研究。
● 編程與數(shù)學(xué)相融合的教學(xué)流程和策略
計算思維的過程要素主要包括分解、抽象、自動化、評估等方面。美國麻省理工學(xué)院媒體實驗室(MIT)終身幼兒園研究小組(Lifelong Kindergarten Group)提出了計算思維主要包括計算概念、計算實踐和計算觀念的三維框架。[3]其中,計算概念(computational concepts)是指設(shè)計者在編程時所使用的概念,學(xué)習(xí)者在獲得該概念后,能夠?qū)⒃撚嬎愀拍钸w移到其他項目和非編程學(xué)習(xí)的領(lǐng)域,它主要包括順序、循環(huán)、并行、事件、條件、運(yùn)算符和數(shù)據(jù)。計算實踐(computational practices)聚焦學(xué)習(xí)者學(xué)習(xí)和思考的過程,跟計算概念相比,相當(dāng)于從關(guān)注學(xué)到了什么到關(guān)注如何學(xué)習(xí)的這個過程的轉(zhuǎn)變。這個過程主要包括遞增和重復(fù)、測試和調(diào)試、再利用和再創(chuàng)作、抽象和模塊化。計算觀念(computational perspectives)是學(xué)習(xí)者在經(jīng)歷獲得計算概念和計算實踐的過程中形成的對這個世界以及對他們自己的認(rèn)識,主要包括表達(dá)、聯(lián)系和質(zhì)疑。
結(jié)合計算思維的核心過程素和三維框架的內(nèi)容,以及數(shù)學(xué)學(xué)科的抽象性,可以采用編程與數(shù)學(xué)融合教學(xué)的方式培養(yǎng)學(xué)生的計算思維,本文的學(xué)科融合切入點(diǎn)是數(shù)學(xué)幾何圖形,從小學(xué)數(shù)學(xué)課中簡單的平面幾何圖形切入,符合學(xué)生的認(rèn)知和年齡特點(diǎn)。在小學(xué)數(shù)學(xué)中學(xué)生已經(jīng)學(xué)習(xí)過用字母表示數(shù)的抽象方法,也會用數(shù)學(xué)語言形容幾何圖形特征,對函數(shù)和參數(shù)也有一些了解,這都是開展以計算思維為核心的編程和數(shù)學(xué)融合教學(xué)的重要策略。基于此,筆者提出了編程與數(shù)學(xué)相融合的教學(xué)流程和策略(如下頁圖1),并以教學(xué)案例的形式展開詳細(xì)介紹。
● 《大自然中美麗的螺旋圖》教學(xué)案例設(shè)計
1.創(chuàng)設(shè)真實的問題情境
出示生活中具有藝術(shù)氣息的漂亮的建筑物造型以及一些自然界中的幾何美學(xué)例子(如圖2、圖3),引導(dǎo)學(xué)生思考:這些事物的形狀有什么共同的特點(diǎn)和規(guī)律?學(xué)生通過觀察和分析會發(fā)現(xiàn),它們都呈現(xiàn)的是一種螺旋狀。接著教師可提出問題:如何用編程的方式自動化模擬實現(xiàn)這些螺旋狀的圖案?
在這個環(huán)節(jié),學(xué)生剛開始會感到?jīng)]有頭緒,教師可以通過提問、傾聽和記錄學(xué)生想法等措施引導(dǎo)學(xué)生認(rèn)識到解決這個問題需要用到數(shù)學(xué)與編程相關(guān)的知識。
2.簡化問題,抽象建模
學(xué)生通過分析、觀察和討論發(fā)現(xiàn),圖片里面的事物形態(tài)都可簡化為曲線螺旋圖(如圖4)。比起曲線圖,中小學(xué)生對直線段構(gòu)成的圖形更加熟悉,因此可以根據(jù)學(xué)生已有的知識水平,設(shè)計學(xué)習(xí)支架,幫助學(xué)生理解曲線螺旋圖的數(shù)學(xué)規(guī)律。
螺旋圖是類似螺絲殼紋理的曲線圖,它的外形看起來像圓形。學(xué)生對畫正多邊形比較熟悉,如正三角形、正方形,根據(jù)數(shù)學(xué)里的極限思想,圓形可看成是正三十六邊形,因此這里可以引導(dǎo)學(xué)生思考圖4、圖5及圖6之間的關(guān)系和特點(diǎn),并通過歸納法填寫下表。
螺旋圖的大小由螺旋圖外形的最短邊長和最長邊長決定,而螺旋圖的外形由旋轉(zhuǎn)角度決定,因此螺旋圖有兩個可變化的參數(shù)值,即邊長和旋轉(zhuǎn)角度。邊長是不斷增加的值,旋轉(zhuǎn)角度又與螺旋圖外形的邊數(shù)有數(shù)學(xué)運(yùn)算關(guān)系,因此,決定螺旋圖外觀的變量值有兩個,即螺旋外形的邊長和邊數(shù)。在數(shù)學(xué)學(xué)科中,字母是一種經(jīng)常用到的表達(dá)抽象和變量的方式,因此,螺旋圖的兩個變量可用N和M來表示。
3.設(shè)計程序,自動化實現(xiàn)
根據(jù)前面對螺旋圖數(shù)學(xué)規(guī)律的分析,教師可以引導(dǎo)學(xué)生用語言總結(jié)表達(dá)外形分別為三角形、正方形的螺旋圖的繪制步驟。通過口頭表達(dá),學(xué)生對螺旋圖的特點(diǎn)和規(guī)律相對比較清晰,然后引導(dǎo)學(xué)生將數(shù)學(xué)語言轉(zhuǎn)化為編程語言,這里教師可為學(xué)生講解相關(guān)核心編程概念,變量、條件循環(huán)以及運(yùn)算相關(guān)的知識,學(xué)生在經(jīng)過不斷的調(diào)試、修改和優(yōu)化的過程中可實現(xiàn)曲線螺旋圖的自動化模擬,如下頁圖7所示。
● 拓展提高,交流評價
1.設(shè)置拓展任務(wù),幫助學(xué)生舉一反三
通過“解決現(xiàn)實問題→分析事物的圖形特點(diǎn),化繁為簡,并尋找圖形的一般規(guī)律→將問題抽象成數(shù)學(xué)模型→設(shè)計程序自動化實現(xiàn)”這個過程,學(xué)生掌握了相關(guān)的計算概念,經(jīng)歷了相關(guān)計算實踐過程,而且有了一種新的視角來看待周圍的事物。但是發(fā)展學(xué)生的計算思維是需要時間的,接著教師可設(shè)置一些拓展性和開放性的問題為學(xué)生提供知識和技能遷移的機(jī)會,舉一反三。問題:螺旋圖元素在現(xiàn)實生活中經(jīng)常會出現(xiàn),如自然植物,地板和背景墻設(shè)計、服裝設(shè)計以及建筑物雕花和紋身等場景,如何簡化并利用程序設(shè)計自動化實現(xiàn)如圖8(紫甘藍(lán)菜)和圖9(蕨類植物的葉子)所示的圖案呢?
學(xué)生通過仔細(xì)觀察分析和比較會發(fā)現(xiàn),上面的圖也是呈螺旋狀,但是又有一些其他的幾何元素,圖8里面有很多個三角形元素,由內(nèi)而外螺旋卷成一棵菜,圖9是由很多的圓形的露珠分布在螺旋狀的葉子上,教師引導(dǎo)學(xué)生口頭表述兩幅圖的規(guī)律后,鼓勵學(xué)生簡化圖形,并在紙上畫出來。通過展示、比較學(xué)生的作品,最終可將兩幅圖分別抽象成如圖10、圖11所示的數(shù)學(xué)模型。
在設(shè)計程序自動化實現(xiàn)上的數(shù)學(xué)模型時,可先引導(dǎo)學(xué)生對圖形進(jìn)行分解,三角形和圓形都可看成是正多邊形,故這里可以引入定義函數(shù)的概念。函數(shù)有兩個主要的功能,一種是表達(dá)抽象的一般規(guī)律,另一種是分解問題,將子問題的程序打包為一個函數(shù),方便在解決復(fù)雜問題時調(diào)用。定義函數(shù)正多邊形的代碼如圖12所示。在調(diào)用函數(shù)時可通過修改正多邊形的邊長x和邊數(shù)y的參數(shù)值來實現(xiàn)畫三角形和圓形,設(shè)計圖10和圖11的程序如圖13和圖14所示。
2.展示分享,交流評價
教師可在每個階段都鼓勵學(xué)生分享自己的思路,這個反思的過程可幫助學(xué)生發(fā)展元認(rèn)知能力。在最后的作品展示環(huán)節(jié),教師不能僅關(guān)注那些已完成設(shè)計任務(wù)的學(xué)生,還可以展示一些學(xué)生的半成品程序,讓其他學(xué)生通過“讀”和“改”一起思考解決問題的方案,以此有效突破學(xué)生理解上的困難。
● 結(jié)束語
本文探索了數(shù)學(xué)與信息技術(shù)學(xué)科中編程教學(xué)融合方式培養(yǎng)學(xué)生的計算思維,是人文引領(lǐng)的STEM(A-STEM)課程研究成果之一,而如何開展其他跨學(xué)科教學(xué)來培養(yǎng)學(xué)生的計算思維還值得進(jìn)一步探索。
參考文獻(xiàn):
[1]劉向永,周以真,王榮良,等.計算思維改變信息技術(shù)課程[J].中國信息技術(shù)教育,2013(06):5-12.
[2]王繼華.抽象:計算思維能力培養(yǎng)的關(guān)鍵[J].中小學(xué)信息技術(shù)教育,2016(03):45-47.
[3]Brennan, K.,&Resnick, M. (2012).Newframeworks for studying and assessing the development of computational thinking[C].In Proceedings of the 2012 Annual Meeting of the American Educational Research Association:1-25.