李穎?徐秀娟
【摘 要】針對當前數學類專業的計算機課程專業特點不突出的問題,提出以面向數學與計算機課程相結合的系列課程改革,并以數學方法編程課程為例,從教學內容、教學模式和考核手段等多方面進行闡述。經過近四年的教學實踐驗證,此次教學改革在提高學生的數學算法實現能力方面是比較成功的培養模式。
【關鍵詞】教學改革 算法編程 案例驅動
1.背景
計算機科學的飛速發展和廣泛應用給數學與工程技術、社會科學及管理科學的結合提出了很多新課題。數學類專業就是解決此類課題的新型理工結合式的專業,由應用數學、信息與計算科學等學科組成。其主干學科是科學計算和計算機科學與技術。這次教改之前,我校的數學類專業學生主要學習數學類和計算機類(C語言、操作系統、軟件工程等)課程。
2.課程改革
以往我校的數學類專業的語言課程教授限于學時要求,只是介紹了基本語法和可視化控件的應用。的確,任何一個編程者也許能利用可視化組件拼湊出“看起來還不錯”的應用程序。但這樣的程序卻將帶來高昂的擴展和維護成本。所以應該進一步深入學習C#的核心編程思想——面向對象編程,它涉及人類思維(抽象)模式、建模符號體系、面向對象方法學等諸多方面。把需求從自然語言翻譯成對象模型,再把對象模型翻譯成特定語言代碼,這在數學方法編程課程中得到了實現。
3.教學實踐
美國高校本科新教學改革主要包括強調主動學習、協作學習與學術挑戰以及推進服務學習和國際教育體驗等內容。通過這些教改,美國大學出現了一種以主動學習和加強社會聯系為特征的新教學模式。本科課堂開始呈現更靈活、更開放和結構多元的教學態勢;高校以教師講授為主的教學所占比重大幅下降,而小組討論式的學習大為增加。一些主動學習方法如大量閱讀、案例分析、課堂討論、合作項目研究、學科論文寫作等已經成為美國高校本科教學中常見的教學手段。據此以數學方法編程課程為例,談一下我校的教學改革實踐方案。
(1)教學內容。數學方法編程課程以數學分析、高等代數和概率論與數理統計的典型算法為例,利用C#語言在winform環境下開發實現。這樣做我們既可以讓學生復習已學數學課程的算法,更加深刻理解算法及算法間的聯系,又可以讓學生練習winform編程,提升數學算法的編程能力。
比如設計一個利用梯形法計算定積分,考慮到梯形法是計算定積分的基本方法,其他方法是它的改進,我們可以把梯形法作為一個類來設計。為了使被積函數的使用范圍廣,我們仿照MATLAB程序設計界面,按五種基本函數類型設計輸入模式,這時在梯形公式中使用的被積函數是不同的,為了提高程序的可擴展性,我們根據輸入函數類型利用委托讓被積函數指向不同的函數類型。在接下來的課程中用Romberg積分法計算函數的定積分,我們采用繼承梯形法中的基類,派生出Romberg積分法的類,這也有助于學生理解兩種積分方法的關系,為了配合Romberg積分法,我們定義了動態數組存儲中間結果,這有利于學生復習動態數組用法。
(2)教學模式。為了培養學生的學習興趣、提升學生的自學能力,我們采用讓學生主動學習和加強復雜算法實現的新型教學模式。傳統的“教師講,學生聽”課堂灌輸式教育通常會造成學生眼高手低,缺乏學習興趣,動手能力較弱等缺點。我們可以采用發現/啟發式教學模式,首先觀察數學軟件的實現模式,然后照此設計界面和程序。比如仿照SPSS的單因素方差分析算法,我們采用文件的形式對數據進行導入和結果導出。然后以此為例,讓學生實現雙因素等重復試驗的方差分析的算法實現。教師幫助學生分析問題,提醒學生數據的存儲結構需要改變,而具體的實現方法又讓學生自己選擇,以啟發式和項目驅動方式培養學生的自學能力和動手能力,提高學生的學習興趣。
(3)教學手段。對于計算機類的課程,最有效地提高編程能力的方法就是多上機實踐。所以本課程采用在機房授課的方式,實例演示直接在編程環境中逐語句鍵盤鍵入,讓學生更全面地了解編程過程。在教學過程中更多地教授學生獲取幫助的方法,遇到問題能夠自己通過“幫助”“調試”“轉到定義”等路徑解決,使學生更了解C#編程的編輯環境。教師不可能把所有知識全部交給學生,但若是更多交給學生解決問題的方法,會讓學生解決實際問題的能力大幅提升。
(4)考核方式。因為C#的編程環境帶有智能下拉列表,每當鍵入類或關鍵字的時候總會有輸入提示,所以不需要編程人員記住所有的命令、屬性和方法的全稱,對于同一方法允許多種參數類型等,這些特征使得筆試和上機考試的差別較大。本課程就根據此特點采用上機考試,教師通過網絡把試題發給學生,學生進行程序實現后,發回源代碼作為答案。平時留作業也是發回源代碼,真正做到學生為主體,能力為本位,營造項目式驅動的學習考試環境。
4.結束語
本文針對當前數學類專業的計算機類課程存在的問題,從課程設置、教學方法、考核手段等方面出發,以數學方法編程課程為例,提出了一個應用型為主體的教學課程,以確保學校的人才培養目標與社會需求的一致。經過了三年的教學實踐,發現相對傳統教學方式,學生更加熟悉編程環境,動手能力更強,在參加數學建模競賽和做畢業設計時更加得心應手。
【參考文獻】
[1]邱勁等.《數據結構》課程教學改革與實踐探索[J].西南師范大學學報(自然科學版),2013,38(1).
[2]林菁.多級項目驅動教學在數據庫系列課程中的應用[J].計算機教育,2013(16).
[3]游柱然等.近年來中美高校本科教學改革的比較與反思[J].江蘇高教,2013(3).endprint