范羚
摘 要 Matlab是本科教學和學習中較為重要的仿真軟件之一,也是一門實踐性較強的學科。為提高教學效果,培養學生解決實際問題的能力,更好的與實際應用接軌,提出將Matlab編程與相關課程結合,進行Matlab模塊化教學模式和分級實驗的改革和探討。實踐證明,這種綜合性教學模式有效的提高了學生的學習積極性,收到了較好的教學效果。
關鍵詞 Matlab 模塊化教學 分級實驗 教學方法
中圖分類號:G712 文獻標識碼:A
1存在問題
Matlab是目前國際上應用較廣泛的科學與工程類計算軟件,也是本科教學中理工科學生較為重要的一門基礎工具課?,F在,在我國各大高校中,Matlab已經成為大學生必須掌握的基本技能之一,人工智能,神經網絡的學習更是離不開Matlab的仿真和驗證。如何讓Matlab技能課程的特點得到充分發揮,并區別于我系其他電子信息類專業課程,成為我系本科教學改革的主要內容之一。所謂技能課程,應該將實際應用放在首位,以提高學生的實際編程應用能力為主,而相關課程的理論學習可以為輔,或安排在高年段進行系統的理論學習。如大學生計算機基礎,C語言等課程在我國多數高校中,已均在大一或大二完成教學,為學生后續相關課程的學習打下計算機及編程基礎。因此,本次改革旨在提高Matlab課程的實用性,更好發揮其技能課的優勢,輔助學生其他課程的學習。
目前,我系Matlab課程的教學安排較后,主要作為高年段學生的選修課程開設,而大部分與之關聯的課程,如“信號與系統”,“數字信號處理”,“圖像處理”,“語音信號處理”等均在大二或大三進行教學,這些課程理論性相對較強,學生缺少實際應用,對課程掌握深度不夠。如何利用Matlab強大的矩陣處理與科學計算功能,幫助學生更深入掌握這些課程的理論知識,且利用Matlab中相關函數進行實際演示,便成為此次Matlab教學探討的主要內容。本次教學改革將Matlab課程提前至第3學期開課,超前于數字信號處理,語音信號處理等課程,在學生學習完高等數學,線性代數的基礎上,便進行Matlab軟件的編程學習,讓學生先學會用工具解決問題,再慢慢領會各種函數的編程原理,以突出Matlab技能課程的特點。
2課程改革的主要內容
針對Matlab課程的這些特點,本次教學改革的內容主要包括以下幾個方面:
2.1適當提前Matlab課程教學學期
將Matlab課程開課學期提前至第3學期進行,更好的與“信號與系統”,“數字信號處理”及“語音信號處理”等課程相結合。第3學期的“信號與系統”課程中,涉及的傅里葉變換,拉普拉斯變換和z變換等理論,均可利用Matlab強大的編程能力進行編程和仿真。若將Matlab課程提前,可更好地將Matlab編程和相關的信號與系統理論相結合,讓學生更深入理解傅里葉變換,拉普拉斯變換和z變換的原理,并將枯燥的理論公式,用形象具體的二維圖像進行顯示和處理,同時也可提高學生Matlab編程的能力。
2.2以模塊化和分級實驗為主進行教學方法改革
該課程在我系的教學計劃中,理論學時為16學時,分別講述Matlab的常用窗口和文件管理,數值計算,符號計算,可視化和圖形用戶界面(GUI)設計,及Matlab綜合程序設計五大內容,并配以16學時的實驗課。在實驗課中以教材的這5個獨立章節為基礎,分別設計完成5個獨立的實驗,以教師指定實驗題目為主,且大部分屬于編程驗證型實驗,5個實驗間并沒有明顯的相關性,也缺少和電子信息類其他課程的關聯,絕大多數實驗內容用獨立的語句即可編程實現,學生自主發揮的余地較少。這樣的實驗設計雖然可以讓學生掌握Matlab的基本編程原理,但與其他課程的關聯性較小,獨立的綜合型實驗較少,學生缺少主動創新性設計,較難區分學生思維及編程能力的高低。
因此提出以模塊化為主的教學方法改革,旨在增強學生的學習興趣和獨立創新的能力,給不同學習程度的學生不同的發揮空間,盡可能做到因材施教。在理論課時中,除按教材給定的章節進行講解外,注重與電子信息類相關課程進行適當結合,讓學生體會到課程的連貫性和相互結合性,再配以相關實驗進行輔助學習,以提高學生對課程的理解和運用能力。
在Matlab符號計算和數值計算兩章中,將“Matlab”與“線性代數”結合,完成第一模塊“Matlab在線性代數中的應用”實驗,具體可設計線性代數方程的求解,方程特征值和特征向量的求解,多項式的擬合和插值等實驗內容,屬于基礎驗證型實驗,旨在讓學生熟悉Matlab的基本編程思路和編程模式,學習獨立調試程序的方法。
在Matlab計算可視化和GUI設計章節中,將“Matlab”與“信號與系統”結合,完成第二模塊“Matlab在信號處理中的應用”實驗。該模塊將結合信號與系統中的三大重要變換:傅里葉變換,拉普拉斯變換和z變換,分別選取時間域,頻率域,S域和Z域為主要研究對象,對相關函數fft(),ifft(),laplace(),ilaplace(),ztrans(),iztrans()等進行詳細分析,并結合Matlab的可視化工具,利用GUI進行用戶圖形界面編程,設計完成一個可以和信號與系統課程相結合的輔助學習平臺,加深學生對三大主要變換的理解,并在完成的用戶圖形界面中,分別對時域信號,頻域信號,s域和z域信號進行展示。學生不僅可以掌握Matlab的可視化編程方法,更將信號與系統的課程進行了滲透,增強了課程間的相互關聯性,提高了學生學習興趣。
在Matlab程序設計章節中,根據教材內容,主要講解Matlab程序設計中的流程控制,M函數文件和腳本文件的編程,函數調用和參數傳遞等高級編程方法。在此基礎上,完成第三模塊“Matlab在圖像處理中的應用”實驗。此前第二模塊實驗以處理一維信號為主,因此在第三模塊實驗中,以處理二維圖像信號為主,將實驗進行進一步提升。該模塊實驗以M函數文件和腳本文件編程為主,通過圖像的打開,讀取,變換,顯示和保存等步驟,進一步強化Matlab的編程思路,培養學生嚴謹認真的編程習慣和編程風格。該模塊實驗分級進行,基礎模塊中主要實現數字圖像處理的一些基本操作,如利用直方圖完成圖像的統計特性分析,利用點運算和代數運算完成圖像的偽色彩處理和圖像融合,根據圖像時頻變換的特點,完成二維圖像的傅里葉變換和離散余弦變換等,并結合第二模塊中的GUI設計完成基于數字圖像處理的圖形用戶界面設計;提高模塊中,設計一些較復雜的圖像處理課題進行實驗,如在學習圖像處理的相關基礎理論后,進行圖像分割,圖像邊緣檢測等綜合型開放型實驗,充分發揮學生的主動性,進行自主的多元化編程探索。實驗過程中,教師將對編程過程中用到的理論知識進行講解和指導,具體的實現步驟和處理過程則交由學生自主設計,以此來調動學生的學習積極性和自主創新的能力。
3總結
本次Matlab課程教學改革提出以模塊化為基本教學手段的改革思路。在我系之前的教學安排中,Matlab課程理論課部分全部按教材的章節順序進行授課,實驗課程安排在理論課程全部結束之后,以各章節內容為依托,設計相關5個實驗,但各實驗間并無明顯的相互聯系和提高。此次教學模式探索,將在理論部分適當引入相關課程,如信號與系統,語音信號處理,圖像處理等的基礎知識,并結合高等數學,信號與系統,圖像處理三大模塊進行實驗,將原來獨立的驗證型實驗提升為設計型,綜合型實驗,同時也增加了各模塊間的相互關聯性。第一模塊以Matlab在線性代數中的應用為主,進行一些多項式的變換,線性方程的求解等,旨在讓學生熟悉Matlab的編程思路和編程方法;第二模塊將Matlab和信號與系統課程結合,以一維信號變換為主,并進行相關GUI設計;在此基礎上,進行第三模塊設計,對二維圖像進行變換編程,進一步提高學生的動手能力。在第三模塊中,我們還將進行學生分級實驗的改革,基礎模塊中進行圖像處理的初級操作,提升模塊中,完成較復雜的圖像處理,如圖像分割,邊緣檢測算法的實現等,并為后期的畢業設計課題做準備,以此做到因材施教。但此部分實驗設計較難,需根據學生的學習水平進行實時調整和指導,課題需具備一定難度,但又必須在學生可以完成的范圍內,不能超出。因此,需要教師對學生的學習情況進行綜合了解,全面掌握學生的學習能力。
總之,如何根據Matlab語言的特點,進行有針對性的教學,是培養電子信息類應用型、創新型人才的一個重要任務。實踐證明,根據Matlab課程特點提出的模塊化教學改革,及分級型實驗較好的結合了我系學生的具體實際,增加了學生學習的積極性和Matlab課程教學的實際效果。
基金項目:本文系“廈門工學院教學改革項目”(項目編號:JG2018017)的研究成果。
參考文獻
[1] 張興莉,劉勇.《MATLAB語言》課程教學過程改革的研究[J].科技創新導報,2018,15 (18):208-209.
[2] 何海浪,林峰,黃乘順.基于Matlab的《信號與系統》課程教學改革[J].教育教學論壇,2018(31):119-120.