計算機數學素養培養思路論文

學識都 人氣:1.34W

一、前言

計算機數學素養培養思路論文

數學在人類文明的發展歷史中發揮着重要的作用,推動了重大的科學技術進步。尤其是到了二十世紀中葉以後,數學的理論研究與實際應用之間的時間差已大大縮短。當前,隨着計算機應用的普及,信息的數字化和信息通道的大規模聯網,依據數學所作的創造設想已經達到可即時試驗、即時實施的地步。數學技術一直是一種應用最廣泛、最直接、最及時、最富創造力的實用技術。數學爲計算機的發明和發展壯大提供了堅實的理論基礎。早在1936年,英國數學家圖靈(Turing)發表了對計算機具有奠基意義的論文《論可計算數及其在判定問題上的應用》,裏面提出了計算的圖靈機模型,該模型即爲現代計算機模型的原型。爲紀念數學家圖靈,美國計算機學會於1966年設立了計算機界最負盛名的“圖靈”獎,以表彰那些對計算機事業做出重要貢獻的個人。數學是所有工科的基礎,其中離散數學已經成爲計算機科學發展的理論基礎。圖靈獎的獲得者中有不少是學數學或者數學家出身。1974年獲獎的h被稱爲現代計算機之父,之前在加州理工獲得數學博士學位,著有經典著作《計算機程序設計藝術》4卷。於1985年獲獎,之前在哈佛大學獲應用數學博士學位。1986獲獎的an在斯坦福大學同時獲得數學和計算機的博士學位,主要研究圖論、算法和數據結構。當前計算機理論及應用的壯大和發展更是離不開近代數學的發展,將計算機與數學的發展分割開來既不合理也不現實,和所有學科一樣,計算機領域也有自己的問題,比如什麼是可計算的,什麼是實際可計算的,這些計算模型本質上是數學的應用。離散結構上的算法研究無疑是計算機科學中的重要領域,研究算法需有紮實的數學功底,就機器學習領域的研究而言,通常要對所處理的數據建立不同的數學模型如分類模型、迴歸模型和排序模型。一般地,先針對這些問題建立特定的模型,然後採用有效的優化算法來求解這些模型。應用數學如矩陣論、多元統計分析和最優化理論可以爲深入地研究機器學習領域提供理論基礎。在實際的工作中,會經常看到數學基礎好、具有一定數學素養的人解決問題會遊刃有餘且後勁足,學習新事物和新東西會比較快,會表現出一定的創造性。但是當前大學的課程安排普遍存在對學生的數學學習的掌握程度不是很重視,導致學生對數學課的態度停留在學習時僅瞭解,一學完就全忘,到用時就迷惑的一知半解狀態。教師在教授專業課和專業基礎課的過程中,沒有引導學生深入地發掘理論背後的數學本質,導致學生對計算機科學理論的理解只能停留在表面,憑機械性記憶而沒有徹底理解。鑑於上述數學在計算機的發明發展和實際工作中的重要作用,因此,在計算機教育的過程中,迫切地需要培養學生的數學素養以滿足現實工作和學習中解決實際問題的需要。

二、數學素養的培養

《算法設計與分析》是計算機專業的一門重要的專業課,有利於培養學生分析問題和解決問題的能力,爲學生學習後續課程打下堅實的基礎。下面結合這門課程來談談在計算機課程中如何提高學生的.數學素養。

(一)結合算法的發明史來講解算法

深入學習計算機科學需要有良好的數學基礎,對於算法的學習更是如此。研究算法的圖靈獎獲得者中有很多是數學家或者學數學出身,如圖論中有很多算法是以前面提到的an的名字命名的,著名的Dijkstra最短路徑算法由stra發明,而他2000年退休前一直是美國Taxas大學的計算機科學和數學教授。前面提到的h則是字符串匹配算法KMP算法的發明人。給學生講解算法的發明歷史一方面幫助學生了解發明算法的背景和發明過程,激發學生的創新慾望;另一方面讓學生認識到數學的重要性和其在該課程所涉及的領域中發揮的重要作用。

(二)結合學生所掌握的數學知識來講解算法

修讀該門課程的對象一般爲大學高年級學生,他們之前應該修過其他的數學課程,如高等數學(數學分析)、線性代數和離散數學。通常教師在講授該課程的過程中會認識到離散數學在其中發揮的作用,會有意識地提及離散數學的知識,但實際上學生學習的高等數學或線性代數的知識對理解該門課程也是有幫助的。下面通過一個例子來說明數學知識對理解算法正確性的重要作用。設計完算法如何證明算法的正確性呢?對於順序結構和選擇結構比較好驗證,而對於循環結構就使用循環不變量(LoopInvariant)來證明。而循環不變量的證明實際上借鑑了數學歸納法的思想:循環發生前某個循環不變量爲真,循環進行的過程中保持爲真,那麼循環結束時,該循環不變量仍然爲真。因此可以斷定:無論循環體循環多少次,該循環不變量總爲真。其他的例子,包括:比較算法的時間複雜度時可以引入高等數學中的無窮小量來講解;計算時間複雜度也會涉及到利用無窮級數的估計等等。

(三)結合數學工具來可視化算法

理論的發明通常是從簡單直觀的例子中歸納得來的,數學工具可以幫助我們理解和可視化算法。

(四)結合數學抽象思維來幫助學生理解算法

數學的抽象思維可以幫助學生站在更高的角度來看待問題和算法之間的聯繫。算法通常是針對某一類問題的,而如何對問題進行歸類,如何選擇合適的算法解決是值得學生去探究的問題。講解算法時,應該幫助學生抽象出問題的本質,同時注意算法之間的聯繫與區別。計算點對之間的距離是算法設計中一個經典問題,如果源點單一,可採用Dijkstra最短路徑算法,而計算圖中任意點之間的最短路徑,使用Floyd-Warshall最短路徑算法會合適一些,但是如果圖上的權重存在負值,那就要用帶鬆弛操作的Bellman-Ford算法求解。瞭解了這些知識後,學生在把問題抽象成特定的算法模型時,就可以正確地使用合適的算法了。其他問題包括使用矩陣胚理論來證明貪心算法的正確性以及靈活應用動態規劃來求解離散結構上的最優化問題等等。

三、總結

數學在計算機的發展和應用中的重要作用表明了數學素養的培養在計算機教育中的重要性。通過算法設計與分析課程的例子,第二節給出了4種方法闡述瞭如何在教學中培養學生的數學素養。然而,方法的最終目標是通過數學這個工具培養學生的自學能力,如同著名的教育家陶行知指出的那樣:“我以爲好的先生不是教書,不是教學生,而是教學生學”。因此,通過學生的數學素養的培養能起到鍛鍊學生思維能力和自學能力的目的。從這個意義上講,在計算機教育中培養數學素養具有一定的積極作用和參考價值。