李杰森 劉曉莉 林潔麗 吳 臣 許 鋒 陳 忻 曾 飛
(1. 佛山科學(xué)技術(shù)學(xué)院環(huán)境與化學(xué)工程學(xué)院,廣東 佛山 528000;2. 佛山科學(xué)技術(shù)學(xué)院數(shù)學(xué)與大數(shù)據(jù)學(xué)院,廣東 佛山 528000;3. 佛山科學(xué)技術(shù)學(xué)院電子信息工程學(xué)院,廣東 佛山 528000;4. 瀚藍(lán)環(huán)境股份有限公司,廣東 佛山 528200)
自然科學(xué)和工程技術(shù)的發(fā)展,都離不開數(shù)學(xué)??茖W(xué)問題及工程問題,通常都需要數(shù)學(xué)來解決。隨著社會(huì)發(fā)展,新的工程應(yīng)用與實(shí)踐具有相當(dāng)?shù)膹?fù)雜性,其背后的數(shù)學(xué)問題,難以通過簡單的解析計(jì)算或者小規(guī)模的數(shù)值方法得以解決,往往需要借助計(jì)算機(jī)。計(jì)算機(jī)硬件,以及算法的迅速發(fā)展,在很大程度上推動(dòng)了工程應(yīng)用的發(fā)展?!痘?shù)值計(jì)算》這門課,正是需要向?qū)W生傳授這一思想,并有意識地利用工程數(shù)值計(jì)算的方法來解決化工生產(chǎn)中的實(shí)際問題。與數(shù)學(xué)專業(yè)開設(shè)的《數(shù)值計(jì)算》或《數(shù)值分析》課程相比,它更關(guān)注實(shí)際應(yīng)用,著重?cái)?shù)學(xué)與化工生產(chǎn)實(shí)際的結(jié)合。
在新工科背景下,在教授學(xué)生一定數(shù)學(xué)原理以及計(jì)算機(jī)技術(shù)之外,更應(yīng)該培養(yǎng)學(xué)生的工程意識,提高其分析問題和使用數(shù)學(xué)工具的能力,鍛煉其以計(jì)算機(jī)手段解決問題的能力,同時(shí)也要調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性。這樣,才能使《化工數(shù)值計(jì)算》課程的教學(xué)與實(shí)際應(yīng)用緊密結(jié)合。
本文結(jié)合《化工數(shù)值計(jì)算》課程的特點(diǎn),結(jié)合佛山科學(xué)技術(shù)學(xué)院化學(xué)工程與工藝專業(yè)(下稱佛大化工專業(yè))的教學(xué)實(shí)踐,提出在教學(xué)方法、內(nèi)容設(shè)置、考核方式等方面進(jìn)行的創(chuàng)新。
《數(shù)值計(jì)算》(有些院校取名《數(shù)值分析》、《數(shù)值方法》或其他相近的名稱)是數(shù)學(xué)類專業(yè)一門重要的專業(yè)課程??v觀大部分院校數(shù)學(xué)專業(yè)開設(shè)的《數(shù)值計(jì)算》課程,都有著以下兩個(gè)特點(diǎn):
(1) 偏重理論,對于相關(guān)理論,講得較為詳盡,都有較為詳細(xì)的推導(dǎo)過程;各種算法都有相應(yīng)的計(jì)算公式及誤差公式,定義抽象、證明和推導(dǎo)過程都極其復(fù)雜;
(2) 上機(jī)操作的內(nèi)容都只是為了解決某個(gè)數(shù)學(xué)問題,例如用數(shù)值方法計(jì)算某個(gè)定積分,或求解某個(gè)微分方程等,而沒有與具體的應(yīng)用結(jié)合。
《化工數(shù)值計(jì)算》課程的主要內(nèi)容與《數(shù)值計(jì)算》課程大致相同,但區(qū)別比較明顯。主要區(qū)別如下:
(1) 側(cè)重點(diǎn)有所不同?!痘?shù)值計(jì)算》課程相比之下更加側(cè)重實(shí)際應(yīng)用,因此不像數(shù)學(xué)類專業(yè)的《數(shù)值計(jì)算》課程,相關(guān)理論的講解及推導(dǎo)相應(yīng)地減小,更重側(cè)重化工生產(chǎn)實(shí)際中的數(shù)學(xué)模型的求解。
(2) 在教學(xué)目的方面,《數(shù)值計(jì)算》課程是為了鍛煉學(xué)生求解數(shù)學(xué)問題的能力,而《化工數(shù)值計(jì)算》課程則為了鍛煉學(xué)生分析和解決生產(chǎn)實(shí)際問題的能力。
因此,《化工數(shù)值計(jì)算》課程的教學(xué),不能夠照搬《數(shù)值計(jì)算》課程,而是把《數(shù)值計(jì)算》課程中對基本數(shù)學(xué)知識及實(shí)踐技能與為化工生產(chǎn)實(shí)際相結(jié)合,在此基礎(chǔ)上繼承和發(fā)展,從而形成《化工數(shù)值計(jì)算》課程獨(dú)有的,適合化工專業(yè)人才培養(yǎng)目標(biāo)的教學(xué)體系。
根據(jù)以上分析,對《化工數(shù)值計(jì)算》課程的教學(xué),需要與學(xué)科建設(shè)、生產(chǎn)過程、以及實(shí)際應(yīng)用等方面相結(jié)合。因此,在教學(xué)設(shè)計(jì)方面,不能夠把《化工數(shù)值計(jì)算》課程當(dāng)作純數(shù)學(xué)類課程,更不能夠過分強(qiáng)調(diào)數(shù)學(xué)學(xué)科的嚴(yán)謹(jǐn)性、系統(tǒng)性、完整性,而是要根據(jù)這門課程所具有的實(shí)用性來精選教學(xué)內(nèi)容、變革教學(xué)方式和手段、以及優(yōu)化考核方式。
2017年以前佛大化工專業(yè)并沒有開設(shè)《化工數(shù)值計(jì)算》課程。學(xué)校于2017年組織修訂了人才培養(yǎng)計(jì)劃和教學(xué)大綱,并對人才培養(yǎng)規(guī)格的提出新要求。其中有兩個(gè)指標(biāo)點(diǎn)如下:
“指標(biāo)點(diǎn) 2-4. 能夠從數(shù)學(xué)與自然科學(xué)的角度對解決方案進(jìn)行分析,并試圖改進(jìn)。”
“指標(biāo)點(diǎn) 5-2. 能夠初步運(yùn)用現(xiàn)代信息技術(shù)工具對化工問題進(jìn)行預(yù)測與模擬,并了解其局限性?!?/p>
為適應(yīng)新工科背景下化工專業(yè)教育的形勢,并滿足對人才培養(yǎng)規(guī)格的新要求,佛大化工專業(yè)新增了《化工數(shù)值計(jì)算》課程,并制定了相應(yīng)的教學(xué)大綱。課程一共32學(xué)時(shí),其中16學(xué)時(shí)為理論課的講授,16學(xué)時(shí)為上機(jī)實(shí)驗(yàn)。每周4學(xué)時(shí),其中理論課與上機(jī)課各2學(xué)時(shí)。每周課程內(nèi)容如表1所示。其理論課與數(shù)學(xué)類專業(yè)《數(shù)值計(jì)算》課程的內(nèi)容相似,但在課程講授中會(huì)在不影響后面內(nèi)容理解的前提下,適當(dāng)略過抽象晦澀的理論。同時(shí)也不能照搬數(shù)學(xué)類專業(yè)《數(shù)值計(jì)算》課程的教學(xué)模式,要在相應(yīng)內(nèi)容中加入與化工生產(chǎn)實(shí)際緊密聯(lián)系的案例,更多的時(shí)間用于結(jié)合計(jì)算機(jī)技術(shù),演示相關(guān)算法在MATLAB中的實(shí)現(xiàn),包括代碼示例與分析。在上機(jī)的教學(xué)環(huán)節(jié)中,會(huì)給學(xué)生提出一個(gè)化工生產(chǎn)實(shí)際中遇到的問題,要求學(xué)生用剛學(xué)到的數(shù)值方法在該問題,老師也會(huì)進(jìn)行指導(dǎo)。通過理論講授和上機(jī)操作的結(jié)合,力求以問題驅(qū)動(dòng)教學(xué),以本學(xué)科實(shí)際情景為出發(fā)點(diǎn),引導(dǎo)學(xué)生進(jìn)行有目的的思考,并在教師指導(dǎo)下分析化工實(shí)際問題,提出解決方案,通過借助計(jì)算機(jī)工具來編寫代碼解決實(shí)際問題。
表1 《化工數(shù)值計(jì)算》課程的授課內(nèi)容及安排
由于專業(yè)課程設(shè)置的原因,佛大化工專業(yè)學(xué)生普遍數(shù)學(xué)功底不太扎實(shí),計(jì)算機(jī)應(yīng)用能力也較為欠缺,由此對《化工數(shù)值計(jì)算》課程教學(xué)的開展來兩方面的問題:
(1) 課程中枯燥乏味、錯(cuò)綜復(fù)雜的數(shù)學(xué)公式及其推導(dǎo),會(huì)把學(xué)生嚇倒,特別是第一次課,過多的數(shù)學(xué)內(nèi)容會(huì)讓學(xué)生產(chǎn)生畏懼心理,產(chǎn)生對課程的排斥情緒,甚至厭學(xué)。
(2) 學(xué)生不熟悉程序設(shè)計(jì)的基本思想,缺乏基本動(dòng)手能力,對于代碼檢查排錯(cuò)也是無從下手,因此他們不能熟練運(yùn)用計(jì)算機(jī)處理實(shí)際問題,更不會(huì)通過計(jì)算機(jī)編程來解決實(shí)際問題。
這些問題會(huì)給學(xué)生帶來較大的困難,對授課老師來說更是個(gè)很大的挑戰(zhàn)。針對這些問題,我們提出了如下解決方法。
針對第一個(gè)問題,如上所述,《化工數(shù)值計(jì)算》課程應(yīng)當(dāng)弱化數(shù)學(xué)理論教學(xué),強(qiáng)化算法應(yīng)用,強(qiáng)調(diào)數(shù)學(xué)與計(jì)算機(jī)的工具性,堅(jiān)持以生產(chǎn)實(shí)踐為導(dǎo)向。在第一次課,就要給學(xué)生介紹數(shù)值計(jì)算在化工生產(chǎn)中的應(yīng)用,特別是學(xué)生在本專業(yè)課程的學(xué)習(xí)中會(huì)遇到的問題。例如,《化工熱力學(xué)》中遇到的立方型狀態(tài)方程的求解,《化工原理》中對流傳熱系數(shù)的計(jì)算,《物理化學(xué)》中反應(yīng)動(dòng)力學(xué)參數(shù)的確定,以及《物理化學(xué)》和《化工熱力學(xué)》都會(huì)涉及相平衡的計(jì)算。這些問題能夠給學(xué)生設(shè)置一個(gè)場景和明確的目標(biāo),就是要解決這些實(shí)際問題;而解決這些實(shí)際問題需要用到一定的數(shù)學(xué)工具,并且把這些手段通過計(jì)算機(jī)編程來實(shí)現(xiàn)。相比一開始就展現(xiàn)一大堆數(shù)學(xué)原理,這樣的課程導(dǎo)入符合《化工數(shù)值計(jì)算》課程的特點(diǎn),也一定程度上避免學(xué)生畏懼心理。
在講授各部分內(nèi)容時(shí),在不影響課程連貫性的前提下,適當(dāng)省略一些數(shù)學(xué)理論,尤其是過于復(fù)雜的部分,僅簡單介紹數(shù)學(xué)基礎(chǔ),把更多的時(shí)間用于講解算法的應(yīng)用。同時(shí)列出參考書目或相關(guān)資料,讓有興趣且學(xué)有余力的同學(xué)可以深入了解。例如,數(shù)學(xué)類專業(yè)《數(shù)值計(jì)算》課程在講解非線性代數(shù)方程的數(shù)值解時(shí),會(huì)先講述迭代法的基本思想,接著討論迭代收斂性以及誤差限,然后再講述常用的一種數(shù)值方法——Newton-Raphson迭代,并推導(dǎo)其迭代公式,即
其中xn為輸入值,xn+1為輸出值,當(dāng)|xn-xn+1|小于給定誤差時(shí)認(rèn)為迭代收斂。在《化工數(shù)值計(jì)算》課程則直接進(jìn)入主題。由于Newton-Raphson迭代的推導(dǎo)只需要一元微分學(xué)及平面解析幾何的簡單知識,在課上也可考慮把上述公式推導(dǎo)出來。但是,更重要的就是要給學(xué)生講解這個(gè)迭代公式的應(yīng)用。
針對第二個(gè)問題,首先要選用門檻較低,較容易上手的編程語言。MATLAB具有用法簡單、靈活、結(jié)構(gòu)性強(qiáng)、延展性好等優(yōu)點(diǎn),學(xué)生容易快速掌握基本的語法。同時(shí),MATLAB有著較多內(nèi)置函數(shù),能夠把常用的算法通過簡單的函數(shù)命令來實(shí)現(xiàn),與本課程要弱化數(shù)學(xué)理論的宗旨相一致。相比之下,C語言、Fortran語言等用法較為復(fù)雜,沒有內(nèi)置函數(shù),也難以很快上手。雖然,通過LAPACK等庫能夠?qū)崿F(xiàn)部分與MATLAB內(nèi)置函數(shù)相類似的功能,但這些庫的安裝較為復(fù)雜,可靠性不好,且在主流Windows操作系統(tǒng)中難以兼容。綜合這些因素,《化工數(shù)值計(jì)算》課程選用了MATLAB作為編程語言。
此外,Python語言也有著一定優(yōu)勢,例如用法也較為簡單,靈活,通過NumPy,matplotlib等第三方庫也能實(shí)現(xiàn)MATLAB的大部分主要功能。因此,Python也是個(gè)不錯(cuò)的選擇。但目前佛大化工專業(yè)開設(shè)《化工數(shù)值計(jì)算》課程的時(shí)間不長,而課程的建設(shè)還需要一定積累,因此還不能同時(shí)兼顧Python。在以后的教學(xué)中,將逐步實(shí)現(xiàn)MATLAB與Python同時(shí)并時(shí),在課上同時(shí)講授兩種語言,學(xué)生可以在兩種語言中自由選擇。
其次,在理論課程中,要詳細(xì)講解MATLAB的基本操作,并作必要的演示。在第一次理論課的時(shí)候,就重點(diǎn)明確程序設(shè)計(jì)的基本思想,講解MATLAB的操作,并給學(xué)生演示較為常見的程序結(jié)構(gòu)的實(shí)現(xiàn),例如分支判斷,for循環(huán)與while循環(huán),子函數(shù)及調(diào)用,m文件的編寫,等等,并且在上機(jī)實(shí)踐課讓學(xué)生上機(jī)操作,熟悉MATLAB的使用,為后續(xù)的內(nèi)容打下基礎(chǔ)。在后面的課程中,需要還需要鞏固加強(qiáng)MATLAB的操作技能。
(a)
(b)
數(shù)學(xué)類《數(shù)值計(jì)算》課程普遍會(huì)通過定時(shí)閉卷書面考試的形式,對學(xué)生的基礎(chǔ)理論、基本方法的掌握,也可能同時(shí)結(jié)合上機(jī)操作。書面作答的考試形式可能會(huì)引起學(xué)生機(jī)械式的死記硬背,而缺乏算法的理解以及應(yīng)用能力。而《化工數(shù)值計(jì)算》課程需要弱化數(shù)學(xué)理論的要求,側(cè)重實(shí)際操作,因此佛大化工專業(yè)《化工數(shù)值計(jì)算》課程按實(shí)際情況,通過上機(jī)操作進(jìn)行考核,并包括平時(shí)上機(jī)實(shí)驗(yàn)與期末上機(jī)考核。其中上機(jī)考核成績占40%,平時(shí)成績占60%。優(yōu)化后的考核方式能夠強(qiáng)化課程內(nèi)容的應(yīng)用價(jià)值,更能客觀科學(xué)地考查學(xué)生的實(shí)際應(yīng)用能力,更能符合化工專業(yè)的學(xué)科特點(diǎn)以及學(xué)生的學(xué)情。
(1) 平時(shí)成績。平時(shí)成績以平時(shí)上機(jī)表現(xiàn)及實(shí)驗(yàn)報(bào)告的完成情況來綜合評定;學(xué)生需在老師面前展示代碼及運(yùn)行結(jié)果,并回答相關(guān)問題。上機(jī)表現(xiàn)包括上機(jī)過程與同學(xué)和老師的討論,程序運(yùn)行情況,以及對老師提問的問答。實(shí)驗(yàn)報(bào)告要根據(jù)當(dāng)次上機(jī)的內(nèi)容撰寫,內(nèi)容包括五部分:實(shí)驗(yàn)?zāi)康?、?shí)驗(yàn)原理、實(shí)驗(yàn)環(huán)境(計(jì)算機(jī)硬件和軟件系統(tǒng))、實(shí)驗(yàn)過程與結(jié)果、討論分析及感想。同時(shí)要求學(xué)生把源代碼也要提交給任課老師查閱,防止編造實(shí)驗(yàn)結(jié)果的情況出現(xiàn)。為了突出對學(xué)生分析問題及實(shí)際操作的能力的考查,實(shí)驗(yàn)報(bào)告中“實(shí)驗(yàn)過程與結(jié)果”、“討論分析及感想”這兩部分為重點(diǎn)考查的內(nèi)容,模板如圖2所示。
圖2 實(shí)驗(yàn)報(bào)告模板
(2) 期末上機(jī)考核成績。期末上機(jī)考核是在機(jī)房隨堂進(jìn)行,每人一臺電腦終端,可上網(wǎng)查閱資料,也可以帶其他紙質(zhì)版或者電子版資料,但相互之間不可交流,老師也不會(huì)進(jìn)行指導(dǎo),所有工作必須獨(dú)立完成。教師根據(jù)課程講授的內(nèi)容,選擇與化工生產(chǎn)實(shí)際相關(guān)的實(shí)驗(yàn)題,盡可能多地覆蓋課程所涉及的重要算法。學(xué)生需要當(dāng)場進(jìn)行程序設(shè)計(jì),解決考題中提出的問題,并當(dāng)場完成實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告要求與平時(shí)一樣。學(xué)生完成上機(jī)考核內(nèi)容后,要求學(xué)生當(dāng)場演示程序運(yùn)行的結(jié)果,并就運(yùn)行結(jié)果回答相關(guān)問題。教師根據(jù)實(shí)驗(yàn)報(bào)告及表現(xiàn)給學(xué)生評定上機(jī)考核成績。
《化工數(shù)值計(jì)算》課程,不僅具有很強(qiáng)的理論性,而且具有明顯的實(shí)用性,并與化工生產(chǎn)實(shí)際緊密聯(lián)系,具有顯著的代表性。本文以佛大化工專業(yè)《化工數(shù)值計(jì)算》為例,結(jié)合的相應(yīng)的化工專業(yè)學(xué)科特點(diǎn),給出了本課程建設(shè)與改革的一些建議。通過課程的開設(shè),希望能夠培養(yǎng)學(xué)生理論聯(lián)系實(shí)際的優(yōu)秀品質(zhì),提高分析及解決問題的工程素質(zhì)。同時(shí)也希望本文能夠給《化工數(shù)值計(jì)算》課程的一線教師們帶來一定的啟發(fā)和參考。