亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                王榮良:數(shù)學建模與編程教學融合的計算思維教育分析

                王榮良:數(shù)學建模與編程教學融合的計算思維教育分析

                教學實踐中數(shù)學建模應用的疑惑

                《普通高中信息技術課程標準(2017年版)》(簡稱《課標》)指出:計算思維是指個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動。這一系列的思維活動包括界定問題、抽象特征、建立結(jié)構模型、合理組織數(shù)據(jù)等操作??梢姡J切纬山鉀Q方案所產(chǎn)生的一系列思維活動中的重要環(huán)節(jié)之一。

                模型是對事物原型進行模擬或抽象后形成的在某些方面不失真的近似反映。模型可分為對真實事物按比例縮放的直觀模型、知識或經(jīng)驗存儲于人腦中的思維模型、用符號語言抽象描述事物特征及關系的符號模型等,不同學科也會用不同模型來描述并解決學科問題,如數(shù)學模型、計算模型、經(jīng)濟模型等。由于《課標》沒有對“結(jié)構模型”作出具體闡述,在教學實踐中,一線教師往往都將數(shù)學建模作為計算思維培養(yǎng)的重要環(huán)節(jié)。

                案 例 一

                項目學習“BMI 指數(shù)測算”。情境描述如下:在國家學生體質(zhì)健康標準中,不僅測算身高、體重,還會測算體質(zhì)指數(shù)BMI。根據(jù)相關規(guī)定,BMI指數(shù)是用體重千克數(shù)除以身高米數(shù)的平方得出的數(shù)值,WHO規(guī)定了偏瘦、正常、偏胖的BMI 值范圍。要求畫出BMI 測算的流程圖,并編寫Python程序,能夠根據(jù)輸入的身高、體重值判斷偏瘦、正常還是偏胖。教師設計的教學流程如下:

                ①抽象與建模,確定BMI的計算公式,即完成BMI=體重值/身高值^2的數(shù)學建模;

                ②設計算法,畫出反映分支結(jié)構的流程圖,并編寫程序;

                ③調(diào)試運行,記錄運行結(jié)果。

                根據(jù)案例1預設的教學要求,學生以解決身邊真實問題為目標,通過數(shù)學建模,學習算法的分支結(jié)構,實現(xiàn)計算思維的培養(yǎng)。對照《課標》關于計算思維的描述,仍存在一些困惑:其一,①中關于BMI 指數(shù)的數(shù)學建模,是不是符合《課標》中“建立結(jié)構模型”的要求,這涉及“建立結(jié)構模型”究竟是什么,及其與數(shù)學建模的關系;其二,①中抽象與建模,只是針對WHO有關規(guī)定書寫了BMI計算公式及判別范圍,該過程是否達到了數(shù)學建模教學所要求的學習效果,這涉及什么是數(shù)學建模教學的問題;其三,②中分支結(jié)構的運用,是否也是一種建模,這涉及如何理解程序設計中的建模問題。

                數(shù)學模型與數(shù)學建模概念追溯

                數(shù)學模型是將某事物系統(tǒng)的主要特征、主要關系經(jīng)抽象以后用數(shù)學語言概括地或近似地表達的一種數(shù)學結(jié)構。數(shù)學模型是實際問題的一種數(shù)學刻畫,可以是方程、函數(shù)乃至圖表或圖形。例如,BMI的計算公式就是描述人的健康狀況的一種數(shù)學刻畫,結(jié)果用分段函數(shù)表示人的體型胖瘦是否正常。

                以數(shù)學模型為工具來解決實際問題的方法稱為數(shù)學模型方法。數(shù)學模型具有概括性,現(xiàn)實世界的一些問題可以歸納為某一成熟的數(shù)學模型來解決。植樹問題就是小學數(shù)學中的一個典型數(shù)學模型,通過該模型可以讓學生深刻理解并感悟全長與間距、棵數(shù)與間隔數(shù)之間的關系。生活中許多例子可以歸結(jié)為植樹模型,如剪彩的人數(shù)和所得繩子的段數(shù)之間的關系、日歷中具體的日期和中間間隔的天數(shù)之間的關系都符合植樹模型。

                數(shù)學模型方法也包括建立數(shù)學模型,即數(shù)學建模,就是將某一領域的具體問題,經(jīng)過抽象、簡化,明確變量和參數(shù),依據(jù)某種規(guī)律建立變量和參數(shù)間的數(shù)學關系(數(shù)學模型),然后求解問題,并對此結(jié)果進行解釋和驗證,必要時還需要修正模型。如在案例1中,BMI模型的建立,就是依據(jù)健康醫(yī)學方面的知識并采集相關數(shù)據(jù),運用回歸分析等數(shù)學方法,提出假設,建立BMI指數(shù)與身高、體重的函數(shù)關系以及判別健康與否的分段函數(shù),最后對該數(shù)學模型進行驗證。由此可知,在案例1中,學生并沒開展有關BMI的數(shù)學建?;顒樱侵苯右昧薆MI的計算公式,教學設計中的數(shù)學建模只是一種問題導入的情境素材,其本質(zhì)上是為了實現(xiàn)分支結(jié)構教學目標。

                數(shù)學建模是數(shù)學學科的核心素養(yǎng)要素之一。高中數(shù)學課程標準要求:數(shù)學建?;顒邮菍ΜF(xiàn)實問題進行數(shù)學抽象的一個過程,學生首先要學會用數(shù)學語言表達實際問題,再用數(shù)學方法構建模型解決問題。學生需要經(jīng)歷以下過程:聯(lián)系生活實際,以數(shù)學的視角發(fā)現(xiàn)問題、提出問題、分析問題、形成模型,通過數(shù)學的語言對模型進行參數(shù)確定、計算求解,對模型進行結(jié)果檢驗、模型改進,解決實際問題。

                觀點1:數(shù)學建模是數(shù)學學科的教學內(nèi)容之一。在數(shù)學建模教學活動中,學生從現(xiàn)實世界中獲取有價值信息并進行定量分析,運用所學的數(shù)學知識、技能以及思想方法表達現(xiàn)實問題,形成通過數(shù)量關系認識事物的思維品質(zhì),提高用數(shù)學思維發(fā)現(xiàn)和提出問題、分析和解決問題的能力。

                數(shù)學建模中的編程應用分析

                數(shù)學是人類對世界直觀感知、高度抽象以及理性認識的產(chǎn)物,數(shù)學建模則是應用數(shù)學聯(lián)系現(xiàn)實世界的重要紐帶。數(shù)學建模的發(fā)展從數(shù)學學科向計算機、生物、物理等領域滲透,幾乎涉及人類所有的知識領域,成為這些學科不可或缺的必備工具。另外,計算機技術的應用,也提高了數(shù)學建模的功效,運用計算技術能夠更有效、快捷、準確地發(fā)現(xiàn)問題、理解問題、解決問題。無論是在模型假設階段還是在驗證階段,計算機都可以幫助收集基本信息、基本數(shù)據(jù),提供多種假設的可能性,快速驗證假設的有效性。特別是在模型求解時,通過編制計算機程序,可以高速、準確地求得模型的解,從而提高數(shù)學模型的應用效率。開展數(shù)學建模教學,融入編程及算法實現(xiàn)的教學內(nèi)容,既反映了計算機技術支持下數(shù)學建模解決問題的真實現(xiàn)狀,也有利于通過跨學科學習培養(yǎng)學生解決問題的綜合能力。

                案 例 二

                筆者早期主編的《數(shù)學建模與算法實現(xiàn)》一書中收錄的一個高中數(shù)字建模教學案例“籃球罰球投籃”。問題情境如下:按照標準尺寸,罰球位置與籃框水平距離4.6米,籃框高3.05米,籃球直徑0.246米,質(zhì)量0.6千克,籃框直徑0.45米,討論怎樣的出手角度和出手速度可以使罰球投中成功率最高。學習活動設計如下:

                ①分析問題,簡化條件,提煉關鍵信息,如不考慮籃球在空中運動時的空氣阻力和籃球自轉(zhuǎn)產(chǎn)生的影響;

                ②分析籃球、球架、球框等參數(shù)關系,提出反映出手高度、出手速度、出手角度與上述參數(shù)之間關系的函數(shù)表達以及合理的數(shù)值范圍,即實現(xiàn)初步的數(shù)學建模;

                ③編制程序,采用循環(huán)方法,針對不同的出手高度和出手速度,計算合理的出手角度,記錄數(shù)據(jù);

                ④應用數(shù)學模型,分析數(shù)據(jù),得到若干結(jié)論,如隨著出手速度的增加,出手高度對出手角度的影響變小。

                比較案例1和案例2可以發(fā)現(xiàn),案例2中的學生經(jīng)歷了數(shù)學建模的全過程,將身邊的一個非純數(shù)學問題轉(zhuǎn)化為數(shù)學問題并用數(shù)學方法解決。教學過程主要體現(xiàn)了數(shù)學思想方法的培養(yǎng),計算思維支持學生自如地使用編程工具解決數(shù)學建模過程中的計算問題。在實際教學實踐中,要求學生已經(jīng)掌握了循環(huán)結(jié)構的編程技能,能夠以編程技術為工具獲得投籃命中的出手高度、出手速度、出手角度相關數(shù)據(jù)供分析。因為如果學生不具備相應的編程技能,就會出現(xiàn)兩方面的問題:其一,學生在數(shù)學建模的問題解決過程中,難以主動意識到用編程的方法產(chǎn)生數(shù)據(jù)進行分析;其二,學習編程技能所需要的時間成本開銷可能會沖淡數(shù)學建模教學的連貫性。

                觀點2:案例2是以數(shù)學思想方法學習為教學主線,編程技術是教學實施環(huán)節(jié)中的一種支持工具。在這一類教學實踐中,學生計算思維的培養(yǎng)主要體現(xiàn)在計算學科思想方法應用的意識建立和熟練應用方面,而應用意識的養(yǎng)成是以掌握學科方法為前提的。

                計算學科中的模型與建模

                模型方法就是根據(jù)研究要求,舍棄次要的、非本質(zhì)的因素,抓住主要的、本質(zhì)的因素,建立一個便于研究、能反映研究對象目標要求的新形象。模型方法并不是數(shù)學學科所獨有的,如知識管理專業(yè)就用DIKW模型描述從數(shù)據(jù)、信息、知識到智慧的進階關系。由于專業(yè)視角不同,模型也有局限性,如DI KW強調(diào)從數(shù)據(jù)中獲取信息,而不強調(diào)客觀世界的本體信息用數(shù)據(jù)表征的過程。在計算學科,建立模型就是運用模型方法表達出一般化的計算方法或計算過程。計算思維作為一種學科思維,支持計算學科的建模過程。

                因此,運用模型方法可以簡潔地表示計算學科的基本原理和工作模式。例如,由CPU、存儲器、I/O及接口、三種總線等組成的一般化的計算機組織結(jié)構,就是反映計算機工作原理的模型。依據(jù)該模型,可以解釋鍵盤輸入的鍵值通過I/O接口及總線讀入CPU,并根據(jù)需要存入內(nèi)存的工作過程。

                模型具有層次性,不同層次需要用不同的模型來表述。在高級語言層次的模型,CPU不再被關注,重點反映的是數(shù)據(jù)的存儲與處理流程。所以,程序設計所涉及的模型通常是一種反映自動執(zhí)行序列的過程模型,這類模型的關鍵要素有數(shù)據(jù)結(jié)構、運算公式和流程控制,具體是通過變量定義、賦值語句、控制語句來構造自動化的。

                案 例 三

                求1+2+……+100的累加和的編程教學。通常的教學過程如下:①問題分析,確定采用s=s+i,i=1、2……100的循環(huán)累加方法;②確定循環(huán)初值、結(jié)束條件以及循環(huán)體的操作;③繪制流程圖,編寫程序。

                累加求和是程序設計中的一種基礎算法。如在案例3中,變量s作為累加器,與變量i 相加后結(jié)果存回累加器s中;隨著i 的變化,該操作重復100次。案例3的教學過程,是學習用循環(huán)結(jié)構實現(xiàn)累加的算法,也是經(jīng)歷建模的過程,該模型由變量s和i、運算公式s=s+i和i=i+1、循環(huán)控制結(jié)構所確定。①完成了累加求和學科方法的初步認識,②完成了累加求和算法的實施細節(jié),③完成了用程序設計語言表述該模型的構造。從某種意義上說,算法就是用于計算的一種過程模型,程序是該模型的一種形式化表達。

                學生在掌握了累加求和算法后,遇到相類似的問題,就可以用相同的算法或相似的建模方法來構造程序。例如,對于連續(xù)輸入100個數(shù),求該100個數(shù)之和這樣一個問題,學生很容易通過遷移獲得解決問題的方法。一般而言,學生面對問題,可以遷移成熟算法的建模思想,或者將該問題轉(zhuǎn)化為成熟算法問題,最終實現(xiàn)計算。以上建模和化歸的應用,都是計算思維的體現(xiàn)。

                在案例1中,其教學目標是通過BMI指數(shù)判別學習分支結(jié)構。用建模的觀點分析案例1,可以發(fā)現(xiàn),該教學可以使學生經(jīng)歷這樣一個建模過程,即建立一個由分支結(jié)構、BMI計算公式以及相關參數(shù)變量組成的模型。同時,學生也形成這樣一種解決問題的意識:凡是具有分段函數(shù)特征的問題,都可以轉(zhuǎn)換為分支結(jié)構的模型來實現(xiàn)可計算化。

                觀點3:計算思維重點體現(xiàn)在個體是否具備將問題可計算化的意識與能力,其中算法起到了很明顯的作用。算法作為一個成熟的模型,是運用計算學科的思想和建模方法,將問題一般化,經(jīng)過抽象以及形式化表達,并經(jīng)歷自動化執(zhí)行驗證所形成的。理解并運用成熟算法,或經(jīng)歷算法形成的建模過程,都是良好的計算思維培養(yǎng)渠道。

                編程教學與數(shù)學建模的融合

                由于數(shù)學學科和計算學科的天然關聯(lián),許多數(shù)學學科思想方法支持計算學科的發(fā)展。在算法與程序?qū)崿F(xiàn)中,往往可以直接使用成熟的數(shù)學模型,在案例1中,就是直接采用BMI模型作為程序的計算公式。這是因為許多數(shù)學模型具有確定性、符號性等特征,恰好與程序設計所需要的可計算要求相吻合。數(shù)學建模的思想方法也支持具有自動化屬性的程序構造,在案例3中,累加求和本質(zhì)上就是數(shù)學思想的實現(xiàn),只是在數(shù)據(jù)結(jié)構、程序流程控制等方面有明顯的計算機技術特征。

                案例3原本就是一個學習循環(huán)結(jié)構的典型例題。從教學視角分析可以發(fā)現(xiàn),該例題可以清晰地闡述循環(huán)結(jié)構的關鍵要素,如執(zhí)行累加操作的循環(huán)體、循環(huán)結(jié)束的判斷條件以及循環(huán)初值設定等。在教學過程中,可以清晰地闡述這些關鍵要素,幫助學生理解循環(huán)結(jié)構的編程應用。

                事實上,案例3 的教學情境并不是一個完全真實的應用場景。作為一名程序員,如果要完成1+2+……+100這一類等差數(shù)列累加操作,一般不會采用累加求和的方法,而只要采用高斯定理s=(1+100)*100/50,僅需要一條賦值語句就可以高效地完成運算。

                如果在教學中,采用高斯定理編程實現(xiàn),將會如何呢?當然其教學目標就不再是循環(huán)結(jié)構的認識了。將1+2+……+100的計算,用s=(1+100)*100/50公式表示,這一過程本質(zhì)上也是數(shù)學建模,即用數(shù)學模型方法來解決數(shù)學問題。在此教學過程中,學生獲得的體驗是:運用成熟的數(shù)學模型結(jié)論可以清晰地形式化表達問題,方便程序構造,最后自動化實現(xiàn)。

                如果學生沒有高斯定理的認知基礎,那么,在教學中,教師就需要引導學生完成1+2+……+100求和的計算推導,即首先需要數(shù)學建模s=(1+100)*100/50,然后才程序?qū)崿F(xiàn)。在此教學過程中,雖然高斯定理的推導是解決數(shù)學問題,但數(shù)學建模是為程序?qū)崿F(xiàn)服務的,經(jīng)歷這樣的過程,可以使學生體會到數(shù)學建模對程序?qū)崿F(xiàn)的重要性,同時也感受到數(shù)學建模的思想方法可以遷移到程序?qū)崿F(xiàn)的應用中。

                案 例 四

                遞推算法。主要教學過程如下:

                ①引入課題,分享斐波那契和兔子的故事;②分析兔子問題,推導斐波那契數(shù)公式;③提出實際問題:走道上有15塊地板,規(guī)定每步可以走一塊或兩塊地板,從第一塊走到最后一塊,共有幾種走法?最后得出符合斐波那契數(shù)公式的結(jié)論;④編寫程序并調(diào)試運行;⑤歸納總結(jié)。

                案例4預設的教學目標是:學會運用遞推算法來解決實際生活問題,培養(yǎng)計算思維。在實際教學中,因為學生沒有斐波那契數(shù)的認知基礎,故花費了大部分的課時來理解和推導斐波那契數(shù)公式,結(jié)果學生重點關注的是用數(shù)學的方法解決問題,缺乏體驗到采用合理的算法構造及程序?qū)崿F(xiàn)來實現(xiàn)遞推的巧妙,同時也淡化了計算思維培養(yǎng)的實際效果。

                觀點4:數(shù)學建模作為將現(xiàn)實問題經(jīng)抽象以后形式化表達的一種有效方式,在編程實現(xiàn)中有獨特的作用。編程教學是中小學計算思維培養(yǎng)的重要渠道,在計算思維教育中,需要正確理解數(shù)學建模的作用,合理運用數(shù)學建模開展編程教學。

                數(shù)學建模教學給計算思維教育的啟示

                計算思維教育不在于宏大敘事,而在于教學細微之處的落實。數(shù)學建模的教學實踐經(jīng)驗對計算思維教育有啟示意義。程序設計的工作是通過問題分析、構造算法,最終形成可以自動執(zhí)行的指令序列。程序設計與數(shù)據(jù)建模在方法上很相似。數(shù)學建模教學不滿足套用現(xiàn)成的數(shù)學公式解決問題,而是強調(diào)學生在經(jīng)歷分析問題、建立模型、確定參數(shù)、計算求解、檢驗結(jié)果、改進模型過程中自覺地用數(shù)學的眼光觀察世界并發(fā)現(xiàn)問題和解決問題。編程及其算法教學可以借鑒數(shù)學建模的教學理念,不能僅以學會使用Python語言、冒泡算法或者調(diào)用庫函數(shù)實現(xiàn)人臉識別為目標,而應培養(yǎng)學生形成用計算的觀點看待世界,形成將問題可計算化的意識與能力。這也正是計算思維教育的目標。

                數(shù)學建模教學強調(diào)經(jīng)歷問題解決的全過程,計算思維教育也一樣。任何理性的思維都是解決問題的思維,在計算思維教育中,問題解決僅是一個基礎性目標,不能把所有的問題解決都歸為計算思維,關鍵在于是否采用計算學科的思想方法解決問題。從數(shù)學建模與編程教學相融合的教學案例中可以發(fā)現(xiàn),數(shù)學建模與程序?qū)崿F(xiàn)中的建模要求有相同也有不同。就模型類型而言,數(shù)學模型有函數(shù)模型、概率模型、幾何模型等,而程序設計通常是選擇合適的數(shù)學模型結(jié)果,并用程序語言描述的過程模型來實現(xiàn),該過程模型的建立,是以自動化實現(xiàn)為目標的,是用形式化的方式精確表達的,具有符號性、離散性、確定性等特征,可以實現(xiàn)對象控制和數(shù)據(jù)交換。

                計算思維的培養(yǎng)不可能架空于計算學科知識與方法的學習而存在,個體對計算學科知識與方法的認識深度也影響其計算思維形成的深刻性。計算機應用的廣泛性,促使計算思維有更廣泛的應用價值,其教學形態(tài)往往是在與其他學科知識相結(jié)合解決實際問題的場景下完成的,具有跨學科學習特征。

                在本文中所列的數(shù)學建模與編程教學融合的案例中,數(shù)學學科和計算學科的思想方法也是相互交融互為支持的,但不同的案例所側(cè)重的教學目標還是有差別的。以計算思維為培養(yǎng)目標的編程教學,其相關教學需要符合計算學科的問題解決脈絡,合理運用計算學科知識與方法獲得可計算的形式化表達,設計算法以獲得可計算的構造,不能以跨學科學習為理由來掩蓋對計算學科認識的模糊。


                (本文作者:王榮良,華東師范大學)

                文章刊登于《中國信息技術教育》2022年第12期

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權歸原作者所有,如有侵權請聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月27日 15:07
                下一篇 2022年6月27日 15:07

                相關推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時間:周一至周五,10:30-18:30,節(jié)假日休息