摘 要: 本文立足于《計算機數學》課程改革,分析了目前《計算機數學》課程教學中存在的主要問題,提出從算法思想的融入為著手點進行高職計算機數學課程改革,并對算法思想的概念與來源進行了考證,對算法思想融入《計算機數學》途徑與方法提出了自己的觀點。
關鍵詞: 計算機數學教學 算法與算法思想 途徑方法
“計算機的基礎是軟件,軟件的基礎是算法,算法的基礎是數學。”“我們希望在教學過程中,培養學生的數學思想,算法思想,而不應該把重點放在培養學生的計算能力上。”“希望能有更有針對性的算法思想的訓練,使學生理解數學培養的是一種思維方式。”計算機老師們這樣評論《計算機數學》的改革。
可以看到,現在需要一種更有用的數學,對于《計算機數學》課程而言,它需要承載的是計算機專業從業人員的思想方法與職業素養的培養。本文將從算法思想的概念與實質、算法思想的淵源、算法思想與高職數學的融合方法與途徑等方面探討這個問題。
一、算法思想的概念與淵源
1.什么是算法與算法思想
李文林在其著名的《數學史概論》中指出:“所謂‘算法’,不只是單純的計算,而是為了解決一整類實際和科學問題而概括出來的,帶一般性的計算方法,……它們是一種歸納思維能力的產物,這種能力與歐幾里得幾何的演繹風格迥然不同而又相輔相成。”
算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,并且這樣的步驟和序列可以解決一類問題。一個算法應該具有以下七個重要的特征:(1)有窮性(Finiteness);(2)確切性(Definiteness);(3)輸入項(Input);(4)輸出項(Output);(5)可行性(Effectiveness);(6)高效性(High efficiency);(7)健壯性(Robustness)。
算法思想則指對算法的設計、實施,以及對算法的改進等一系列與算法有關問題本質的理性認識層次上的思維活動的結果。
同一問題可用不同算法解決,而一個算法的質量優劣將影響到算法乃至程序的效率的高低。一個算法的評價主要從時間復雜度和空間復雜度來考慮。
2.中國古代的算法思想
從歷史上看數學的發展包括兩大主要活動:證明定理和創造算法。定理證明是希臘人首倡,后構成數學發展中演繹傾向的脊梁;算法創造昌盛于古代和中世紀的中國、印度,形成了數學發展中強烈的算法傾向。
中國古代數學就有明顯的算法特征,成書于公元前1世紀的《九章算術》是這方面的典范,其中收錄了大量的古代算法,譬如約分的“更相減損”原理、秦九韶算法和割圓術,等等。著名學者吳文俊先生認為:“中國古代的數學是一種算法的數學,也是一種計算機的數學。進入到計算機時代,這種計算機數學或是算法的數學,剛巧是符合時代要求,符合時代精神的。從這個意義上來講,我們最古老的數學也是計算機時代最適合、最現代化的數學。”
我國古代最著名的有數學書籍有《算經十書》,它是指漢、唐一千多年間的十部著名數學著作,它們曾經是隋唐時候國子監算學科(國家所設學校的數學科)的教科書。十部算書的名字是:《周髀算經》、《九章算術》、《海島算經》、《五曹算經》、《孫子算經》、《夏侯陽算經》、《張丘建算經》、《五經算術》、《緝古算經》、《綴術》。這十部算書,以《周髀算經》為最早,對古代數學的各個方面全面完整地進行敘述的是《九章算術》,它是十部算書中最重要的一部。
書中記載了當時世界上最先進的分數四則運算和比例算法。書中還記載有解決各種面積和體積問題的算法及利用勾股定理進行測量的各種問題。《九章算術》中最重要的成就在代數方面,書中記載了開平方和開立方的方法,并且在這基礎上有了求解一般一元二次方程(首項系數不是負)的數值解法。還有整整一章是講述聯立一次方程解法的,這種解法實質上和現在中學里所講的方法是一致的。這要比歐洲同類算法早出一千五百多年。在同一章中,還在世界數學史上第一次記載了負數概念和正負數的加減法運算法則。
3.近代數學中的算法思想
事實上,作為近代數學誕生標志的解析幾何與微積分,從思想方法的淵源看都是算法傾向的產物。
從微積分的歷史可以知道,微積分的產生是尋找解決一系列實際問題的普遍算法的結果。這些問題包括:決定物體的瞬時速度、求極大值與極小值、求曲線的切線、求物體的重心及引力、面積與體積計算等。從16世紀中開始的100多年間,許多大數學家都致力于獲得解決這些問題的特殊算法。牛頓與萊布尼茲的功績在于將這些特殊的算法統一成兩類基本運算——微分與積分,并進一步指出了它們的互逆關系。
而對于解析幾何的誕生,通常認為,笛卡兒創立解析幾何的基本思想,是用代數方法來解幾何問題。如果我們去閱讀笛卡兒的原著,就會發現貫穿于其中的徹底的算法精神。《幾何學》開宗明義就宣稱:“我將毫不猶豫地在幾何學中引進算術的術語,以便使自己變得更加聰明。”解析幾何將一切幾何問題化為代數問題,這些代數問題則可以用一種簡單的、幾乎自動的方法去解決。這與古代中國數學家解決問題的路線可以說是一脈相承。
二、計算機數學教學過程中算法思想融入的途徑與方法
計算機數學是計算機專業的一門基礎課程,它不僅為計算機專業其他課程的學習提供必要的數學知識,為計算機應用提供必要的數學思想,而且為計算機專業學生數學素養的養成提供必要的環境。
一直以來,高職計算機數學教學內容其實是變相的高等數學,重點講述極限、導數、微分、積分,然后附帶介紹一些圖論,邏輯代數的知識,且由于后面的離散數學部分內容不多,所占期末考試比例15%左右,大部分學生認為學的計算機數學等同于高等數學。有些老師說,不是不想改,而是不知道怎么改才對。其實這有個摸索的過程。尤其是高職階段,課程壓縮得很厲害,大多數只開一個學期,要講微積分,要講補充內容,要講數學實驗,的確也很緊張。這也就需要我們認真研究算法思想滲透的方法與途徑。可以從以下幾個方面進行考慮。
1.算法思想與計算機數學文化史的介紹相結合
數學文化史的介紹在高職數學的介紹中起著重要的啟發、引導的作用,英國數學史家福弗爾(J.Fauvel 1947—2001)曾總結出應用數學史于數學教學的十五個理由,其中有:(1)增強學生的學習動機;(2)改變學生的數學觀;(3)因為知道并非只有他們自己有困難,因而會感到欣慰;(4)使數學不那么可怕;(5)有助于保持對數學的興趣;(6)給予數學以人文的一面;(7)通過古今方法的對比,確立現代方法的價值;(8)為學生提供探究的機會;(9)過去的發展障礙有助于解釋今天學生的學習困難。
中國的數學史中有大量有關算法思想的內容,在介紹極限思想時,割圓術求圓面積就是一個很好的引入數學史的例子。
《算經十書》中的第三部是《海島算經》,它是三國時期的劉徽(約225—295)所作。這部書中講述的都是利用標桿進行兩次、三次、最復雜的是四次測量來解決各種測量數學的問題。這些測量數學,正是中國古代非常先進的地圖學的數學基礎。此外,劉徽對《九章算術》所作的注釋工作也是很有名的。一般地說,可以把這些注釋看成是《九章算術》中若干算法的數學證明。
劉徽注中的“割圓術”開創了中國古代圓周率計算方面的重要方法,他還首次把極限概念應用于解決數學問題。通過割圓術求圓面積的方法,使學生在感受中國古人的聰明智慧的同時,學習這種無限細分,無限接近的計算方法。
2.算法思想與計算機數學教學內容相結合
在高職計算機數學教學中,我們都要介紹數制的基本計算方法,二進制、八進制、十進制的互相轉換。對于這個部分,我們可以在課堂上設計這樣的教學情境:“能讓計算機幫你進行數制轉換嗎?”由于學生已了解了數制之間的轉換規律,只要介紹N-S流程圖,就可以鼓勵學生創造自己的算法。我們可以先對算法進行介紹,使學生理解算法的四種基本結構“順序、選擇、當型循環、直到型循環”,并做例題1:給出求10!并打印的N-S流程圖(見圖一)。
和例題2:求出1到100順序相加的過程中末位數是0的和,并把它們打印出來(見圖二)。通過這兩個流程圖案例,使學生理解流程圖的基本設計方法與步驟。最后請同學們自己嘗試做十進制轉換成二進制的流程圖(如表一),在此過程中,同學們可以討論,提問,最后分小組回答,使同學們對算法的七個特征有更深刻的認識,能運用基本特征對算法的優劣作出自己的評價。
過程是最重要的,讓同學們設計算法,比較算法,評判算法的優劣,從而對算法概念形成自己的理解。
3.算法思想與計算機數學實驗教學內容相結合
除了高等數學中常見的數學實驗內容,如函數求值,極限、導數、積分的計算等,計算機數學可加入算法實踐,編程等實驗內容。如可在實驗中帶有實際應用意義的問題,使學生綜合應用所學數學知識,分析實際帶有建模意義的實際問題,并通過建立算法,設置程序予以解決。如兔子問題:“一對剛出生的幼兔經過一個月可以長成成兔,成兔再經過一個月后可以繁殖出一對幼兔。如果不計算兔子的死亡數,請給出在未來12個月中每個月的兔子對數。”在數學實驗課上,老師可引導學生用樹狀圖來表示兔子增長規律,然后讓學生列出流程圖(圖略),最后編出簡單程序用數學軟件matlab或mathematica來計算:
執行結果:233。即一年以后小兔的數量為233對。
再比如在積分課程開始之前,可以設計一節數學實驗課程,讓學生求一塊任意封閉圖形的面積,通過設計無窮級數求和的方法,使學生通過自己的實驗發現面積的分割求法,并自己設計算法,進行計算,可編程如下:function s=def(f,a,b,m)
運行程序,可得不同n時的不同S值,使學生更直觀地理解和式極限的概念。在下一節課上講定積分的概念時,學生就自然而然地理解了定積分的式子與概念。通過算法對基礎概念的闡釋方式,有利于高職學生理解抽象的數學概念。
三、結語
算法是一種思想,它與函數思想的一樣,也是一種需要通過訓練得來的數學思想,《計算機數學課程》是算法思想培養的良好途徑。愿以本文拋磚引玉,與廣大數學教師一起探討如何更好地推進《計算機數學》教學改革,促進信息學院學生職業能力與學習發展能力的養成,使數學課成為對高職學生終身受益的一門課程。
參考文獻:
[1]李章.高職計算機數學教學改革與實踐[D].湖南師范大學,2010.5.
[2]王信峰.計算機數學基礎[M].高等教育出版社,2009.
[3]Fauvel.J,Using history in mathematics education[J].For the Learning of Mathematics,1991,11(2):3-6.
[4]陳希,陳艷平.計算機專業數學教學有效性的思考與實踐[J].寧德師專學報(自然科學版),2010,22(1):35-38.