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