曹偉
數學的思維特性決定了數學概念具有較強的抽象性。在教學實踐過程中,筆者發(fā)現很多小學生主要是通過死記硬背的方式來記住數學公式和概念,在解題的過程中往往也是生搬硬套,容易出現解題錯誤。長此以往,學生會逐步喪失學習數學的興趣。圖形化編程能夠有效提升學生解決問題的能力,讓學生在圖形化編程過程中,可以直觀地、具象化地演繹思維發(fā)生的真實過程,能夠從數學原理和本質上把數學概念吃透。因此,編程過程必須是科學嚴謹的輸入和輸出,需要精確到每一個過程。學生通過學習編程能夠有效培養(yǎng)數學興趣以及使用計算思維來解決問題的能力和意識。
一、在問題抽象的過程中,培養(yǎng)學生的數感
編程的過程能夠將抽象的問題形式化,利用圖形化編程能夠將問題以可視化的形式呈現出來,比傳統(tǒng)的數學演算過程更加具體、清晰。新課程標準明確提出,在數學學習過程中要使學生“經歷運用數學符號和圖形描述現實世界的過程,建立初步的數感和符號感,發(fā)展抽象思維”。學生通過經歷從具體事物到半具體半抽象的事物,最終抽象出具體的數這一過程,有效突破了學習的重難點。
在圖形化編程過程中,抽象思維也是必備素養(yǎng)之一。計算機學科的抽象可以稱為對象抽象,與數學抽象既有相似之處,又稍有不同,但是對抽象問題的分析本質是一致的。小學生最初學習“數的認識”是通過比較不同數量的水果,抽象出共同的數量屬性“幾個”,最后抽象成數的大小進行比較,再用符號來表示比較的結果,這一過程有利于學生數感的培養(yǎng)。
學生數感主要表現在計數(數數)能力、認數的速度與反應、數量關系的描述、數量的比較、數量的估計等。編程過程中,學生計算思維中的抽象來源于數學的抽象方法,但比數學的抽象概念更加寬泛。因此,圖形化編程能夠有效培養(yǎng)學生的抽象能力,發(fā)展學生的數感和計算思維。
二、在建立模型的過程中,有效發(fā)展學生的思維
課堂教學要堅持從學生已有的認知水平和身心發(fā)展水平出發(fā),舉辦能夠讓學生親身經歷和參與的學習活動,將需要解決的問題抽象成可計算的數學模型,幫助學生有效解決問題。
學生建模的過程本質上也是將知識內化為素養(yǎng)的過程,在這個過程中,學生能夠逐步形成解決問題的方法與策略,培養(yǎng)提煉、歸納的抽象概括能力。建模本質上是對問題的再認識過程。例如,累加和的問題模型,計算從1到100的累加和,可以是1+2+3+…+100=(1+100)+(2+99)…+(50+51)=101×50=5050,這種計算方法稱為高斯算法,也可以使用等差數列求和公式(1+100)×100÷2=5050。其實從1到100,一個數一個數加起來也算是一種方法,這種方法相對來說是正向解決思路。但是,在編程過程中,我們通過大量實踐,形成了等差數列求和公式的數學模型結構,即(首項+末項)×項數÷2,所求得的結果即為累加和的值。
建模作為提高解決問題效率的有效方法被廣泛采用。從一般到特殊,再從特殊到一般的迭代過程中,逐步形成了可以解決一類問題的數學模型,這種方法被我們稱為建模的基本方法。建模的本質在于抽象,能夠幫我們更好地理解問題,構建認知模型,培養(yǎng)發(fā)現問題、分析問題和解決問題的能力。因此,在解決實際問題過程中,教師應該著重關注問題的解決過程,而不是解決問題的結果。
例如,使用圖形化編程軟件Scratch編寫求解累加和的程序腳本,我們通常構建的數學模型是等差數列求累加和。通過設置三個不同的變量,分別存儲首項、末項和項數,利用Scratch中的“數字和邏輯運算符”對問題進行模型求解,從而得出問題的解。但是,在圖形化編程過程中,我們往往會使用逐項相加的方法來編寫程序,即使用“累加器”來進行不斷累加,從而提升累加和求解問題的效率。值得我們注意的是,計算機的運算處理速度是非常快的,所以逐項累加求解的過程并不會影響程序設計計算的準確率。同時,我們也發(fā)現不同的求解問題的方法,其效率和解決問題的思路是不相同的,通過圖形化編程來解決問題,能夠有效發(fā)展學生思維。
三、在形式化表征過程中,將知識內化為素養(yǎng)
對所要解決的問題進行形式化表征,是學生在對問題本質有所理解和掌握的基礎上進行的。圖形化編程的最大優(yōu)勢在于每一步過程都是可視化的。例如,在編程的過程中,將腳本中的參數進行修改,屏幕上的圖形大小就會發(fā)生巨大的變化。由此我們可以看出圖形化編程的優(yōu)勢所在,即以激發(fā)學生興趣為出發(fā)點,將數學抽象的概念變成鮮活的圖形或者動畫,深刻地印到學生的腦海里,從而幫助學生加深對數學概念的理解。
除此以外,學生可以通過學習編程來培養(yǎng)計算思維,提升邏輯思維和演繹推理能力,這些都是學習數學的必備能力。同時,編程過程中所涉及的邏輯、組織和分析數據以及對問題的解構與重構都是解決問題的有效方法和策略。數學中的問題分解,即通過將大問題拆解成多個小問題,再逐個解決,這種思維在解決很多數學問題時我們一樣可以用到。因此,學習編程可以強化學生數學能力、提高成績,這是毋庸置疑的。
編程的過程其實就是培養(yǎng)學生計算思維的過程,但編程的過程并不是簡單地培養(yǎng)學生編寫程序的技巧或經驗,也不能簡單地認為是編程思維,而應該是一種高效解決問題的思維方式和策略,即計算思維。
通過對問題的形式化表征,能夠更好地幫助學生解決問題,提高學生解決問題的效率,同時還能夠促進學生核心素養(yǎng)的發(fā)展,幫助學生將知識內化為素養(yǎng)。學生在形式化表征的過程中,實現了從發(fā)現問題到分析問題、解決問題的整個過程,這也是圖形化編程對發(fā)展學生核心素養(yǎng)的科學詮釋。
除此以外,學生在形式化表征的過程中涉及的各種解決問題的方法和策略也是學生綜合素養(yǎng)提升的重要表現,對提高學生解決問題的能力有著非常積極的促進作用。
綜上所述,通過圖形化編程的方式來培養(yǎng)學生的計算思維,能夠有效激發(fā)學生學習數學的興趣,幫助學生在算理過程中逐步發(fā)展算法設計能力,掌握結構化解決問題的基本策略與方法,逐步形成利用計算思維的基本過程解決問題的基本框架和模型,促進學生核心素養(yǎng)不斷發(fā)展。