張 進(jìn),陳青全,朱閱,楊 震
(國防科技大學(xué)空天科學(xué)學(xué)院 湖南 長沙 410073)
隨著信息科學(xué)與計算機(jī)技術(shù)的高速發(fā)展,數(shù)值計算及分析軟件的研制和應(yīng)用已經(jīng)遍及工程和科學(xué)計算的各個領(lǐng)域。計算機(jī)是20 世紀(jì)最偉大的科學(xué)技術(shù)發(fā)明之一,但沒有軟件的有效支持,超級計算機(jī)的能力也得不到充分發(fā)揮,而軟件的核心是算法。數(shù)值計算方法常簡稱計算方法,是工科院校本科學(xué)生的學(xué)科基礎(chǔ)課,是科學(xué)計算的重要基礎(chǔ)之一。
各高校,特別是工科院校,都非常重視計算方法的教學(xué),并進(jìn)行了大量教學(xué)改革研究,對計算方法教學(xué)的一些難點也有共識。國防科技大學(xué)空天科學(xué)學(xué)院開設(shè)該課程已超過20 年,主要面向航空航天(簡稱空天)類專業(yè)大二本科生開設(shè),每年約5-6 個班次。雖然教學(xué)團(tuán)隊積累了豐富的經(jīng)驗,基于課程本身的特點及空天類專業(yè)的培養(yǎng)需求,計算方法教學(xué)實踐中仍然存在幾大問題沒有得到很好解決。
課程主要講授的內(nèi)容包括:解線性方程組的直接法、插值法與最小二乘法、數(shù)值積分與微分、常微分方程數(shù)值解法、逐次逼近法(線性方程組的迭代法、非線性方程與方程組的迭代法、特征值計算的冪法)等。雖然逼近、迭代兩大思想貫穿多個內(nèi)容,且部分內(nèi)容應(yīng)用于多章(如插值法應(yīng)用于數(shù)值積分、常微分方程數(shù)值解法公式的構(gòu)造等),但由于每章針對的問題不同,問題之間的支撐關(guān)系沒有明確交代,學(xué)生仍然難以形成貫穿全課程的體系思路,特別在方法如何使用、如何配合的問題上比較迷茫。
計算方法既有數(shù)學(xué)課程的理論抽象性和嚴(yán)謹(jǐn)性,又有解決實際問題的實用性和實踐性。教師們在教學(xué)中很早便意識到實踐鍛煉的重要性,需要強調(diào)編程實驗。然而,由于該課程內(nèi)容豐富,安排課時卻相對較少,造成教師教學(xué)時為了強調(diào)理論的完整性與公式推導(dǎo),對實踐部分分配課時不足,上機(jī)實驗內(nèi)容及形式相對呆板,缺少應(yīng)用問題的興趣激發(fā)和算法設(shè)計的訓(xùn)練,造成學(xué)生完成課程學(xué)習(xí)后運用計算方法解決實際問題的能力仍然較弱。
數(shù)值計算公式大多冗長煩瑣,課堂上直接推導(dǎo)費時費力,且學(xué)生也很難跟上老師公式推導(dǎo)的節(jié)奏,更難長久記憶。當(dāng)整節(jié)的課程都是大量公式推導(dǎo)時,學(xué)生上課疲于聽講,沒有主動思考,容易產(chǎn)生煩躁和厭學(xué)的情緒,教學(xué)效果欠佳。
目前,計算方法課程內(nèi)容緊密結(jié)合了高等數(shù)學(xué)、線性代數(shù)等數(shù)學(xué)知識以及計算機(jī)程序設(shè)計等計算機(jī)知識,但沒有針對空天專業(yè)特點進(jìn)行內(nèi)容個性化定制,也未將后續(xù)專業(yè)課程中的科學(xué)計算問題融入計算方法課程,使得學(xué)生應(yīng)用數(shù)值計算解決專業(yè)問題的能力較弱。
計算方法作為空天類本科專業(yè)的學(xué)科基礎(chǔ)必修課,對后續(xù)專業(yè)課的學(xué)習(xí)具有重要支撐作用。如何在計算方法課程中融入有專業(yè)背景的科學(xué)計算問題,對學(xué)生科學(xué)計算思維與能力的培養(yǎng),專業(yè)實踐啟蒙,以及達(dá)到學(xué)以致用的效果等都至關(guān)重要。
針對當(dāng)前課程內(nèi)容缺乏連貫性、學(xué)時相對較少而重理論輕實踐、重公式推導(dǎo)而輕直觀引導(dǎo)、與空天專業(yè)聯(lián)系弱等不足,建設(shè)空天案例體系以加強課程與空天類專業(yè)聯(lián)系的同時串聯(lián)計算方法知識點,建設(shè)圖形動畫集以直觀引導(dǎo)理論學(xué)習(xí)并提高教學(xué)效率,進(jìn)行線上線下混合式教學(xué)縮減課內(nèi)講授學(xué)時,設(shè)計競賽性上機(jī)實驗和開發(fā)自動化驗證平臺以激發(fā)學(xué)生興趣并鍛煉動手能力;開展課程思政建設(shè),培養(yǎng)空天精神。
2.2.1 貫穿全課程的空天案例體系建設(shè)
以神舟飛船交會對接任務(wù)設(shè)計、控制中的數(shù)值計算需求為牽引,結(jié)合計算方法課程知識點,對實際問題進(jìn)行適當(dāng)簡化,并用課程中的方法進(jìn)行求解,進(jìn)而建立了貫穿課程各章的空天案例體系。飛船從發(fā)射入軌到交會對接涉及多個階段,對應(yīng)的設(shè)計控制問題均需要計算方法的支持。例如:在發(fā)射入軌階段,火箭上升過程中需要在線計算大氣阻力,而阻力的計算需要大氣密度這一隨高度變化的參數(shù),實際任務(wù)中往往通過高度-大氣密度表,基于高度插值的方式計算大氣密度;為了預(yù)測后續(xù)任務(wù)的準(zhǔn)確時刻、航天器的狀態(tài),需要進(jìn)行軌道預(yù)報,實際任務(wù)中往往基于位置速度的常微分方程組,采用Runge-Kutta 法進(jìn)行求解;在地面控制部分軌道機(jī)動的計算需求解非線性方程組,在自主控制部分軌道機(jī)動計算需求解線性方程組等。通過將圍繞一個航天任務(wù)的數(shù)值計算案例引入計算方法課程,激發(fā)了學(xué)生學(xué)習(xí)的興趣,加強了課程與空天專業(yè)的聯(lián)系,學(xué)以致用;同時,用任務(wù)需求貫穿各知識點,在學(xué)生知識結(jié)構(gòu)中形成網(wǎng)絡(luò),相互關(guān)聯(lián),更有利于學(xué)生后續(xù)對方法的應(yīng)用與拓展。
2.2.2 直觀易懂的計算方法演示圖形動畫集建設(shè)
計算方法課程一些關(guān)鍵概念、方法的公式推導(dǎo)過程較冗長,僅直接講解公式,效率低,學(xué)生易疲勞且方法思想掌握效果不好。通過剖析關(guān)鍵概念與算法公式的特點,以幾何曲線、形狀的動態(tài)組合進(jìn)行展現(xiàn),并將不同方法、計算迭代/步進(jìn)過程以動態(tài)曲線等形式進(jìn)行比較,使復(fù)雜的公式、概念更易于理解接受,提升教學(xué)效果與效率。例如:常微分方程求解的Euler 公式步進(jìn)過程可以用動畫的方式逐漸展現(xiàn)過點與斜率做直線,進(jìn)而通過多組直線構(gòu)成的折線來近似原曲線的過程,幫助學(xué)生直觀形象地理解Euler 公式的實質(zhì);Runge-Kutta 公式的構(gòu)造可用多個斜率構(gòu)成的圖形幫助學(xué)生直觀形象地理解其使用加權(quán)平均斜率的實質(zhì)。
通過幾何圖形幫助理解公式幾何意義的教學(xué)方法,已在計算方法的部分內(nèi)容中使用,教學(xué)改革中盡可能讓這種方法覆蓋大部分重點、難點的概念與公式,并通過圖形動畫的精心設(shè)計與制作以提高展示效果。另一方面,增強了計算方法中各方法的步進(jìn)過程、不同方法求解過程的動態(tài)比較等以加深理解。
2.2.3 線上線下混合式教學(xué)
在學(xué)時不能增加的情況下,要增加編程實踐內(nèi)容,則必然要擠壓理論部分教學(xué)的學(xué)時?;跂|北大學(xué)的國家精品MOOC“數(shù)值分析”,構(gòu)建了SPOC 線上課堂,給學(xué)生分配部分易學(xué)或拓展理論知識點作為自學(xué)內(nèi)容,學(xué)生基于MOOC視頻、課件、在線習(xí)題開展自主學(xué)習(xí),部分緩解了課內(nèi)學(xué)時有限的問題。
2.2.4 競賽性上機(jī)實驗設(shè)計與自動化驗證平臺開發(fā)
通過上機(jī)實驗來鍛煉學(xué)生應(yīng)用計算方法的能力,在不少計算方法課程教改論文中有關(guān)注,也在一些課程教學(xué)中得到貫徹執(zhí)行。然而,已有的計算方法上機(jī)實驗中,學(xué)生只需輸入程序、調(diào)試,然后獲得期望的正確結(jié)果,撰寫實驗報告,即滿足要求。這種方式關(guān)注算法設(shè)計與正確實現(xiàn),忽視了我們需要培養(yǎng)的數(shù)值計算思維的其他重要方面,如算法的精度、穩(wěn)定性、效率等,而且學(xué)生主觀能動性也未得到充分調(diào)動。通過結(jié)合計算方法課程主要算法及空天案例設(shè)計競賽性的實驗內(nèi)容,開發(fā)了自動化驗證平臺,讓學(xué)生在有限的時間里在線提交解決實驗問題的計算程序,并以程序提交時間、結(jié)果正確性、計算精度、穩(wěn)定性、運行效率等作為指標(biāo)進(jìn)行競爭性實時排名,而排名又作為得分重要依據(jù)。在線自動化驗證平臺的開發(fā),縮短了學(xué)生熟悉程序的時間,提高了實驗效率、鍛煉了動手能力,也激發(fā)了學(xué)生主動學(xué)習(xí)的興趣。同時,自動化驗證平臺也大大減少了老師批改程序作業(yè)的工作量。另外,課程大作業(yè)分組開展,不限制具體題目,但要求必須用到課內(nèi)講授的特別是實驗過的算法,以進(jìn)一步鍛煉學(xué)生動手能力,并充分發(fā)揮各自的聰明才智;大作業(yè)采用課件的形式進(jìn)行展示匯報,并互相提問回答,鍛煉了學(xué)生的交流表達(dá)能力。
2.2.5 課程思政建設(shè)
課程思政方面,從數(shù)學(xué)家的貢獻(xiàn)、計算方法中各算法的科學(xué)家的故事等入手,幫助學(xué)生培養(yǎng)民族自豪感、刻苦學(xué)習(xí)、不畏艱難的精神。同時,特別注意挖掘航天歷史上與數(shù)值計算相關(guān)的關(guān)鍵問題與事跡。例如,Gauss 對軌道邊值問題求解中的貢獻(xiàn)幫助天文學(xué)家再次跟上谷神星,也幫助其一戰(zhàn)成名,而這與常微分方程邊值問題求解及非線性方程求解緊密相關(guān);航天領(lǐng)域的軌道初值問題本質(zhì)是Kepler 方程這一非線性方程的求解問題,通過介紹Kepler 雖然視力不佳但通過對老師觀測數(shù)據(jù)的分析與數(shù)學(xué)推導(dǎo)提出行星運動三大定律的故事,引導(dǎo)學(xué)生志在空天、追求卓越。
3 年多來,課程教學(xué)團(tuán)隊將教學(xué)改革逐步推行至學(xué)院航空航天類專業(yè)全部教學(xué)班次,參與學(xué)生近400 人,取得了顯著成效。對2021 年秋季學(xué)期4 個教學(xué)班105 名學(xué)生的調(diào)查問卷結(jié)果中,大部分認(rèn)為對知識點的關(guān)系有較好理解并對專業(yè)課有所期待,說明案例體系起到了搭建基礎(chǔ)與專業(yè)橋梁的作用;91%的學(xué)生認(rèn)為啟發(fā)了用數(shù)值計算的思想來解決其他課程部分問題的思路,說明有效地培養(yǎng)了數(shù)值思維;75%的學(xué)生認(rèn)為在線實驗自動化驗證平臺幫助其提高了實驗效率;75%的學(xué)生認(rèn)為開放式大作業(yè)題目有利于各展所長;36%的學(xué)生自信可以用計算方法來解決其他實際問題,而50%的學(xué)生認(rèn)為有效入了門但還有很長的路要走,說明編程實踐鍛煉取得了良好的效果。
改革后的課程為學(xué)生學(xué)習(xí)后續(xù)專業(yè)課程提供了更好的實踐基礎(chǔ),架設(shè)了基礎(chǔ)課與專業(yè)課的橋梁,助力學(xué)生在各類競賽中獲得了豐碩的成果。“計算方法”課程也被評為2021 年湖南省線上線下混合式一流課程。
針對“計算方法”課程內(nèi)容缺乏連貫性、學(xué)時相對較少而重理論輕實踐、重公式推導(dǎo)而輕直觀引導(dǎo)、與空天專業(yè)聯(lián)系弱等不足,建設(shè)了空天案例體系、圖形動畫集,構(gòu)建了線上線下混合式教學(xué)環(huán)境,開發(fā)了在線實驗自動化驗證平臺,進(jìn)行了課程思政建設(shè)。教學(xué)效果表明,改革后的課程有效培養(yǎng)了學(xué)生數(shù)值計算的思想,學(xué)生的理論與實踐結(jié)合的能力得到顯著提高,真正架設(shè)了基礎(chǔ)課與專業(yè)課的橋梁。研究成果可作為其他數(shù)值計算相關(guān)課程教學(xué)的參考。