黃姣茹,陳超波,高嵩
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,陜西西安 710021)
數(shù)值計(jì)算在科學(xué)研究、工程實(shí)踐中被廣泛應(yīng)用,特別是在計(jì)算機(jī)時(shí)代,適應(yīng)計(jì)算機(jī)的新算法大量涌現(xiàn),可以說(shuō)數(shù)值計(jì)算進(jìn)入了研究、應(yīng)用和發(fā)展的新時(shí)期[1]。《計(jì)算方法》作為一門(mén)講授數(shù)值計(jì)算基本理論和方法的課程,研究的是如何利用計(jì)算機(jī)求實(shí)際工程中各種數(shù)學(xué)問(wèn)題的數(shù)值解。因其較強(qiáng)的實(shí)用性,該課程已經(jīng)成為各高校數(shù)學(xué)專(zhuān)業(yè)與計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、自動(dòng)化等工科專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)基礎(chǔ)必修課。
隨著應(yīng)用型人才培養(yǎng)工作的逐步推進(jìn),面向工科專(zhuān)業(yè)的課程重在培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際工程科學(xué)問(wèn)題的能力[2-4]。《計(jì)算方法》作為一門(mén)理論與實(shí)踐結(jié)合的課程,需要學(xué)生能夠通過(guò)分析實(shí)際工程問(wèn)題建立相應(yīng)的數(shù)學(xué)模型,能夠根據(jù)不同算法的適用范圍,選取合適的算法對(duì)構(gòu)造的數(shù)學(xué)模型進(jìn)行數(shù)值求解,能夠通過(guò)編寫(xiě)算法的相關(guān)程序運(yùn)用計(jì)算機(jī)進(jìn)行求解。目前,針對(duì)工科專(zhuān)業(yè)學(xué)生開(kāi)設(shè)的《計(jì)算方法》課程,主要涉及“非線(xiàn)性方程求根”“線(xiàn)性方程組求解”“牛頓插值法”“數(shù)值積分”“一階微分方程的初值問(wèn)題求解”等算法的基本理論及程序設(shè)計(jì)。由于現(xiàn)有課程教學(xué)內(nèi)容涉及過(guò)多基本理論和算法的推導(dǎo),在教學(xué)過(guò)程中出現(xiàn)了注重課堂理論教學(xué)忽略實(shí)踐應(yīng)用的情況,偏離了工科專(zhuān)業(yè)應(yīng)用型人才的培養(yǎng)目標(biāo)[5-7]。本文通過(guò)對(duì)目前課程教學(xué)現(xiàn)狀的分析,以淡化理論推導(dǎo)強(qiáng)化實(shí)踐應(yīng)用為指導(dǎo)思想,嘗試在《計(jì)算方法》課程的理論教學(xué)與實(shí)踐教學(xué)兩方面進(jìn)行改革。
為順應(yīng)應(yīng)用型人才培養(yǎng)的要求,《計(jì)算方法》需要工科專(zhuān)業(yè)的學(xué)生能夠理解各種數(shù)值方法提出的工程背景,掌握重要數(shù)值計(jì)算方法的設(shè)計(jì)思路,并能利用軟件編程解決實(shí)際工程問(wèn)題,然而,當(dāng)前的課程教學(xué)現(xiàn)狀如下:
《計(jì)算方法》中涉及的各類(lèi)數(shù)值計(jì)算方法本身具有很強(qiáng)的工程背景,而現(xiàn)有課程教學(xué)過(guò)程中重在講解常用數(shù)值計(jì)算方法的基本原理和具體實(shí)現(xiàn)步驟,在公式推導(dǎo)、定理證明及程序?qū)崿F(xiàn)上花費(fèi)了過(guò)多的時(shí)間,對(duì)各類(lèi)數(shù)值算法的問(wèn)題來(lái)源、應(yīng)用范圍和優(yōu)勢(shì)及不足的分析不夠具體,對(duì)如何根據(jù)實(shí)際情況選擇合適算法以及改善算法性能等實(shí)際運(yùn)用重視不夠,導(dǎo)致工科專(zhuān)業(yè)領(lǐng)域涉及的數(shù)值計(jì)算問(wèn)題在課堂中沒(méi)有得到充分體現(xiàn),學(xué)生在課程學(xué)習(xí)結(jié)束之后,只會(huì)生搬硬套用公式做題,卻不知道如何運(yùn)用數(shù)值計(jì)算方法去解決本專(zhuān)業(yè)以及工程中實(shí)際的計(jì)算問(wèn)題,存在理論教學(xué)內(nèi)容與實(shí)際應(yīng)用聯(lián)系不緊密的問(wèn)題。另一方面,由于課程教學(xué)內(nèi)容多而學(xué)時(shí)分配少,在教學(xué)過(guò)程中教師通常是“滿(mǎn)堂灌”,缺少相應(yīng)的啟發(fā)與引導(dǎo),學(xué)生往往處于被動(dòng)接受的狀態(tài),而且整個(gè)理論教學(xué)環(huán)節(jié)主要通過(guò)板書(shū)和多媒體課件的形式完成,課本上的例題也多數(shù)通過(guò)講授直接給出結(jié)果,教學(xué)手段略顯單一,導(dǎo)致學(xué)生感覺(jué)上課過(guò)程十分枯燥,課堂參與的積極性和主動(dòng)性都不高。
《計(jì)算方法》是利用計(jì)算機(jī)求解各種數(shù)學(xué)問(wèn)題的課程,在工科專(zhuān)業(yè)開(kāi)設(shè)重在鍛煉學(xué)生利用數(shù)值計(jì)算方法編程解決實(shí)際工程問(wèn)題能力?,F(xiàn)有實(shí)驗(yàn)內(nèi)容的設(shè)置較為陳舊,還停留在對(duì)算法本身的理論驗(yàn)證方面,沒(méi)有很好地結(jié)合工程案例。以筆者所在學(xué)院為例,目前開(kāi)設(shè)的實(shí)驗(yàn)有:“非線(xiàn)性方程求根”“線(xiàn)性方程組求解”“牛頓插值法”“數(shù)值積分”“一階微分方程的初值問(wèn)題求解”等,雖然分配了較多課時(shí),但學(xué)生只是按照指定算法完成編程。然而在解決實(shí)際工程問(wèn)題中,往往需要先將具體問(wèn)題抽象為數(shù)學(xué)問(wèn)題,即建立了能描述或等價(jià)代替實(shí)際問(wèn)題的數(shù)學(xué)模型后,才能繼而為該數(shù)學(xué)問(wèn)題選擇合適的計(jì)算方法,最后才是編程實(shí)現(xiàn)。此外,實(shí)驗(yàn)手段的選取也較為落后,目前所用仍是一些數(shù)學(xué)處理功能較弱、語(yǔ)言結(jié)構(gòu)復(fù)雜的高級(jí)語(yǔ)言,如C語(yǔ)言等。一方面,這些編程語(yǔ)言不能很好地通過(guò)可視化的圖形直觀(guān)地展示各種算法的優(yōu)劣勢(shì)。另一方面,學(xué)生在程序設(shè)計(jì)時(shí),往往會(huì)因?yàn)橐恍┬⌒〉恼Z(yǔ)法錯(cuò)誤導(dǎo)致程序無(wú)法正常執(zhí)行,從而花費(fèi)更多時(shí)間在代碼形式上的糾錯(cuò)方面,而忽略了算法自身的性能分析和改進(jìn)。
針對(duì)以上教學(xué)現(xiàn)狀結(jié)合課程自身的特點(diǎn),從理論教學(xué)和實(shí)踐環(huán)節(jié)兩方面提出如下改革措施。
(1)以實(shí)際案例驅(qū)動(dòng)教學(xué)。
《計(jì)算方法》作為專(zhuān)業(yè)基礎(chǔ)課,為了更好為以后的專(zhuān)業(yè)課學(xué)習(xí)奠定基礎(chǔ),需要充分結(jié)合本專(zhuān)業(yè)實(shí)際,從工程背景出發(fā),采取實(shí)際案例驅(qū)動(dòng)教學(xué)的模式,將學(xué)生學(xué)習(xí)的側(cè)重點(diǎn)放到對(duì)實(shí)際的案例分析和求解上,通過(guò)對(duì)問(wèn)題的分析,引出相應(yīng)數(shù)值計(jì)算方法的工程由來(lái)(出發(fā)點(diǎn))、主要解決思路和基本實(shí)現(xiàn)流程,同時(shí)為了增加算法講授的直觀(guān)性,每個(gè)算法都引入流程圖,以軟件編程演示算法,淡化教材中復(fù)雜、繁瑣的理論證明和公式推導(dǎo),側(cè)重在實(shí)際中如何使用算法解決問(wèn)題,讓學(xué)生在應(yīng)用的同時(shí)完成對(duì)算法原理的學(xué)習(xí),避免了枯燥、繁雜的理論說(shuō)教。這樣,不僅增加了學(xué)生學(xué)習(xí)的積極性,而且有利于提升學(xué)生的綜合分析和解決實(shí)際問(wèn)題的能力,同時(shí)也從根本上回答“學(xué)習(xí)這門(mén)課有什么用”的問(wèn)題。
以插值法為例,筆者在教學(xué)的過(guò)程中從汽車(chē)安全剎車(chē)距離的問(wèn)題出發(fā),引出車(chē)速和安全剎車(chē)距離之間函數(shù)關(guān)系具體表達(dá)式未知的實(shí)際情況,讓學(xué)生討論如何確定任意給定車(chē)速對(duì)應(yīng)的安全剎車(chē)距離。隨后,給出一組車(chē)速和對(duì)應(yīng)剎車(chē)距離的實(shí)際采集數(shù)據(jù),引入插值法的由來(lái),講述Lagrange插值法,通過(guò)演示運(yùn)行算法程序,發(fā)現(xiàn)如果增加一個(gè)車(chē)速-剎車(chē)距離的采樣數(shù)據(jù),對(duì)應(yīng)的Lagrange插值基函數(shù)要重新計(jì)算,進(jìn)一步引入具有繼承性的牛頓差商插值法,在后續(xù)在講述中,考慮等間隔車(chē)速-剎車(chē)距離的數(shù)據(jù)采集情況,引出牛頓差分插值法,考慮到代數(shù)插值階次過(guò)高導(dǎo)致龍格現(xiàn)象,講授分段插值法。在整個(gè)插值法章節(jié)內(nèi)容的講解過(guò)程中,始終圍繞最初的汽車(chē)安全剎車(chē)距離問(wèn)題,講述各種插值算法,并分析它們各自的優(yōu)劣性和適用范圍,使學(xué)生了解插值法能夠解決哪些實(shí)際問(wèn)題的同時(shí),還能夠根據(jù)具體情況從多種方案中選取最合適的解決方案,課堂的實(shí)際反饋效果良好。
(2)采用靈活多樣的教學(xué)手段。
充分發(fā)揮線(xiàn)上+線(xiàn)下混合式教學(xué)的優(yōu)勢(shì)??紤]到課堂時(shí)間有限,對(duì)部分復(fù)雜的算法推導(dǎo)及數(shù)學(xué)證明,可以提前以文檔或視頻的形式發(fā)放到線(xiàn)上教學(xué)平臺(tái)供學(xué)生學(xué)習(xí),這樣學(xué)生可以在課前主動(dòng)參與到課程學(xué)習(xí)中。在線(xiàn)下的課堂教學(xué)中,可以通過(guò)與學(xué)生交流溝通,了解其線(xiàn)上學(xué)習(xí)后的難點(diǎn),從而進(jìn)行有針對(duì)性的講授,提高了學(xué)生的學(xué)習(xí)效率。這種混合式教學(xué)方式表面上看教師課堂上講的部分減少了,實(shí)際上卻能夠更好地解決學(xué)生的困惑,起到了事半功倍的效果。
以實(shí)際的操作演示為主。在算法設(shè)計(jì)和性能分析過(guò)程中,避開(kāi)單純枯燥的理論講解,教師可以提前編好程序(可預(yù)設(shè)一些常見(jiàn)的小錯(cuò)誤),在課堂上運(yùn)行演示,學(xué)生可以直觀(guān)地看到算法運(yùn)行的結(jié)果,此時(shí)可以從結(jié)果出發(fā),引導(dǎo)學(xué)生分析各種算法的適用條件、優(yōu)勢(shì)劣勢(shì)以及改進(jìn)思路。同時(shí),通過(guò)故意設(shè)置的一些錯(cuò)誤,可以激發(fā)學(xué)生共同參與解決問(wèn)題的興趣和熱情,學(xué)生在此過(guò)程中更好地領(lǐng)會(huì)了算法程序編寫(xiě)過(guò)程中應(yīng)注意的技巧和細(xì)節(jié)。
改變傳統(tǒng)的教師“滿(mǎn)堂灌”。教師在課堂上作為引導(dǎo)者,嘗試讓學(xué)生作為角參與到整個(gè)教學(xué)環(huán)節(jié)中。比如,每章內(nèi)容教師可以只講授其中的一到兩種經(jīng)典方法,其他的算法由學(xué)生以分組匯報(bào)的形式完成。匯報(bào)過(guò)程中,由組長(zhǎng)講授算法原理,副組長(zhǎng)演示程序,在演示過(guò)程中,提問(wèn)其他組員。這樣,學(xué)生在課前會(huì)主動(dòng)查閱文獻(xiàn),完成算法理論的學(xué)習(xí)和整理,準(zhǔn)備講授需要的資料。這個(gè)過(guò)程讓學(xué)生對(duì)課程內(nèi)容有更深入地理解,同時(shí)也能更好地參與到課堂中。
(1)層次化的實(shí)驗(yàn)內(nèi)容設(shè)置。
為了加強(qiáng)學(xué)生對(duì)常用數(shù)值方法的理解與掌握,提高學(xué)生應(yīng)用算法編程解決實(shí)際工程問(wèn)題的能力,將上機(jī)實(shí)驗(yàn)內(nèi)容分為兩大模塊:側(cè)重?cái)?shù)值計(jì)算方法理論驗(yàn)證的基礎(chǔ)性實(shí)驗(yàn)和側(cè)重解決實(shí)際工程問(wèn)題的綜合性實(shí)驗(yàn)。
前者主要針對(duì)理論教學(xué)中涉及的某些特定算法,進(jìn)行相關(guān)實(shí)驗(yàn)內(nèi)容的設(shè)置。實(shí)驗(yàn)題目主要來(lái)源于課本中的例題,或者課后的練習(xí)題。這類(lèi)實(shí)驗(yàn)屬于數(shù)值方法的純理論仿真驗(yàn)證,要求每個(gè)學(xué)生單獨(dú)完成實(shí)驗(yàn)內(nèi)容。目的是讓學(xué)生掌握課堂上講授的理論知識(shí),熟悉編程軟件中涉及的相關(guān)命令、函數(shù),能夠逐漸掌握基本算法的編程實(shí)現(xiàn)。
后者主要針對(duì)常用數(shù)值算法在實(shí)際中的應(yīng)用,進(jìn)行相關(guān)實(shí)驗(yàn)內(nèi)容的設(shè)置。收集設(shè)計(jì)實(shí)驗(yàn)題目的途徑多樣,可以結(jié)合本專(zhuān)業(yè)實(shí)際的工程項(xiàng)目,可以源自教師負(fù)責(zé)的科研項(xiàng)目,也可以從其他專(zhuān)業(yè)的經(jīng)典數(shù)值計(jì)算案例和以往的數(shù)學(xué)建模比賽題目中挑選,設(shè)計(jì)適用于本課程的實(shí)驗(yàn)項(xiàng)目。這類(lèi)實(shí)驗(yàn)內(nèi)容具有一定的綜合性,采取小組合作的方式完成實(shí)驗(yàn),同時(shí)為避免一人包攬的情況,要求每個(gè)組員有明確的分工。目的在于讓學(xué)生了解《計(jì)算方法》課程的實(shí)際工程應(yīng)用,鍛煉學(xué)生分析實(shí)際問(wèn)題、建立數(shù)學(xué)模型、選擇合適算法、編寫(xiě)程序和結(jié)果分析等方面的能力。同時(shí),有利于培養(yǎng)學(xué)生的團(tuán)隊(duì)合作能力及溝通交流的能力,能夠最大化發(fā)揮實(shí)驗(yàn)的效果。
(2)選用專(zhuān)業(yè)的數(shù)值計(jì)算軟件。
在軟件選取上,可以考慮使用具有完善的數(shù)據(jù)可視化功能、簡(jiǎn)單易學(xué)的語(yǔ)法結(jié)構(gòu)、調(diào)試方便實(shí)用、易于擴(kuò)充等優(yōu)勢(shì)的專(zhuān)業(yè)軟件代替C語(yǔ)言等。一方面,可以很好地通過(guò)可視化的圖形直觀(guān)地展示各種算法的結(jié)果,分析算法的適用條件和優(yōu)劣勢(shì);另一方面,學(xué)生在程序設(shè)計(jì)時(shí)不會(huì)再因?yàn)橐恍┬⌒〉恼Z(yǔ)法錯(cuò)誤而花費(fèi)更多時(shí)間在糾錯(cuò)上,能夠?qū)⒐?jié)省下來(lái)的上機(jī)實(shí)踐時(shí)間用于算法自身的性能分析和改進(jìn)。MATLAB作為一種數(shù)值計(jì)算、分析能力強(qiáng)大的專(zhuān)業(yè)類(lèi)應(yīng)用軟件,擁有豐富的數(shù)據(jù)類(lèi)型和結(jié)構(gòu)、友好的面向?qū)ο蟆⒖焖俚目梢晥D形、眾多的數(shù)學(xué)和數(shù)據(jù)分析資源及應(yīng)用開(kāi)發(fā)工具。在工程計(jì)算與數(shù)值分析、控制設(shè)計(jì)、信號(hào)處理與通訊、圖像處理、信號(hào)檢測(cè)、金融建模設(shè)計(jì)與分析等工程領(lǐng)域都具有廣泛的應(yīng)用,已成為國(guó)際公認(rèn)的優(yōu)秀工程應(yīng)用開(kāi)發(fā)環(huán)境。但MATLAB的符號(hào)計(jì)算能力較弱,其符號(hào)計(jì)算來(lái)自另一個(gè)通用數(shù)學(xué)工具軟件MAPLE,并且可以在MATLAB中很方便地實(shí)現(xiàn)MAPLE的調(diào)用。同樣MAPLE具有很強(qiáng)大的符號(hào)計(jì)算功能,而數(shù)值計(jì)算能力弱,但在MAPLE中能很方便地實(shí)現(xiàn)MATLAB的調(diào)用。如果學(xué)生能同時(shí)掌握這兩個(gè)常用的軟件工具,就可以在MATLAB和MAPLE的交互平臺(tái)上解決一般的數(shù)學(xué)計(jì)算問(wèn)題,從而為解決復(fù)雜的工程應(yīng)用問(wèn)題和研究問(wèn)題提供一種有效的手段。
針對(duì)《計(jì)算方法》課程教學(xué)現(xiàn)狀,從理論教學(xué)與實(shí)踐教學(xué)兩方面提出一些改革措施,強(qiáng)調(diào)算法的實(shí)際應(yīng)用,淡化相關(guān)理論證明和公式推導(dǎo),目的在于提升工科專(zhuān)業(yè)學(xué)生運(yùn)用所學(xué)理論知識(shí)綜合分析和解決實(shí)際工程問(wèn)題的能力。
創(chuàng)新創(chuàng)業(yè)理論研究與實(shí)踐2022年8期