◎郭培昌 高世臣 廉海榮 耿鳳杰 (中國地質(zhì)大學(北京)數(shù)理學院,北京 100083)
“數(shù)值分析”課程,主要講授使用計算機求解各種數(shù)學問題的方法,包括理論分析及其軟件實現(xiàn).在中國地質(zhì)大學(北京),“數(shù)值分析”課程是全校理工類專業(yè)研究生的必修公共基礎(chǔ)課,它既有純粹數(shù)學的高度抽象性和嚴密的科學性,又有著具體應(yīng)用的廣泛性和實際實驗的技術(shù)性,是一門實用性很強的數(shù)學課程.這門課不僅要求學生具備扎實的數(shù)學理論功底,也要求學生具有較好的程序編寫能力,即算法實現(xiàn)能力.這門課內(nèi)容涵蓋數(shù)值逼近、數(shù)值代數(shù)、最優(yōu)化方法、常微分方程數(shù)值解、偏微分方程數(shù)值解等學科方向知識[1],涉及面廣,內(nèi)容環(huán)環(huán)相扣,在數(shù)學類課程中一直被認為是教師難教、學生難學的課程.
基于信息技術(shù)支撐的慕課教學,為學生自主學習提供了極大的方便,給新時期的數(shù)學類課程教學工作帶來了機遇.[2]但眾所周知,數(shù)學類課程邏輯性和嚴密性強[3,4,5],大量的定理推導計算和證明步驟需要一步步講解呈現(xiàn)給學生,板書教學在這方面必不可少.我校研究生“數(shù)值分析”課程主要面向工科專業(yè),相關(guān)學科的科學研究非常依賴數(shù)值計算方法,所以教學要求高,應(yīng)用性強.
基于課程特點和我校相關(guān)專業(yè)的實際需求,我們對研究生“數(shù)值分析”公共課程積極開展教學改革,在借鑒優(yōu)秀教學經(jīng)驗[6,7,8,9]的基礎(chǔ)上,以板書教學為主、慕課資源為輔,結(jié)合探究性學習方式,激發(fā)學生興趣并培養(yǎng)學生自主學習能力,有效提升了教學質(zhì)量和教學效果.
板書在數(shù)學教學中具有獨特而重要的地位.北京大學數(shù)學科學學院的張繼平院士曾經(jīng)多次提到板書的重要性,他在央視“開講啦”公開課中講到,“板書傳遞了教師的思想和品格,是靈魂在指尖的跳躍.數(shù)學家的表達離不開黑板.對黑板和粉筆的堅持背后,是數(shù)學家一絲不茍、嚴謹治學的學風”.“數(shù)值分析”課程涉及大量數(shù)學知識的推導證明,概念性和邏輯性強,初學者很難快速理解.而研究生“數(shù)值分析”課程的學生,來自不同院系專業(yè),數(shù)理基礎(chǔ)各有千秋.課堂教學使用粉筆在黑板上一步步演算推導,可以根據(jù)學生表情互動,靈活調(diào)整講解的快慢程度、詳細程度,更好地把握教學節(jié)奏.
例如,在講授線性方程組敏感性分析內(nèi)容時,在使用多媒體課件的基礎(chǔ)上,強化板書授課,有助于學生理解新知識.首先,通過一個具體的病態(tài)方程組例子,展示數(shù)據(jù)的微小誤差可能對解影響很大.這時候,不涉及推導計算,如果采用多媒體課件展示課前準備好的方程組例子,會省去課上的抄寫時間,也有利于學生集中注意力,得到對數(shù)學知識的直觀認識.接下來,關(guān)于定量刻畫系數(shù)矩陣和右端項擾動對解的影響,這需要合并整理原始方程和擾動后方程的范數(shù)表達式,此時,利用板書逐步展示推導過程,變得非常有必要了.這時如果繼續(xù)采用多媒體課件來演示中間推導過程,多數(shù)學生難以消化理解.
再比如,在講授線性方程組的古典迭代法時,展示雅克比迭代計算格式,可以用多媒體課件,節(jié)省現(xiàn)場手寫時間.接下來推導雅克比迭代法的收斂性質(zhì)時,需要利用對角占優(yōu)矩陣相關(guān)知識來計算迭代矩陣的特征值分布,這時現(xiàn)場板書就非常有必要了.通過粉筆書寫,教師可以引導啟發(fā)學生一步步深入思考,使得學生對知識的消化理解變得水到渠成.
慕課是板書教學的有益補充,共享和開放的慕課平臺資源極大豐富了教學內(nèi)容.學生通過對名校名師等優(yōu)質(zhì)課程的在線學習,拓寬了知識面,可以從視頻課程切入知識點的角度理解課本知識,這對課堂授課是有益的補充.同時,慕課大大擴充了教學的時間與空間.從固定教室上課拓展到隨時隨地學習,可以是周末,可以是晚上,可以是宿舍,可以是家里.但是,網(wǎng)上慕課資源,魚龍混雜,需要任課教師指導學生挑選適合自己的課程資源.結(jié)合我校實際情況,我們著重參考東北大學的數(shù)值分析國家精品課程,以及華東師大的數(shù)值分析課程.另一方面,慕課平臺上的視頻課程大多都十分簡短,普遍將關(guān)鍵知識點信息進行了濃縮.由于借助多媒體課件輔助教學,且缺少師生之間的互動,一個章節(jié)的視頻課講授時間往往也就半小時左右.在課外進行線上課程資源學習的時候,有些知識點需要學生反復(fù)觀看,并且暫停思考推算才能明白.我們認為慕課最好作為課前預(yù)習或者課后復(fù)習的補充手段,而在課堂上最好采用能與學生進行實時反饋的模式進行教學,這樣有助于學生學習效率的提高.
因此,在數(shù)值分析課程的實際教學中,在對重要、困難的數(shù)學定理進行推導講解時,我們采用板書的方式,這比單純利用多媒體課件演示,更有利于學生對知識的消化吸收.同時要充分利用慕課資源,幫助學生在課下自主學習.
課程大綱規(guī)定教學的知識,也會明確教材和參考書.但教學的實施不局限于一本教材.我們會建議學生同時閱讀其他版本的教材和專著,每一本教材或?qū)Vc作者自身的學科背景知識和科研息息相關(guān).同一個知識內(nèi)容,從不同的視角看待,就有不同的解釋.“橫看成嶺側(cè)成峰,遠近高低各不同”.博采眾長,可以吸收不同的思想,提高學生對知識的掌握和理解.
同時也要非常重視學生的探究性學習,精心準備課外閱讀材料,供學生在學習教材知識之外,自主學習.這些閱讀材料是課本基礎(chǔ)知識和前沿研究進展的橋梁,在選取上遵循幾個原則:一、與課程內(nèi)容相關(guān).二、適合學生學習難度.三、每個章節(jié)對應(yīng)一到兩篇.四、結(jié)合地球科學特色.
比如,在講解共軛梯度法相關(guān)內(nèi)容時,提供了英文文獻“An Introduction to the Conjugate Gradient Method Without the Agonizing Pain”,這是伯克利加州大學教授撰寫的專題課程講義,深入淺出地介紹了求解大規(guī)模線性方程組的共軛梯度法及更廣泛的克雷洛夫子空間方法;再比如,在講解非線性方程解法時,提供了英文文獻“History Development of the Newton-Raphson method”[10],這篇文獻介紹了用于非線性方程求根的牛頓類迭代格式的歷史演化以及設(shè)計靈感;結(jié)合我校地質(zhì)學科特色,還可以向?qū)W生提供地質(zhì)學和數(shù)值計算交叉領(lǐng)域的文獻.例如,在講解矩陣特征值內(nèi)容時,提供“基于最大特征值估計的C3算法及應(yīng)用”[11]這篇文獻.在揭示斷裂、地質(zhì)層序等地質(zhì)現(xiàn)象時,相干體技術(shù)是一種重要的不連續(xù)性檢測技術(shù),這是基于特征值結(jié)構(gòu)分析的算法.這樣我校研究生能夠清楚看到數(shù)值分析知識在本專業(yè)領(lǐng)域的直接應(yīng)用.
通過閱讀這些文獻材料,一方面,大大開闊學生眼界,增加其知識面廣度,把數(shù)值分析知識和自己所攻讀專業(yè)結(jié)合起來,以科研論文作為驅(qū)動,增強學生學習數(shù)學理論的驅(qū)動力.另一方面,加深了學生對課本知識的理解,并兼顧不同數(shù)學知識水平學生的學習需求.這可以讓優(yōu)秀學生“吃飽”,有利于培養(yǎng)具備扎實數(shù)理基礎(chǔ)的地學領(lǐng)域拔尖人才.
學好“數(shù)值分析”課程很難,不僅對數(shù)學的要求高,還要熟練操作計算機,甚至還要對所需解決的實際問題背景知識有具體的了解,這就給學生帶來了較大的壓力.我們重視培養(yǎng)學生的編程計算能力.在習題布置方面,不僅包括理論推導,也有上機編程的計算題目.將課堂上所學到的數(shù)學算法通過編程、上機實現(xiàn),得到計算機的計算結(jié)果,這一點非常重要.
例如,關(guān)于曲線擬合的最小二乘法,布置上機編程計算題目,分別按照法方程和正交分解方法來計算最小二乘解,在病態(tài)最小二乘問題上,觀察這兩種算法對計算結(jié)果精確度的影響.這樣好處有以下幾方面:一、有助于理解課上所學到的數(shù)學理論知識,因為想要編出程序代碼,首先必須透徹理解算法的數(shù)學原理;二、加強學生的編程應(yīng)用能力,使學生熟練掌握編程語言;三、學生可以根據(jù)程序代碼的運行結(jié)果來比較算法的優(yōu)劣,直觀感受算法的穩(wěn)定性、運算量、運算時間等;四、可以增加趣味性,有利于培養(yǎng)學生的學習興趣.
再比如,在介紹求解線性方程組的古典迭代法時,布置編程計算題目,分別按照雅克比迭代和高斯賽德迭代格式來求解方程組,可以讓學生通過實際運算時間來比較兩種算法的漸近收斂速度.這時再與高斯消去法的程序運行結(jié)果進行比較,可以直觀感受到迭代法在處理大規(guī)模稀疏問題方面的優(yōu)勢,進而深入分析運算量和存儲量對算法效果的影響.
另外,在利用好慕課資源的基礎(chǔ)之上,我們抽出專門的兩個學時來介紹MATLAB和Python,結(jié)合技術(shù)發(fā)展趨勢,向?qū)W生介紹流行編程語言、軟件產(chǎn)品.伴隨著人工智能與大數(shù)據(jù)技術(shù)的迅猛發(fā)展,和課程知識相關(guān)的各種軟件包產(chǎn)品百花齊放、推陳出新,業(yè)界和學術(shù)界流行的編程語言也與時俱進、不斷變化.以常用的編程軟件MATLAB為例,在最近幾次的版本更新中,大幅增加了機器學習方面的函數(shù)程序.同樣于人工智能領(lǐng)域研究的火爆,由于具有良好的可擴展性,Python編程語言變得非常流行.我們及時向?qū)W生介紹這些工具,使學生跟上計算機算法語言的發(fā)展.
學生評價說,“通過一個學期的學習,我的編程能力比學期初提高了很多.當我發(fā)現(xiàn)自己完全可以獨立完成平時的編程作業(yè)后,我逐漸有了編程的自信心.這使得我在研究生數(shù)學建模競賽中,敢于編程并求解得到了時間序列分析的結(jié)果.如果沒有這一學期完成‘數(shù)值分析’編程作業(yè)的經(jīng)歷,我不會對自己的編程能力抱有信心,可能從一開始就放棄去思考這個問題了”.此外,在編程時可以對算法的本身進行更充分透徹的了解,如果對算法的核心思想不了解,那肯定是編不出來程序的.學生反饋說,“在程序反復(fù)報錯與對錯誤的修正中,我加深了對算法相關(guān)數(shù)學原理的理解”.這幫助學生理解了優(yōu)秀算法的精妙之處.
數(shù)學素質(zhì)已成為今天培養(yǎng)高層次創(chuàng)新人才的重要基礎(chǔ).教學改革是一項長期工作,需要不斷探索和實踐.研究生“數(shù)值分析”課程的教學實踐,一直建立在充分研討的基礎(chǔ)上,始終堅持“謹慎推進”的原則.我們今后將主要圍繞以下問題,繼續(xù)展開教學探索:一、如何把思政元素融入研究生“數(shù)值分析”教學中.二、結(jié)合學生主修專業(yè)特點,如何因材施教.