章權兵+程鴻+張芬
【摘 要】Matlab是目前國際上公認的準確可靠的科學計算標準軟件,也是理工科專業學生非常重要的一門工具課。本文就如何培養學生的學習興趣和參與熱情、如何根據Matlab語言的特點教學,及如何與相關課程相結合等問題,對該課程的教學方法進行了探討。旨在為人才培養模式和教學方法改革進行一定的探索。
【關鍵詞】Matlab課程教學;任務驅動式教學;教學研究
一、引言
Matlab是一種廣泛應用于算法開發、數據可視化、工程計算及數值分析等領域的高級語言,并已成為國際學術界公認的準確可靠的科學計算軟件。在設計研究單位和工業部門,Matlab已被認作進行高效研究和開發的首選軟件工具。在歐美各高等院校,Matlab已經成為線性代數、數字信號處理、圖像處理等課程的基本教學工具。目前國內許多高校的理工科專業也都開設了Matlab課程。本文結合作者對Matlab課程的教學經驗,就如何培養學生的學習興趣和參與熱情、如何根據Matlab語言的特點教學,及如何與相關課程相結合等問題,對該課程的教學方法進行了探討。
二、培養學生的學習興趣和參與熱情
高校教育要以學生為中心,以學生自主學習能力和創新能力培養為目標。任何一門課程的教學,培養學生的學習興趣都是至關重要的,因為“興趣是最好的老師。” 對于Matlab課程,一開始就很抽象地介紹其環境和特點,很難激起學生的興趣。我們第一節課在介紹課程內容之前,會為學生展示多種實例。例如,以線性代數中的解方程組、求矩陣的特征值和行列式,高等數學中的求函數的極限、導數和積分等為例向學生展示Matlab解決具體數學問題的便捷性;以函數作圖和圖像處理為例展示Matlab強大的可視化功能等。使學生對這個軟件的重要性和實用性有著最直接的感受,并進而激發學生的學習興趣。
但興趣只是起點,如果在Matlab的后續教學中,仍然采用常見的“學生聽教師講、看教師做”的教學模式,會讓學生產生“工具雖好,與己無關”的思想,從而又失去學習興趣。為保持學生學習的積極性、主動性和參與熱情,可采用眾多教學者建議的實例和任務驅動式的教學模式。我們的實際做法是:一方面,教師以專業課程中的相關問題為背景設計教學任務,例如,以繪制和比較《數字信號處理》中不同的信號為任務,使學生掌握Matlab中的基本繪圖和參數設置方法、圖形標注和修飾命令、繪制子圖的不同方法、GUI設計等內容。另一方面,可鼓勵和指導學生根據自己的專業和興趣選擇合適的任務,充分發揮學生的主動性、積極性和創新精神。很多學生對此的參與熱情非常高,例如,電子專業的學生模擬了不同信號與諧波的疊加、設計了不同的濾波器,物理專業的學生模擬了麥克斯韋速率分布律和雙縫干涉現象,計算機專業的學生模擬了加密解密算法,還有對音樂感興趣的學生利用Matlab合成出了美妙的音樂,等等。我們的教學經驗表明,以專業課程中的相關問題為背景設計教學任務,采用實例和任務驅動式的教學方法組織教學活動,引導學生對Matlab的學習,既能提高學生的學習興趣和應用Matlab軟件工具的能力,又能深化學生對專業課程基本知識的理解。
三、根據Matlab語言的特點教學
Matlab除了具有非常強大的數值計算、符號運算和數據可視化等功能外,還提供了信號處理工具箱、圖像處理工具箱、計算機視覺工具箱、通信工具箱、控制系統工具箱、優化工具箱、統計工具箱等數十種應用于不同工程領域的功能豐富的工具箱。Matlab的強大功能也使得其內容相當龐雜,因此不可能通過一學期的教學就讓學生掌握Matlab的所有相關內容。教師對教學的意義也并不要求教師直接向學生傳授和灌輸知識,而是對學生起到幫助和促進作用,因此要根據Matlab的特點和課時有限的實際情況,重點教給學生使用Matlab的思想和方法。
例如,Matlab的一大特色是其矩陣和數組運算。數組是Matlab的核心數據結構,矩陣和向量主要由數組表示(矩陣和向量是特殊的數組),而Matlab中的多數功能都是基于矩陣、向量和數組運算的。充分利用Matlab中的矩陣和向量運算、冒號算子(:),以及數組的乘法(.*)、除法(./)和乘方(.^)等運算,不僅可以簡化程序的編寫,更重要的是能有效地提高Matlab程序的運行效率。但這對于剛接觸Matlab語言的學生來說很難熟練掌握,因此在教學中要反復練習。
另一方面,對于如解線性方程組、求函數的極限、導數和數值積分等大量Matlab函數和指令的運用,不需要花過多的時間跟學生講解,可以讓學生自己查看Matlab的幫助文檔,并上機練習。Matlab提供了幾乎包含其所有內容和功能的在線幫助文檔,其中的“Matlab函數參考”覆蓋了Matlab所有核心函數,提供了有關函數句法、詳細資料、數學算法(部分)等,很多函數還給出了實例。有效地引導和幫助學生運用Matlab的幫助文檔非常重要,既可避免教師填鴨式的教學,又可培養學生的自主學生能力。
四、與相關課程的結合
如前所述,為培養學生學習的積極性、主動性和參與熱情,采用以實例和任務驅動式的教學模式。在實際教學中,實例和任務應該與學生所學的相關課程緊密結合,并且要從易到難,具有漸進式特點,這樣才能更容易被學生接受,更有效地提高學生的學習興趣,并加深學生對相關課程的理解。例如,我們依次與《線性代數》、《高等數學》、《數字信號處理》、《數字圖像處理》、《數學建模》等課程相結合。
Matlab的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,因此首先以《線性代數》中的計算問題來設置任務,使學生順利入門,并掌握Matlab的基本運算。然后,以《高等數學》中的數值計算和公式推導等來設置任務,使學生可以熟練運用Matlab進行常見的數學運算和簡單的公式推導。接著以電子專業的《數字信號處理》和《數字圖像處理》中的基本問題來設置任務,使學生加深對專業課程理解的同時,熟練掌握Matlab進行數字信號處理和數字圖像處理,及數據可視化等功能。在學生掌握了以上基礎之后,我們根據多年來一直參與學校數學建模競賽的培訓和指導工作的經驗,將數學建模競賽中出現的編程問題提煉出來設置任務,以提高學生綜合運用Matlab的編程能力和解決實際問題的能力。這往往能激起學生很大的興趣以及對Matlab繼續學習的熱情。
五、結束語
我們的教學經驗表明,以上的教學方法取得了不錯的教學效果。當然,問題總是不可避免,只有不斷地進行教學反思,繼續進行教學探索和改革,才能進一步提高教學效果。
【參考文獻】
[1]周開利,鄧春暉.MATLAB基礎及其應用教程[M].北京大學出版社,2007
[2]邢雪寧,劉麗娜.關于MATLAB課程教學的探討[J].計算機時代,2011,(7):67-69
[3]李秀瀅,王建新,彭靜.Matlab教學中任務驅動式教學法的應用[J].電氣電子教學學報,2010,32(2):104-105
【作者簡介】
章權兵(1977—),男,漢,籍貫安慶,安徽大學電子信息工程學院副教授,博士,研究方向為計算機視覺。
(基金項目:安徽大學本科教育質量提升計劃項目(教學研究類)xjjyxm14045和xjjyxm14046.)
(作者單位:安徽大學電子信息工程學院)