離散數學實踐教學研究與實踐
佚名
摘 要:本文從算法描述、實驗課程體系建設、實際應用領域介紹以及實踐教學模式等方面討論了離散數學的實踐教學。
關鍵詞:離散數學;實驗教學;實踐能力
離散數學課程所涉及的概念、理論和方法,大量地應用在計算機科學體系中,數理邏輯是計算機中的邏輯學、邏輯電路、人工智能的基礎課程,集合與關系是數據結構、數據庫系統的理論基礎,而代數系統則是現實世界的縮影,直接模擬了現實系統,圖論知識更是直接應用在計算機網絡、數據結構、編譯原理等專業課程中。但傳統教學中過于注重理論教學而忽略實踐,學生普遍認為枯燥難懂,認為是純粹的數學課程,對計算機編程用處不大。因此教師在授課過程中要注重理論聯系實踐,培養學生的專業素養,我們將從以下方面循序漸進加強教學理論與實踐。
1 課程教學注重教學方法與教學實踐的改革與創新
加強理論聯系實際,從提高計算機編程思想的角度對學生展開教學,教師在講解理論的同時,要注重其實際應用與算法描述。例如在講解最短路徑時,就要介紹Dijkstra算法,單源最短路徑的基本思想如下:設S為最短距離已確定的頂點集(看作紅點集),V-S是最短距離尚未確定的頂點集(看作藍點集)。
① 初始化:只有源點s的最短距離是已知的(SD(s)=0),故紅點集S={s},藍點集為空。
② 重復以下工作,按路徑長度遞增次序產生各頂點最短路徑:在當前藍點集中選擇一個最短距離最小的藍點來擴充紅點集,以保證算法按路徑長度遞增的次序產生各頂點的最短路徑。當藍點集中僅剩下最短距離為∞ 的藍點,或者所有藍點已擴充到紅點集時,s到所有頂點的最短路徑就求出來了。
我們通過實例給學生模擬算法執行過程,驗證算法的正確性,但細心的學生會發現前面加進去的點并不一定是后期考察路徑的必經點,例如有三個點A,B,C,AB、BC、AC間權值分別為1,2,4,如果設A為源點,則第一次加進來的點是B,到C的最短路徑應該是A-B-C,如果BC權值為4,則到C的最短路徑應該是A-C,這里就要注意紅點集加入的點不是其他點必經點,這是因為集合元素是無序的,不是聯結已有的點作為最后點的路徑的。
我們給出求解的動畫演示過程,加深學生的認識,實際多應用在交通網絡中路徑的查詢中,兩地之間是否有路徑以及如果有多條路徑時找最短路徑等,最后再對算法進行擴展解決單目標最短路徑問題、單頂點對間最短路徑問題等,擴展學生對算法的理解等。
在講解邏輯推理時,建議學生使用Prolog語言可以輕松實現命題和聯結詞表示以及邏輯推理,代數系統則是無處不再,自動售貨機、電梯系統、自動取款機等都是一個代數系統,有自己的運算關系,鼓勵學生定義一些運算,完成一個具有輸入輸出的可交互的系統。
2 建設完善實驗課程體系,加強學生實驗實踐能力
挖掘課程內容,建設完善的實驗課程體系,實驗課程的主要目的是,培養學生的數學建模能力、算法設計能力、編寫程序能力和應用創新能力,使學生養成良好的數學素質。學生可以有選擇地做。
(1) 基礎實驗如表1所示,基礎實驗設計一些離散數學基本問題,要求學生利用所學基礎知識,完成相應的算法設計和程序實現。如在集合論部分,設計有限集基本運算算法設計實驗,要求學生利用熟悉的程序設計語言完成有限集合的數據結構、集合間的交、并、差、迪卡爾積、子集判斷等基本運算。學生可以在每部分中自由選部分題,完成一定的基礎實驗。這樣的設計使得學生學會基本操作,鞏固程序設計基本調試方法的掌握。
(2) 綜合性實驗如表2所示,設計一些比較復雜的離散數學問題,要求學生綜合運用各章知識或多學科知識,完成問題的分解與求解、綜合和整體實現。例數理邏輯部分的命題真值表計算實驗中,要求學生設計實現命題數據結構、五種基本邏輯運算的代數運算轉換、表達式求值等;學生需要綜合運用命題邏輯、數據結構等知識,完成實驗各個環節,實現運算結果的顯示。可由幾個同學組成一個學習小組完成實驗。
(3) 設計性實驗如表3所示。這一層次要求較高,對那些學有余力、興趣濃厚的學生,給出一些難度較高的課題,要求他們自行設計問題描述模型和實驗方案,開發實現小型應用軟件。例如,要求學生針對某景區內景點的分布情況,設計可滿足旅游者不同需求(如費用最省、線路最短、重復較少、景點最全等各種要求)的實用小軟件。教師檢查實驗現象和實驗結果。學生對實際程序的運行結果應能進行分析并提出改進方法,每完成一個實驗,都要求寫一份實驗報告,挑選出好的作品,做成精品演示系統。
3 發現實際應用點,擴大學生知識面
讓學生了解離散數學在現實生活中的主要應用,有意識地引導學生運用所學理論去分析問題、解決問題,從而讓學生充分感受到離散數學這門課程的魅力和實用價值。部分實際應用如表3所示。鼓勵學生按照如下流程操作:發現問題,然后構思一個可能求解該問題的算法過程,再設計算法并將其表達為一道可執行程序,最后精確地評價這個程序,考查其作為一種工具去求解其它問題的潛能,鍛煉學生數學建模能力,提高分析問題,解決問題的能力。
4 建設開放式教學環境,豐富網絡教學資源
充分利用網絡學堂、課程學習網站等豐富的教學資源,構建了開放式的教學環境,我們開發了離散數學教學網站,模塊包括:實驗發布、實驗申請、已審核實驗、成果展示、精品展示、在線解答(前臺如圖1所示,后臺如圖2所示)、資料下載等模塊,實驗項目可選或自擬,增強了師生間互動,也為學生個性化學習提供了良好的條件。
學生可以在任何時間遠程登陸,發表咨詢,下載資料,參與實驗項目,申請實驗項目,獲得批準后,我們開放實驗室免費提供設備,實驗項目結題后提交成果,我們從中提煉出精品,做成精品演示系統,學生還可以對已有成果做深入研究。
總之,鼓勵學生吃透書本,挖掘理論的應用領域,鼓勵學生改進算法、挖掘應用點,從抽象的理論到實際應用,再擴大應用,抽象到一般情況,讓學生感覺到學習離散數學的重要性,理論與實踐相結合,互相促進,切實提高大家學習離散數學的興趣,能夠達到學生積極主動為了實現應用而吃透理論,發揮主觀能動性。采用項目訓練為主的教學理念,切實提高學生的實際動手能力、創新能力和自學能力。
參考文獻:
[1] 耿素云,屈婉玲. 離散數學[M]. 北京:高等教育出版社.
Abstract:The paper will discuss algorithm description of important theory suitable for practical contents in textbook, construction of the course experimental system, the domain of practical application and the practice teaching mode, which is devoted to strengthen practical teaching, raise learning interest, foster students' practice and Innovation ability.
Key words:Discrete Mathematics; Experimental Teaching; innovation ability.