教學(xué)實(shí)踐中數(shù)學(xué)建模應(yīng)用的疑惑
《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》(簡(jiǎn)稱《課標(biāo)》)指出:計(jì)算思維是指?jìng)€(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問(wèn)題解決方案的過(guò)程中產(chǎn)生的一系列思維活動(dòng)。這一系列的思維活動(dòng)包括界定問(wèn)題、抽象特征、建立結(jié)構(gòu)模型、合理組織數(shù)據(jù)等操作。可見,建模是形成解決方案所產(chǎn)生的一系列思維活動(dòng)中的重要環(huán)節(jié)之一。
模型是對(duì)事物原型進(jìn)行模擬或抽象后形成的在某些方面不失真的近似反映。模型可分為對(duì)真實(shí)事物按比例縮放的直觀模型、知識(shí)或經(jīng)驗(yàn)存儲(chǔ)于人腦中的思維模型、用符號(hào)語(yǔ)言抽象描述事物特征及關(guān)系的符號(hào)模型等,不同學(xué)科也會(huì)用不同模型來(lái)描述并解決學(xué)科問(wèn)題,如數(shù)學(xué)模型、計(jì)算模型、經(jīng)濟(jì)模型等。由于《課標(biāo)》沒有對(duì)“結(jié)構(gòu)模型”作出具體闡述,在教學(xué)實(shí)踐中,一線教師往往都將數(shù)學(xué)建模作為計(jì)算思維培養(yǎng)的重要環(huán)節(jié)。
案 例 一
項(xiàng)目學(xué)習(xí)“BMI 指數(shù)測(cè)算”。情境描述如下:在國(guó)家學(xué)生體質(zhì)健康標(biāo)準(zhǔn)中,不僅測(cè)算身高、體重,還會(huì)測(cè)算體質(zhì)指數(shù)BMI。根據(jù)相關(guān)規(guī)定,BMI指數(shù)是用體重千克數(shù)除以身高米數(shù)的平方得出的數(shù)值,WHO規(guī)定了偏瘦、正常、偏胖的BMI 值范圍。要求畫出BMI 測(cè)算的流程圖,并編寫Python程序,能夠根據(jù)輸入的身高、體重值判斷偏瘦、正常還是偏胖。教師設(shè)計(jì)的教學(xué)流程如下:
①抽象與建模,確定BMI的計(jì)算公式,即完成BMI=體重值/身高值^2的數(shù)學(xué)建模;
②設(shè)計(jì)算法,畫出反映分支結(jié)構(gòu)的流程圖,并編寫程序;
③調(diào)試運(yùn)行,記錄運(yùn)行結(jié)果。
根據(jù)案例1預(yù)設(shè)的教學(xué)要求,學(xué)生以解決身邊真實(shí)問(wèn)題為目標(biāo),通過(guò)數(shù)學(xué)建模,學(xué)習(xí)算法的分支結(jié)構(gòu),實(shí)現(xiàn)計(jì)算思維的培養(yǎng)。對(duì)照《課標(biāo)》關(guān)于計(jì)算思維的描述,仍存在一些困惑:其一,①中關(guān)于BMI 指數(shù)的數(shù)學(xué)建模,是不是符合《課標(biāo)》中“建立結(jié)構(gòu)模型”的要求,這涉及“建立結(jié)構(gòu)模型”究竟是什么,及其與數(shù)學(xué)建模的關(guān)系;其二,①中抽象與建模,只是針對(duì)WHO有關(guān)規(guī)定書寫了BMI計(jì)算公式及判別范圍,該過(guò)程是否達(dá)到了數(shù)學(xué)建模教學(xué)所要求的學(xué)習(xí)效果,這涉及什么是數(shù)學(xué)建模教學(xué)的問(wèn)題;其三,②中分支結(jié)構(gòu)的運(yùn)用,是否也是一種建模,這涉及如何理解程序設(shè)計(jì)中的建模問(wèn)題。
數(shù)學(xué)模型與數(shù)學(xué)建模概念追溯
數(shù)學(xué)模型是將某事物系統(tǒng)的主要特征、主要關(guān)系經(jīng)抽象以后用數(shù)學(xué)語(yǔ)言概括地或近似地表達(dá)的一種數(shù)學(xué)結(jié)構(gòu)。數(shù)學(xué)模型是實(shí)際問(wèn)題的一種數(shù)學(xué)刻畫,可以是方程、函數(shù)乃至圖表或圖形。例如,BMI的計(jì)算公式就是描述人的健康狀況的一種數(shù)學(xué)刻畫,結(jié)果用分段函數(shù)表示人的體型胖瘦是否正常。
以數(shù)學(xué)模型為工具來(lái)解決實(shí)際問(wèn)題的方法稱為數(shù)學(xué)模型方法。數(shù)學(xué)模型具有概括性,現(xiàn)實(shí)世界的一些問(wèn)題可以歸納為某一成熟的數(shù)學(xué)模型來(lái)解決。植樹問(wèn)題就是小學(xué)數(shù)學(xué)中的一個(gè)典型數(shù)學(xué)模型,通過(guò)該模型可以讓學(xué)生深刻理解并感悟全長(zhǎng)與間距、棵數(shù)與間隔數(shù)之間的關(guān)系。生活中許多例子可以歸結(jié)為植樹模型,如剪彩的人數(shù)和所得繩子的段數(shù)之間的關(guān)系、日歷中具體的日期和中間間隔的天數(shù)之間的關(guān)系都符合植樹模型。
數(shù)學(xué)模型方法也包括建立數(shù)學(xué)模型,即數(shù)學(xué)建模,就是將某一領(lǐng)域的具體問(wèn)題,經(jīng)過(guò)抽象、簡(jiǎn)化,明確變量和參數(shù),依據(jù)某種規(guī)律建立變量和參數(shù)間的數(shù)學(xué)關(guān)系(數(shù)學(xué)模型),然后求解問(wèn)題,并對(duì)此結(jié)果進(jìn)行解釋和驗(yàn)證,必要時(shí)還需要修正模型。如在案例1中,BMI模型的建立,就是依據(jù)健康醫(yī)學(xué)方面的知識(shí)并采集相關(guān)數(shù)據(jù),運(yùn)用回歸分析等數(shù)學(xué)方法,提出假設(shè),建立BMI指數(shù)與身高、體重的函數(shù)關(guān)系以及判別健康與否的分段函數(shù),最后對(duì)該數(shù)學(xué)模型進(jìn)行驗(yàn)證。由此可知,在案例1中,學(xué)生并沒開展有關(guān)BMI的數(shù)學(xué)建模活動(dòng),而是直接引用了BMI的計(jì)算公式,教學(xué)設(shè)計(jì)中的數(shù)學(xué)建模只是一種問(wèn)題導(dǎo)入的情境素材,其本質(zhì)上是為了實(shí)現(xiàn)分支結(jié)構(gòu)教學(xué)目標(biāo)。
數(shù)學(xué)建模是數(shù)學(xué)學(xué)科的核心素養(yǎng)要素之一。高中數(shù)學(xué)課程標(biāo)準(zhǔn)要求:數(shù)學(xué)建模活動(dòng)是對(duì)現(xiàn)實(shí)問(wèn)題進(jìn)行數(shù)學(xué)抽象的一個(gè)過(guò)程,學(xué)生首先要學(xué)會(huì)用數(shù)學(xué)語(yǔ)言表達(dá)實(shí)際問(wèn)題,再用數(shù)學(xué)方法構(gòu)建模型解決問(wèn)題。學(xué)生需要經(jīng)歷以下過(guò)程:聯(lián)系生活實(shí)際,以數(shù)學(xué)的視角發(fā)現(xiàn)問(wèn)題、提出問(wèn)題、分析問(wèn)題、形成模型,通過(guò)數(shù)學(xué)的語(yǔ)言對(duì)模型進(jìn)行參數(shù)確定、計(jì)算求解,對(duì)模型進(jìn)行結(jié)果檢驗(yàn)、模型改進(jìn),解決實(shí)際問(wèn)題。
觀點(diǎn)1:數(shù)學(xué)建模是數(shù)學(xué)學(xué)科的教學(xué)內(nèi)容之一。在數(shù)學(xué)建模教學(xué)活動(dòng)中,學(xué)生從現(xiàn)實(shí)世界中獲取有價(jià)值信息并進(jìn)行定量分析,運(yùn)用所學(xué)的數(shù)學(xué)知識(shí)、技能以及思想方法表達(dá)現(xiàn)實(shí)問(wèn)題,形成通過(guò)數(shù)量關(guān)系認(rèn)識(shí)事物的思維品質(zhì),提高用數(shù)學(xué)思維發(fā)現(xiàn)和提出問(wèn)題、分析和解決問(wèn)題的能力。
數(shù)學(xué)建模中的編程應(yīng)用分析
數(shù)學(xué)是人類對(duì)世界直觀感知、高度抽象以及理性認(rèn)識(shí)的產(chǎn)物,數(shù)學(xué)建模則是應(yīng)用數(shù)學(xué)聯(lián)系現(xiàn)實(shí)世界的重要紐帶。數(shù)學(xué)建模的發(fā)展從數(shù)學(xué)學(xué)科向計(jì)算機(jī)、生物、物理等領(lǐng)域滲透,幾乎涉及人類所有的知識(shí)領(lǐng)域,成為這些學(xué)科不可或缺的必備工具。另外,計(jì)算機(jī)技術(shù)的應(yīng)用,也提高了數(shù)學(xué)建模的功效,運(yùn)用計(jì)算技術(shù)能夠更有效、快捷、準(zhǔn)確地發(fā)現(xiàn)問(wèn)題、理解問(wèn)題、解決問(wèn)題。無(wú)論是在模型假設(shè)階段還是在驗(yàn)證階段,計(jì)算機(jī)都可以幫助收集基本信息、基本數(shù)據(jù),提供多種假設(shè)的可能性,快速驗(yàn)證假設(shè)的有效性。特別是在模型求解時(shí),通過(guò)編制計(jì)算機(jī)程序,可以高速、準(zhǔn)確地求得模型的解,從而提高數(shù)學(xué)模型的應(yīng)用效率。開展數(shù)學(xué)建模教學(xué),融入編程及算法實(shí)現(xiàn)的教學(xué)內(nèi)容,既反映了計(jì)算機(jī)技術(shù)支持下數(shù)學(xué)建模解決問(wèn)題的真實(shí)現(xiàn)狀,也有利于通過(guò)跨學(xué)科學(xué)習(xí)培養(yǎng)學(xué)生解決問(wèn)題的綜合能力。
案 例 二
筆者早期主編的《數(shù)學(xué)建模與算法實(shí)現(xiàn)》一書中收錄的一個(gè)高中數(shù)字建模教學(xué)案例“籃球罰球投籃”。問(wèn)題情境如下:按照標(biāo)準(zhǔn)尺寸,罰球位置與籃框水平距離4.6米,籃框高3.05米,籃球直徑0.246米,質(zhì)量0.6千克,籃框直徑0.45米,討論怎樣的出手角度和出手速度可以使罰球投中成功率最高。學(xué)習(xí)活動(dòng)設(shè)計(jì)如下:
①分析問(wèn)題,簡(jiǎn)化條件,提煉關(guān)鍵信息,如不考慮籃球在空中運(yùn)動(dòng)時(shí)的空氣阻力和籃球自轉(zhuǎn)產(chǎn)生的影響;
②分析籃球、球架、球框等參數(shù)關(guān)系,提出反映出手高度、出手速度、出手角度與上述參數(shù)之間關(guān)系的函數(shù)表達(dá)以及合理的數(shù)值范圍,即實(shí)現(xiàn)初步的數(shù)學(xué)建模;
③編制程序,采用循環(huán)方法,針對(duì)不同的出手高度和出手速度,計(jì)算合理的出手角度,記錄數(shù)據(jù);
④應(yīng)用數(shù)學(xué)模型,分析數(shù)據(jù),得到若干結(jié)論,如隨著出手速度的增加,出手高度對(duì)出手角度的影響變小。
比較案例1和案例2可以發(fā)現(xiàn),案例2中的學(xué)生經(jīng)歷了數(shù)學(xué)建模的全過(guò)程,將身邊的一個(gè)非純數(shù)學(xué)問(wèn)題轉(zhuǎn)化為數(shù)學(xué)問(wèn)題并用數(shù)學(xué)方法解決。教學(xué)過(guò)程主要體現(xiàn)了數(shù)學(xué)思想方法的培養(yǎng),計(jì)算思維支持學(xué)生自如地使用編程工具解決數(shù)學(xué)建模過(guò)程中的計(jì)算問(wèn)題。在實(shí)際教學(xué)實(shí)踐中,要求學(xué)生已經(jīng)掌握了循環(huán)結(jié)構(gòu)的編程技能,能夠以編程技術(shù)為工具獲得投籃命中的出手高度、出手速度、出手角度相關(guān)數(shù)據(jù)供分析。因?yàn)槿绻麑W(xué)生不具備相應(yīng)的編程技能,就會(huì)出現(xiàn)兩方面的問(wèn)題:其一,學(xué)生在數(shù)學(xué)建模的問(wèn)題解決過(guò)程中,難以主動(dòng)意識(shí)到用編程的方法產(chǎn)生數(shù)據(jù)進(jìn)行分析;其二,學(xué)習(xí)編程技能所需要的時(shí)間成本開銷可能會(huì)沖淡數(shù)學(xué)建模教學(xué)的連貫性。
觀點(diǎn)2:案例2是以數(shù)學(xué)思想方法學(xué)習(xí)為教學(xué)主線,編程技術(shù)是教學(xué)實(shí)施環(huán)節(jié)中的一種支持工具。在這一類教學(xué)實(shí)踐中,學(xué)生計(jì)算思維的培養(yǎng)主要體現(xiàn)在計(jì)算學(xué)科思想方法應(yīng)用的意識(shí)建立和熟練應(yīng)用方面,而應(yīng)用意識(shí)的養(yǎng)成是以掌握學(xué)科方法為前提的。
計(jì)算學(xué)科中的模型與建模
模型方法就是根據(jù)研究要求,舍棄次要的、非本質(zhì)的因素,抓住主要的、本質(zhì)的因素,建立一個(gè)便于研究、能反映研究對(duì)象目標(biāo)要求的新形象。模型方法并不是數(shù)學(xué)學(xué)科所獨(dú)有的,如知識(shí)管理專業(yè)就用DIKW模型描述從數(shù)據(jù)、信息、知識(shí)到智慧的進(jìn)階關(guān)系。由于專業(yè)視角不同,模型也有局限性,如DI KW強(qiáng)調(diào)從數(shù)據(jù)中獲取信息,而不強(qiáng)調(diào)客觀世界的本體信息用數(shù)據(jù)表征的過(guò)程。在計(jì)算學(xué)科,建立模型就是運(yùn)用模型方法表達(dá)出一般化的計(jì)算方法或計(jì)算過(guò)程。計(jì)算思維作為一種學(xué)科思維,支持計(jì)算學(xué)科的建模過(guò)程。
因此,運(yùn)用模型方法可以簡(jiǎn)潔地表示計(jì)算學(xué)科的基本原理和工作模式。例如,由CPU、存儲(chǔ)器、I/O及接口、三種總線等組成的一般化的計(jì)算機(jī)組織結(jié)構(gòu),就是反映計(jì)算機(jī)工作原理的模型。依據(jù)該模型,可以解釋鍵盤輸入的鍵值通過(guò)I/O接口及總線讀入CPU,并根據(jù)需要存入內(nèi)存的工作過(guò)程。
模型具有層次性,不同層次需要用不同的模型來(lái)表述。在高級(jí)語(yǔ)言層次的模型,CPU不再被關(guān)注,重點(diǎn)反映的是數(shù)據(jù)的存儲(chǔ)與處理流程。所以,程序設(shè)計(jì)所涉及的模型通常是一種反映自動(dòng)執(zhí)行序列的過(guò)程模型,這類模型的關(guān)鍵要素有數(shù)據(jù)結(jié)構(gòu)、運(yùn)算公式和流程控制,具體是通過(guò)變量定義、賦值語(yǔ)句、控制語(yǔ)句來(lái)構(gòu)造自動(dòng)化的。
案 例 三
求1+2+……+100的累加和的編程教學(xué)。通常的教學(xué)過(guò)程如下:①問(wèn)題分析,確定采用s=s+i,i=1、2……100的循環(huán)累加方法;②確定循環(huán)初值、結(jié)束條件以及循環(huán)體的操作;③繪制流程圖,編寫程序。
累加求和是程序設(shè)計(jì)中的一種基礎(chǔ)算法。如在案例3中,變量s作為累加器,與變量i 相加后結(jié)果存回累加器s中;隨著i 的變化,該操作重復(fù)100次。案例3的教學(xué)過(guò)程,是學(xué)習(xí)用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)累加的算法,也是經(jīng)歷建模的過(guò)程,該模型由變量s和i、運(yùn)算公式s=s+i和i=i+1、循環(huán)控制結(jié)構(gòu)所確定。①完成了累加求和學(xué)科方法的初步認(rèn)識(shí),②完成了累加求和算法的實(shí)施細(xì)節(jié),③完成了用程序設(shè)計(jì)語(yǔ)言表述該模型的構(gòu)造。從某種意義上說(shuō),算法就是用于計(jì)算的一種過(guò)程模型,程序是該模型的一種形式化表達(dá)。
學(xué)生在掌握了累加求和算法后,遇到相類似的問(wèn)題,就可以用相同的算法或相似的建模方法來(lái)構(gòu)造程序。例如,對(duì)于連續(xù)輸入100個(gè)數(shù),求該100個(gè)數(shù)之和這樣一個(gè)問(wèn)題,學(xué)生很容易通過(guò)遷移獲得解決問(wèn)題的方法。一般而言,學(xué)生面對(duì)問(wèn)題,可以遷移成熟算法的建模思想,或者將該問(wèn)題轉(zhuǎn)化為成熟算法問(wèn)題,最終實(shí)現(xiàn)計(jì)算。以上建模和化歸的應(yīng)用,都是計(jì)算思維的體現(xiàn)。
在案例1中,其教學(xué)目標(biāo)是通過(guò)BMI指數(shù)判別學(xué)習(xí)分支結(jié)構(gòu)。用建模的觀點(diǎn)分析案例1,可以發(fā)現(xiàn),該教學(xué)可以使學(xué)生經(jīng)歷這樣一個(gè)建模過(guò)程,即建立一個(gè)由分支結(jié)構(gòu)、BMI計(jì)算公式以及相關(guān)參數(shù)變量組成的模型。同時(shí),學(xué)生也形成這樣一種解決問(wèn)題的意識(shí):凡是具有分段函數(shù)特征的問(wèn)題,都可以轉(zhuǎn)換為分支結(jié)構(gòu)的模型來(lái)實(shí)現(xiàn)可計(jì)算化。
觀點(diǎn)3:計(jì)算思維重點(diǎn)體現(xiàn)在個(gè)體是否具備將問(wèn)題可計(jì)算化的意識(shí)與能力,其中算法起到了很明顯的作用。算法作為一個(gè)成熟的模型,是運(yùn)用計(jì)算學(xué)科的思想和建模方法,將問(wèn)題一般化,經(jīng)過(guò)抽象以及形式化表達(dá),并經(jīng)歷自動(dòng)化執(zhí)行驗(yàn)證所形成的。理解并運(yùn)用成熟算法,或經(jīng)歷算法形成的建模過(guò)程,都是良好的計(jì)算思維培養(yǎng)渠道。
編程教學(xué)與數(shù)學(xué)建模的融合
由于數(shù)學(xué)學(xué)科和計(jì)算學(xué)科的天然關(guān)聯(lián),許多數(shù)學(xué)學(xué)科思想方法支持計(jì)算學(xué)科的發(fā)展。在算法與程序?qū)崿F(xiàn)中,往往可以直接使用成熟的數(shù)學(xué)模型,在案例1中,就是直接采用BMI模型作為程序的計(jì)算公式。這是因?yàn)樵S多數(shù)學(xué)模型具有確定性、符號(hào)性等特征,恰好與程序設(shè)計(jì)所需要的可計(jì)算要求相吻合。數(shù)學(xué)建模的思想方法也支持具有自動(dòng)化屬性的程序構(gòu)造,在案例3中,累加求和本質(zhì)上就是數(shù)學(xué)思想的實(shí)現(xiàn),只是在數(shù)據(jù)結(jié)構(gòu)、程序流程控制等方面有明顯的計(jì)算機(jī)技術(shù)特征。
案例3原本就是一個(gè)學(xué)習(xí)循環(huán)結(jié)構(gòu)的典型例題。從教學(xué)視角分析可以發(fā)現(xiàn),該例題可以清晰地闡述循環(huán)結(jié)構(gòu)的關(guān)鍵要素,如執(zhí)行累加操作的循環(huán)體、循環(huán)結(jié)束的判斷條件以及循環(huán)初值設(shè)定等。在教學(xué)過(guò)程中,可以清晰地闡述這些關(guān)鍵要素,幫助學(xué)生理解循環(huán)結(jié)構(gòu)的編程應(yīng)用。
事實(shí)上,案例3 的教學(xué)情境并不是一個(gè)完全真實(shí)的應(yīng)用場(chǎng)景。作為一名程序員,如果要完成1+2+……+100這一類等差數(shù)列累加操作,一般不會(huì)采用累加求和的方法,而只要采用高斯定理s=(1+100)*100/50,僅需要一條賦值語(yǔ)句就可以高效地完成運(yùn)算。
如果在教學(xué)中,采用高斯定理編程實(shí)現(xiàn),將會(huì)如何呢?當(dāng)然其教學(xué)目標(biāo)就不再是循環(huán)結(jié)構(gòu)的認(rèn)識(shí)了。將1+2+……+100的計(jì)算,用s=(1+100)*100/50公式表示,這一過(guò)程本質(zhì)上也是數(shù)學(xué)建模,即用數(shù)學(xué)模型方法來(lái)解決數(shù)學(xué)問(wèn)題。在此教學(xué)過(guò)程中,學(xué)生獲得的體驗(yàn)是:運(yùn)用成熟的數(shù)學(xué)模型結(jié)論可以清晰地形式化表達(dá)問(wèn)題,方便程序構(gòu)造,最后自動(dòng)化實(shí)現(xiàn)。
如果學(xué)生沒有高斯定理的認(rèn)知基礎(chǔ),那么,在教學(xué)中,教師就需要引導(dǎo)學(xué)生完成1+2+……+100求和的計(jì)算推導(dǎo),即首先需要數(shù)學(xué)建模s=(1+100)*100/50,然后才程序?qū)崿F(xiàn)。在此教學(xué)過(guò)程中,雖然高斯定理的推導(dǎo)是解決數(shù)學(xué)問(wèn)題,但數(shù)學(xué)建模是為程序?qū)崿F(xiàn)服務(wù)的,經(jīng)歷這樣的過(guò)程,可以使學(xué)生體會(huì)到數(shù)學(xué)建模對(duì)程序?qū)崿F(xiàn)的重要性,同時(shí)也感受到數(shù)學(xué)建模的思想方法可以遷移到程序?qū)崿F(xiàn)的應(yīng)用中。
案 例 四
遞推算法。主要教學(xué)過(guò)程如下:
①引入課題,分享斐波那契和兔子的故事;②分析兔子問(wèn)題,推導(dǎo)斐波那契數(shù)公式;③提出實(shí)際問(wèn)題:走道上有15塊地板,規(guī)定每步可以走一塊或兩塊地板,從第一塊走到最后一塊,共有幾種走法?最后得出符合斐波那契數(shù)公式的結(jié)論;④編寫程序并調(diào)試運(yùn)行;⑤歸納總結(jié)。
案例4預(yù)設(shè)的教學(xué)目標(biāo)是:學(xué)會(huì)運(yùn)用遞推算法來(lái)解決實(shí)際生活問(wèn)題,培養(yǎng)計(jì)算思維。在實(shí)際教學(xué)中,因?yàn)閷W(xué)生沒有斐波那契數(shù)的認(rèn)知基礎(chǔ),故花費(fèi)了大部分的課時(shí)來(lái)理解和推導(dǎo)斐波那契數(shù)公式,結(jié)果學(xué)生重點(diǎn)關(guān)注的是用數(shù)學(xué)的方法解決問(wèn)題,缺乏體驗(yàn)到采用合理的算法構(gòu)造及程序?qū)崿F(xiàn)來(lái)實(shí)現(xiàn)遞推的巧妙,同時(shí)也淡化了計(jì)算思維培養(yǎng)的實(shí)際效果。
觀點(diǎn)4:數(shù)學(xué)建模作為將現(xiàn)實(shí)問(wèn)題經(jīng)抽象以后形式化表達(dá)的一種有效方式,在編程實(shí)現(xiàn)中有獨(dú)特的作用。編程教學(xué)是中小學(xué)計(jì)算思維培養(yǎng)的重要渠道,在計(jì)算思維教育中,需要正確理解數(shù)學(xué)建模的作用,合理運(yùn)用數(shù)學(xué)建模開展編程教學(xué)。
數(shù)學(xué)建模教學(xué)給計(jì)算思維教育的啟示
計(jì)算思維教育不在于宏大敘事,而在于教學(xué)細(xì)微之處的落實(shí)。數(shù)學(xué)建模的教學(xué)實(shí)踐經(jīng)驗(yàn)對(duì)計(jì)算思維教育有啟示意義。程序設(shè)計(jì)的工作是通過(guò)問(wèn)題分析、構(gòu)造算法,最終形成可以自動(dòng)執(zhí)行的指令序列。程序設(shè)計(jì)與數(shù)據(jù)建模在方法上很相似。數(shù)學(xué)建模教學(xué)不滿足套用現(xiàn)成的數(shù)學(xué)公式解決問(wèn)題,而是強(qiáng)調(diào)學(xué)生在經(jīng)歷分析問(wèn)題、建立模型、確定參數(shù)、計(jì)算求解、檢驗(yàn)結(jié)果、改進(jìn)模型過(guò)程中自覺地用數(shù)學(xué)的眼光觀察世界并發(fā)現(xiàn)問(wèn)題和解決問(wèn)題。編程及其算法教學(xué)可以借鑒數(shù)學(xué)建模的教學(xué)理念,不能僅以學(xué)會(huì)使用Python語(yǔ)言、冒泡算法或者調(diào)用庫(kù)函數(shù)實(shí)現(xiàn)人臉識(shí)別為目標(biāo),而應(yīng)培養(yǎng)學(xué)生形成用計(jì)算的觀點(diǎn)看待世界,形成將問(wèn)題可計(jì)算化的意識(shí)與能力。這也正是計(jì)算思維教育的目標(biāo)。
數(shù)學(xué)建模教學(xué)強(qiáng)調(diào)經(jīng)歷問(wèn)題解決的全過(guò)程,計(jì)算思維教育也一樣。任何理性的思維都是解決問(wèn)題的思維,在計(jì)算思維教育中,問(wèn)題解決僅是一個(gè)基礎(chǔ)性目標(biāo),不能把所有的問(wèn)題解決都?xì)w為計(jì)算思維,關(guān)鍵在于是否采用計(jì)算學(xué)科的思想方法解決問(wèn)題。從數(shù)學(xué)建模與編程教學(xué)相融合的教學(xué)案例中可以發(fā)現(xiàn),數(shù)學(xué)建模與程序?qū)崿F(xiàn)中的建模要求有相同也有不同。就模型類型而言,數(shù)學(xué)模型有函數(shù)模型、概率模型、幾何模型等,而程序設(shè)計(jì)通常是選擇合適的數(shù)學(xué)模型結(jié)果,并用程序語(yǔ)言描述的過(guò)程模型來(lái)實(shí)現(xiàn),該過(guò)程模型的建立,是以自動(dòng)化實(shí)現(xiàn)為目標(biāo)的,是用形式化的方式精確表達(dá)的,具有符號(hào)性、離散性、確定性等特征,可以實(shí)現(xiàn)對(duì)象控制和數(shù)據(jù)交換。
計(jì)算思維的培養(yǎng)不可能架空于計(jì)算學(xué)科知識(shí)與方法的學(xué)習(xí)而存在,個(gè)體對(duì)計(jì)算學(xué)科知識(shí)與方法的認(rèn)識(shí)深度也影響其計(jì)算思維形成的深刻性。計(jì)算機(jī)應(yīng)用的廣泛性,促使計(jì)算思維有更廣泛的應(yīng)用價(jià)值,其教學(xué)形態(tài)往往是在與其他學(xué)科知識(shí)相結(jié)合解決實(shí)際問(wèn)題的場(chǎng)景下完成的,具有跨學(xué)科學(xué)習(xí)特征。
在本文中所列的數(shù)學(xué)建模與編程教學(xué)融合的案例中,數(shù)學(xué)學(xué)科和計(jì)算學(xué)科的思想方法也是相互交融互為支持的,但不同的案例所側(cè)重的教學(xué)目標(biāo)還是有差別的。以計(jì)算思維為培養(yǎng)目標(biāo)的編程教學(xué),其相關(guān)教學(xué)需要符合計(jì)算學(xué)科的問(wèn)題解決脈絡(luò),合理運(yùn)用計(jì)算學(xué)科知識(shí)與方法獲得可計(jì)算的形式化表達(dá),設(shè)計(jì)算法以獲得可計(jì)算的構(gòu)造,不能以跨學(xué)科學(xué)習(xí)為理由來(lái)掩蓋對(duì)計(jì)算學(xué)科認(rèn)識(shí)的模糊。
(本文作者:王榮良,華東師范大學(xué))
文章刊登于《中國(guó)信息技術(shù)教育》2022年第12期