摘要:本文針對“計算方法”課程的特點,結合從事該課程的教學實際,圍繞如何提高該課程的教學水平和質量,從教學理念、教學內容、教學方法、教學手段等方面進行探討和實踐。
關鍵詞:計算方法;算法;計算機應用;教學水平;教學質量
中圖分類號:G64 文獻標識碼:B
文章編號:1672-5913(2007)02-0007-03
計算方法也稱為數值計算方法或數值分析,是計算機科學與技術、信息與計算科學專業(yè)的一門重要的專業(yè)基礎課程,也是高等工科院校學生普及有關計算方法方面知識的基礎課程。
通過該門課程的學習,旨在培養(yǎng)學生抽象思維和分析問題能力的同時,使學生熟悉并掌握利用計算機進行科學計算所必須的一些最基本、最常用的算法。但在一般情況下,由于該門課程具有理論性強,高度抽象,知識要素的分析過程復雜等特點,再加上一些學生的高等數學知識基礎較差,計算機語言和編程方法的課程學習不夠扎實,理論與實踐銜接不緊密,致使學生對該門課程學習的興趣不高,實際教學效果也不理想。因此,如何提高計算方法課程的教學水平和教學效果,對學生后續(xù)課程的學習和更好利用計算機解決實際問題均具有重要的意義。本人結合長期從事該課程教學工作的實際,從教學理念、教學內容、教學方法、教學手段等方面進行了一定的探討。
1 引導學生明確課程要求
計算方法課程從表面看,屬于應用數學類的課程,一些學生在開始學習該課程時,也感覺計算方法就是高等數學課程的延續(xù)。因此,讓學生領會該課程的要求和教學的指導思想,對學好該門課程來說至關重要。高等數學重在討論對問題的解決,而計算方法重在討論和分析問題解決的方法。計算機要真正能夠充分發(fā)揮作用離不開計算機軟件,軟件由計算機程序、文檔和有關控制數據組成,而計算機程序的核心是計算機算法,一步一步解問題的過程稱為算法。可見,如果沒有有效的算法,就不可能開發(fā)出更新更先進的軟件,也就不可能有計算機的廣泛運用。因此,教學中要讓學生明白算法的重要性,理解計算方法重在研究方法,重在研究適合計算機的算法,且讓學生一開始就知道,計算機的運算速度雖然高,可以承擔大運算量的工作,但并不意味著計算機的算法可以隨意選擇。在本課程的引入中,筆者選擇了幾個典型例子來說明研究計算方法的必要性和重要性。如:關于求解線性方程組的問題,在高等數學中一般通過分析可以容易得出使用行列式解法的克萊姆(Cramer)法則。但用這種方法求解一個n階線性方程組,要計算n+1個n階行列式的值,為此總共需要做n!(n-1)(n+1)次乘法,即使n=20,這項計算用運算速度為百萬次每秒的計算機去做,也要連續(xù)工作千百萬年才能完成,這樣的求解方法當然完全沒有實際意義。其實,計算方法就是要探討類似很多問題的實用算法。同時,通過教學過程的各個環(huán)節(jié),使學生不斷感受到計算方法這門課程的作用和使用價值,激發(fā)學生學習該課程的積極性,并突出和加強學生理論聯系實際的能力。
2整合課程內容
自計算機成為數值計算的主要工具以來,計算方法主要研究適合于在計算機上使用的數值計算方法及與此相關的理論,包括方法的收斂性、穩(wěn)定性以及誤差分析,還研究滿足計算機特點且計算時間最短、占用計算機內存最少的計算方法。因此,首先必須根據計算機學科和專業(yè)培養(yǎng)要求制訂切合實際的教學大綱,并深入分析計算方法課程和不同教材的特點,合理安排教學內容,使教學更有針對性。
由于我校的辦學定位是培養(yǎng)應用型創(chuàng)業(yè)人才,所以,在制定本課程大綱時,做到教學要求符合實際,教學內容合理,突出具體的運用,使其能更好地指導本課程的教學。筆者在先后講授計算方法這門課程時,使用過多種不同版本的教材和參考書,有《數值分析》(南開大學出版社,袁尉平等編著)、《計算方法與實習》(南開大學出版社,孫志忠等編著)、《數值分析簡明教程》(高等教育出版社,王能超編著)、《計算方法》(西安交通大學出版社),《計算機算法設計》(電子工業(yè)出版社,蘇德富等編著)等。這些教材或參考書各有特點,有不同的側重和各自的內容體系。如何選擇適合本??茖W生實際及教學大綱要求的教材就顯得很重要。實際上,要真正選擇一種很適合的計算方法的教材是很困難的,因為這方面教材數量少且更新較慢,而計算機學科發(fā)展又較快。為了解決這些方面的問題,筆者在尊重學科特點,滿足大綱要求的基礎上,指定教材時以《計算方法與實習》(南開大學出版社,孫志忠等編著)為主,其他作為參考書,并在教學中將所要講授的內容按照由簡單到復雜、由淺入深、循序漸進、注重實用的原則進行重新組織,甚至在知識點的組合中打破章節(jié)界限,對部分內容做了合理的取舍。對一些內容復雜且今后可能會隨著繼續(xù)升造而進一步學習的內容進行了刪減。如對偏微分方程的數值解、插值與逼近中周期函數的逼近與快速Fourier變換、振蕩函數的積分、常微分方程數值求解中的邊值問題的數值解法等做了大膽的刪減。一方面節(jié)省了課時數,另一方面也使學生更集中精力抓住重點,同時也使講授更適合學生的思維和知識結構,對一些理論性過強的內容,做到只講解思路,重視分析及得出具體方法,對具體的推導過程只要求學生理解即可,從而使學生真正達到計算機學科的要求。
3改革傳統教學方法
3.1 設立問題情景,引導和啟發(fā)學生自主解決問題
對于計算方法這門課程的內容,讓學生掌握的不是解決某一個或某一類問題的具體方法,而是要讓學生理解和分析如何得到解決問題的方法。也就是說,在教學的整個過程中,把解決問題的思路、方法、步驟作為講授的重點。對于每一個要講授的內容,一般設計為四個階段:(1)問題的提出;(2)問題的解決所用到的新舊知識;(3)解決問題的過程;(4)方法的提煉和有效性分析。如,在講授非線性方程的數值解這一內容時,先依據“非線性方程的解在方程次數大于或等于5的情況下,它的根不能用方程系數的解析式表示”這一理論知識,提出:一般的非線性方程的數值解如何得到?緊接著,引導和啟發(fā)學生建立新舊知識之間的聯系,回憶已學過的知識(方程根的概念,數學分析中關于函數零點的知識)很容易得出求解的理論依據和步驟,并與學生一道利用其理論依據求解問題(過程),最后將這一解決問題的過程歸納并抽象化,就得到求方程近似根的最直觀、最簡單的方法——二分法。在分析二分法優(yōu)缺點的基礎上,就提出了下一個要講授的內容。通過這樣一個完整的過程,使學生在教師的啟發(fā)和自己的主動思考中拓展知識結構和思維空間,逐漸學會和掌握解決類似未知問題的思維模式和方法要領。
3.2 典型分析、觸類旁通
在教學中,由于該課程內容復雜,課時少,在課堂中如果要講解所有的問題和多種類型的例題,時間是不允許的。因此,在講授過程中必須對內容進行有效的處理,使學生在理解和掌握基本算法的基礎上,抓住典型問題對一些內容和習題進行講解、深入分析,要求學生掌握問題和方法的實質,并要求學生在課堂或課后做到對其他問題觸類旁通。比如講解復化求積公式時,考慮到為了提高計算積分的精度,復化求積公式其實就是對劃分的若干個小區(qū)間上的積分應用梯形公式、辛卜生(Smpson)公式、柯特斯(Cotes)公式,因此在講授時就可以重點講授一個公式的推導和運用,然后引導學生課堂或課后理解掌握其他公式的推導和運用。通過對類似很多內容的處理,從而提高課堂教學和學生學習的效率。
3.3 激發(fā)求知,主動參與
在計算方法的教學中,可以說新的知識點一個個不斷地出現,這就需要學生運用科學的思維方法去思考,從而來解決許多實際問題,最大限度地發(fā)揮學生的潛能。在教學中讓學生在自主學習中學會思維、學會學習是非常重要的。因為,計算方法每一章節(jié)的內容都是在過去已解決了的問題基礎上,從新的角度提出的另一個層面上的一個個新的問題,如:數值微分、數值積分、常微分方程的數值解、矩陣特征值與特征向量的計算等。因此,在教學中,結合大學生的智力特點,筆者立足于不斷激發(fā)學生的求知欲,讓學生積極主動的參與學習活動,并使學生在獲取知識的同時,自覺完善和發(fā)展自己的認知結構,掌握獨立獲取和運用知識的能力,啟發(fā)引導學生揭示已有知識、經驗與新的學習任務之間的矛盾,引起學生的認識沖突。同時,深入了解學生探究新知識的知識基礎及能力起點,預想學生解決問題的各種思考方法及會遇到的種種困難,提供有利于學生進行思維的信息,給予學生討論、交流及展示思維過程的時間和場合,使學生積極主動地參與整堂課的學習活動,從而更好地激發(fā)學生的認知興趣,培養(yǎng)學生的思維和分析的能力。
4 改革教學手段,優(yōu)化教學過程
4.1 利用多媒體教學手段,提高課堂教學效率
由于計算方法課時少,知識信息容量要求大,在一些章節(jié)適當借助于多媒體教學,能有效地增大每一堂課的課容量,減輕教師板書的工作量,使教師能有精力講深講透所舉例子,提高講解效率。如,在講授線性方程組的數值解法和及其例題時,筆者就是將一些表述的過程用多媒體進行演示。否則,使用板書表示問題,也會占去課堂很多寶貴的時間,更沒有時間去分析和講解具體的方法。另外在每次對課堂所學內容進行回顧和小結時,筆者一方面引導學生總結本堂課的內容,學習的重點和難點。另一方面,通過投影儀或多媒體課件,同步地將內容在瞬間放在屏幕上,使學生進一步理解和掌握本堂課的內容。
4.2 運用框圖描述算法全貌,為學生編程和利用計算機演算奠定堅實基礎
在教學中得出某一個問題的算法后,從計算方法課程要求來講,任務似乎已經完成。但算法是抽象的,為了真正架起問題、軟件、計算機之間的橋梁,在對每一個問題講授后,不失時機地對所形成的算法用框圖加以描述。對于利用框圖描述一個算法,一般可分為:準備部分、計算部分、控制部分、反饋部分。這不僅可以使學生加深對算法基本特征的直觀理解,也使學生真正把握計算公式在算法中核心作用,因為在計算機上使用的算法,其計算公式常采用遞推的形式,遞推的基本思想就是將一個復雜的計算過程歸結為一個簡單過程的多次重復,這種重復在算法上表現為循環(huán),而這一點正是借助計算機解決實際問題的方便之處,從而也為學生利用編程語言寫出運行程序進行演算和計算提供幫助。因此,讓學生學會和掌握用框圖描述算法也是必要的。
4.3 安排上機實習環(huán)節(jié),使學生加深對算法的理解,增強解決實際問題的能力
計算方法雖說是理論性很強的課程,但該課程教學的最終目的是培養(yǎng)和訓練學生編寫程序,開發(fā)軟件,或者說利用計算機解決實際問題奠定堅實的基礎。因此,在教學過程中適時安排上機環(huán)節(jié)是十分必要的,特別是針對每章學習結束,學生可以利用已經得到的算法,編寫出相應的程序,利用計算機來求解教材中的習題,從而幫助學生加深和強化對知識的理解,鍛煉學生的實際動手能力和解決問題的能力,筆者也深深體會到這樣的實踐環(huán)節(jié),對增強學生學習的自信心是有很大幫助的。
總之,要教好計算方法這門課程,并使學生學好這門課,需要教師在認真掌握教學規(guī)律的基礎上,不斷加強教學改革和探索,也需要學生具有一種主動探索的學習習慣,并掌握正確的學習方法,才能從根本上提高本課程的教學水平和教學質量。
參考文獻:
[1]張基溫.從語法體系走向問題體系——程序設計課程教學改革探索[J].計算機教育,2004,(7):29-31.
[2]王超.構建大學生自主學習教學模式, 培養(yǎng)大學生自主學習能力[J].中國冶金教育,2006,(4):51-54.
收稿日期:2006-11-07
作者簡介:王超(1964.5-),男,副教授,工程碩士,院長,書記。研究方向為計算數學、計算機軟件工程。