摘要:Matlab基礎(chǔ)與應(yīng)用課程是光電信息科學(xué)與工程本科專業(yè)開設(shè)的一門重要專業(yè)選修課程。為提高課程教學(xué)質(zhì)量,采用了豐富課堂內(nèi)容、增加案例式教學(xué)、實(shí)施線上線下混合式教學(xué)以及加強(qiáng)理論知識的實(shí)際應(yīng)用等措施,培養(yǎng)學(xué)生應(yīng)用Matlab 程序設(shè)計(jì)解決實(shí)際問題的能力,取得了較好的成效。
關(guān)鍵詞:Matlab基礎(chǔ)與應(yīng)用;案例式教學(xué);混合式教學(xué)
一、引言
Matlab軟件是一種以數(shù)值計(jì)算和數(shù)據(jù)圖示為主的計(jì)算機(jī)軟件,并包含適應(yīng)于多個學(xué)科的專業(yè)包以及完善的程序開發(fā)功能。經(jīng)過將近四十年的發(fā)展,該軟件在數(shù)學(xué)計(jì)算、數(shù)據(jù)分析、繪圖、模擬仿真等方面具備強(qiáng)大功能,在理工科的教學(xué)、科研實(shí)踐中發(fā)揮重要作用[1-2],已成為國內(nèi)外理工科高校學(xué)生的通用計(jì)算工具,許多高校都開設(shè)了Matlab語言應(yīng)用的相關(guān)課程[3-5]。安徽工業(yè)大學(xué)微電子與數(shù)據(jù)科學(xué)學(xué)院光電科學(xué)與工程專業(yè)面向大二學(xué)生開設(shè)Matlab基礎(chǔ)及應(yīng)用課程,學(xué)生通過該課程的學(xué)習(xí),熟練掌握Matlab繪圖、符號運(yùn)算、程序設(shè)計(jì)等知識,為后續(xù)進(jìn)一步學(xué)習(xí)數(shù)字圖像處理等專業(yè)課程打下基礎(chǔ),以便將來從事光電圖像處理、數(shù)學(xué)物理建模、工程設(shè)計(jì)和科學(xué)研究等方面的工作。從當(dāng)前教學(xué)實(shí)踐來看,本課程仍然存在以下幾個方面的問題:(1)相較于其他必修課程,學(xué)生對Matlab基礎(chǔ)及應(yīng)用的重視程度及學(xué)習(xí)熱情明顯不足;(2)Mathworks公司幾乎每年會推出1~2個新的Matlab版本,在數(shù)學(xué)分析、自動控制、數(shù)字信號處理、圖像處理、人工智能、生物化學(xué)等眾多領(lǐng)域都得到廣泛應(yīng)用,教學(xué)內(nèi)容涉及Matlab的基本運(yùn)算、數(shù)據(jù)的可視化、符號運(yùn)算、程序設(shè)計(jì)等,教學(xué)內(nèi)容豐富,但課程只安排16個教學(xué)學(xué)時和8個上機(jī)學(xué)時,課堂教學(xué)時間緊張;(3)課程的教學(xué)手段單一,內(nèi)容明顯滯后于新技術(shù)的發(fā)展,并且主要以理論知識講解為主,課程內(nèi)容較為枯燥,同時上機(jī)學(xué)時有限,學(xué)生對軟件相關(guān)語法知識和操作不熟悉;(4)學(xué)生對軟件的學(xué)習(xí)通常只停留在傳統(tǒng)的驗(yàn)證性實(shí)驗(yàn)上,偏重操作軟件的學(xué)習(xí),無法將專業(yè)應(yīng)用與軟件相關(guān)理論知識結(jié)合起來,對于培養(yǎng)學(xué)生的編程能力、解決問題能力以及創(chuàng)新思維能力方面的訓(xùn)練明顯不足。
二、課程教學(xué)改革措施
針對課程教學(xué)中存在的問題,我們嘗試采用以下方式調(diào)動學(xué)生學(xué)習(xí)積極性,提升課程教學(xué)效果。
(一)豐富課堂內(nèi)容,加強(qiáng)課堂管理
Matlab作為一門專業(yè)選修課,選課人數(shù)高達(dá)150人,教師授課時往往難以顧及每一個學(xué)生,且學(xué)生對該門課程的重視程度明顯不夠。為了讓學(xué)生重視該門課程,調(diào)動學(xué)生學(xué)習(xí)積極性,不僅需要優(yōu)化、更新、豐富課堂內(nèi)容,還需要加強(qiáng)課堂管理。
首先,為了優(yōu)化課程內(nèi)容,在緒論課部分,教師向?qū)W生介紹Matlab在科學(xué)計(jì)算與數(shù)據(jù)采集、多功能繪圖、Matlab符號計(jì)算、Matlab數(shù)值分析、Simulink建模與仿真、GUI設(shè)計(jì)等方面的應(yīng)用,講解本專業(yè)領(lǐng)域會用到的工具箱,如符號計(jì)算工具箱、信號處理工具箱、圖像處理工具箱等,深入剖析本課程與后續(xù)光電科學(xué)與作用,讓學(xué)生認(rèn)識到該課程的重要性。其次,教師在授課中注意融入思政元素,采取文字、圖片、影像等方式介紹革命先輩、社會主義建設(shè)者、新時代英雄等光輝事跡,向?qū)W生傳遞正確的世界觀、人生觀、價值觀,提升學(xué)生對該門課程的學(xué)習(xí)興趣。再次,Matlab作為一門實(shí)踐類課程,教師需要加強(qiáng)學(xué)生對代碼的理解、編寫及應(yīng)用能力的訓(xùn)練。教師如果只是講解理論知識,無法與學(xué)生形成更好的共鳴,因此講課過程中需要通過多媒體給學(xué)生演示程序運(yùn)行情況,著重讓學(xué)生掌握程序設(shè)計(jì)的基本思想、理念和方法,可以讓學(xué)生在課堂上自帶筆記本,邊聽理論知識,邊運(yùn)行程序。最后開設(shè)上機(jī)實(shí)踐課程,實(shí)時為學(xué)生解答在編程過程中遇到的困難,提升學(xué)生的實(shí)際動手編程能力。
為了加強(qiáng)課堂管理,教師需要對課堂教學(xué)做出改變,不再一味地采用傳統(tǒng)的填鴨式教學(xué)給學(xué)生灌輸知識。教師通過學(xué)習(xí)通發(fā)布課堂搶答任務(wù),增加與學(xué)生的互動,對積極回答問題、表現(xiàn)優(yōu)秀的學(xué)生予以加分獎勵。在實(shí)際演示過程中,讓熟練掌握所學(xué)內(nèi)容的學(xué)生上講臺進(jìn)行實(shí)際操作,以激發(fā)學(xué)生的學(xué)習(xí)熱情。課堂上教師可提出一些趣味性較強(qiáng)的編程問題,并利用分組討論的策略來培養(yǎng)學(xué)生的合作意識。比如,讓學(xué)生設(shè)計(jì)一個考試成績管理系統(tǒng),用以管理學(xué)生成績并能實(shí)現(xiàn)分?jǐn)?shù)排名、查詢、修改等功能,讓學(xué)生以小組為單位進(jìn)行討論,鼓勵相互合作,并對表現(xiàn)出色的學(xué)生給予適當(dāng)加分。每節(jié)課都預(yù)留幾分鐘時間,布置隨堂作業(yè),讓學(xué)生及時完成。以上措施不僅可以記錄每個學(xué)生的課堂表現(xiàn),督促學(xué)生認(rèn)真聽課,提升學(xué)生團(tuán)結(jié)協(xié)作能力,同時促進(jìn)教學(xué)互動,調(diào)動學(xué)生學(xué)習(xí)積極性。
(二)采用案例式教學(xué)
傳統(tǒng)的Matlab教學(xué)注重在基本運(yùn)算、數(shù)據(jù)的可視化、符號運(yùn)算、程序設(shè)計(jì)等方面語法知識的傳授,教材中所展示的案例通常只是為了說明問題而設(shè)置,教學(xué)內(nèi)容冗雜,語言語法繁多,難以與生活實(shí)踐以及專業(yè)知識相聯(lián)系。比如教材中介紹三維繪圖時,繪制的是常見的球形、錐形等圖形,學(xué)生對這些內(nèi)容不感興趣。另外在授課時如果脫離實(shí)踐應(yīng)用而只講解語法知識,學(xué)生無法體會Matlab軟件在工程中的強(qiáng)大功能。
案例式教學(xué)是根據(jù)教學(xué)內(nèi)容精心選擇和設(shè)計(jì)一些恰當(dāng)、生動,跟專業(yè)和實(shí)際生活相契合、易于被學(xué)生理解的案例展示給學(xué)生,輔助教學(xué)[6]。在實(shí)際授課時,教師根據(jù)所教內(nèi)容適時、適度提問以引出案例,并組織學(xué)生進(jìn)行思考、討論、總結(jié),最后教師對學(xué)生的學(xué)習(xí)成果進(jìn)行講評、總結(jié),進(jìn)而提升課堂活力并激發(fā)學(xué)生學(xué)習(xí)積極性。比如在圖形繪制章節(jié)中,教師授課時可以讓學(xué)生繪制他們感興趣的圖形如愛心圖、青花瓷瓶圖、冰墩墩等,通過這些圖形的繪制,可以展示Matlab軟件強(qiáng)大的應(yīng)用功能。在第二章Matlab數(shù)據(jù)處理與分析中,教師介紹許多數(shù)據(jù)統(tǒng)計(jì)分析的函數(shù),例如最大值(max)、最小值(min)、平均值(mean)、標(biāo)準(zhǔn)偏差(std)、求和(sum)等。大學(xué)物理實(shí)驗(yàn)數(shù)據(jù)處理經(jīng)常會用到上述函數(shù),學(xué)生可以利用Matlab快速完成相關(guān)實(shí)驗(yàn)數(shù)據(jù)處理,根據(jù)實(shí)際需求模擬數(shù)據(jù)的動態(tài)變化過程,形象展示物理變化規(guī)律。另外,在數(shù)據(jù)分析中,有時不僅需要統(tǒng)計(jì)已有數(shù)據(jù)的結(jié)果,還需要根據(jù)已知的數(shù)據(jù)對數(shù)據(jù)的未來變化趨勢進(jìn)行預(yù)測,這就需要用到曲線擬合,該方式是研究曲線逼近最常用的一種方法,原理是根據(jù)已知離散數(shù)據(jù)獲得解析表達(dá)式,從而預(yù)測離散數(shù)據(jù)的基本變化趨勢[7]。
教學(xué)案例的設(shè)計(jì)注重將繁瑣的語言程序與有趣的生活實(shí)際相結(jié)合,拓展教學(xué)內(nèi)容,一方面能使學(xué)生更好理解所學(xué)知識點(diǎn),對所學(xué)知識做到融會貫通、舉一反三,另一方面也可以激發(fā)學(xué)生的學(xué)習(xí)熱情,調(diào)動學(xué)生主動探索解決問題的積極性。實(shí)踐證明,案例式教學(xué)很好地調(diào)動了學(xué)生學(xué)習(xí)Matlab程序設(shè)計(jì)的積極性,提高了學(xué)生的邏輯思維能力,取得了良好的教學(xué)效果。
(三)線上線下混合式教學(xué)
Matlab理論講解只有16個學(xué)時,在有限的學(xué)時里只能給學(xué)生講授基本運(yùn)算、符號運(yùn)算、圖形繪制、程序設(shè)計(jì)這些章節(jié)的內(nèi)容,授課內(nèi)容無法涉及Simulink建模與仿真、科學(xué)和工程領(lǐng)域圖形應(yīng)用程序GUI的開發(fā)等方面的內(nèi)容。此外,課時少內(nèi)容多,在授課中教師為了完成教學(xué)任務(wù)難免會加快教學(xué)進(jìn)度,如此也會使得學(xué)生難以深入理解和掌握所學(xué)內(nèi)容。
教師可以利用網(wǎng)絡(luò)技術(shù)向?qū)W生推薦各種優(yōu)秀的網(wǎng)絡(luò)資源,建立Matlab基礎(chǔ)及應(yīng)用教學(xué)網(wǎng)站,開展線上線下混合式教學(xué)。線上課程內(nèi)容主要包括與Matlab相關(guān)的部分教學(xué)視頻,比如中國大學(xué)MOOC平臺東華大學(xué)胡良劍等開設(shè)的精品課“Matlab數(shù)學(xué)實(shí)驗(yàn)”,電子科技大學(xué)張勇等開設(shè)的國家精品課“數(shù)學(xué)實(shí)驗(yàn)”,西北農(nóng)林科技大學(xué)許景輝等開設(shè)的精品課“Matlab與機(jī)電系統(tǒng)仿真”等。線上課程資源還包括一些有趣的Matlab程序代碼,比如繪制青花瓷瓶形狀的代碼、光的干涉衍射等代碼。這些有趣的代碼不僅可以激發(fā)學(xué)生學(xué)習(xí)熱情,增強(qiáng)學(xué)生自主學(xué)習(xí)意識,還有助于提高學(xué)生解讀代碼能力。教師還可以構(gòu)建 Matlab 網(wǎng)絡(luò)課堂,發(fā)布教學(xué)文件、微課視頻、試卷庫、典型工程案例、數(shù)學(xué)建模競賽、往期學(xué)生大作業(yè)展示等教學(xué)資源,增加線上資源的豐富程度,進(jìn)一步提升學(xué)生線上自主學(xué)習(xí)能力。
為了讓學(xué)生更好地開展線上學(xué)習(xí),教師授課前有針對性地發(fā)布線上公告、資源、作業(yè)并進(jìn)行教學(xué)設(shè)計(jì),針對所發(fā)布內(nèi)容提出問題和任務(wù),為學(xué)生課后開展自主學(xué)習(xí)提供指引,讓學(xué)生探索解決問題的方法和路徑。引導(dǎo)學(xué)生嘗試采用不同的手段解決問題,如果在嘗試中遇到問題可以將其帶到課堂進(jìn)行討論。授課時,教師針對學(xué)生線上作業(yè)的共性問題進(jìn)行分析和指導(dǎo)。通過線上線下混合式教學(xué),既可豐富課程內(nèi)容,拓寬學(xué)生知識面,促進(jìn)學(xué)生對該課程的全面認(rèn)識,也有助于增加課堂活力,提升教師教學(xué)能力,實(shí)現(xiàn)學(xué)生和教師的雙向共贏與發(fā)展。
(四)加強(qiáng)理論知識的實(shí)際應(yīng)用,鞏固課堂理論教學(xué)效果
作為一門實(shí)踐類課程,目前實(shí)驗(yàn)教學(xué)大多偏向傳統(tǒng)的驗(yàn)證性實(shí)驗(yàn),采用基礎(chǔ)操作和簡單編程作為授課內(nèi)容,實(shí)驗(yàn)的目的在于讓學(xué)生鞏固課堂所學(xué)內(nèi)容,提升對軟件的熟悉程度。而實(shí)驗(yàn)內(nèi)容通常僅停留在教材所涉及范圍,有很大的局限性,既不利于調(diào)動學(xué)生學(xué)習(xí)熱情、培養(yǎng)學(xué)生應(yīng)用Matlab軟件解決實(shí)際工程問題的能力,也無法為本專業(yè)學(xué)生后續(xù)從事光電設(shè)計(jì)、系統(tǒng)建模、運(yùn)行優(yōu)化和自主控制等方面的研究提供足夠的能力儲備。
為此,除了上機(jī)實(shí)驗(yàn)和期末考試兩種考核手段之外,為了保證更好地定量分析學(xué)生的學(xué)習(xí)效果,衡量學(xué)生解決實(shí)際工程問題的能力,教師布置與光電工程專業(yè)相關(guān)的課題,讓學(xué)生通過提交大作業(yè)的方式應(yīng)用Matlab軟件處理和解決與專業(yè)相關(guān)聯(lián)的問題。實(shí)際設(shè)計(jì)的問題可以多元化,涵蓋光學(xué)、力學(xué)、圖像處理等多個領(lǐng)域,讓學(xué)生選擇自己比較感興趣的課題,完成之后,在課堂上展示和討論。比如學(xué)生在波動光學(xué)的課程中會學(xué)到楊氏雙縫衍射,這部分內(nèi)容比較抽象,可以讓學(xué)生編寫Matlab代碼,獲得楊氏雙縫衍射光強(qiáng)分布規(guī)律,并且設(shè)計(jì)GUI用戶界面,快速修改參數(shù),顯示圖形輸出界面,進(jìn)而加強(qiáng)對這部分內(nèi)容的理解。阻尼系數(shù)是影響單擺振幅的重要因素,可以讓學(xué)生根據(jù)單擺的振動方程,結(jié)合Matlab對微分方程式的求解獲得單擺振幅隨時間的變化規(guī)律,通過設(shè)定不同的阻尼系數(shù),直觀地分析和展示擺動規(guī)律。在一些控制系統(tǒng)中,可以基于Matlab的Smulink仿真控件搭建仿真模型,設(shè)計(jì)PID控制器,模擬單片機(jī)控制電機(jī)速度以實(shí)現(xiàn)對機(jī)械小車速度的操控。通過這些與本專業(yè)相關(guān)的實(shí)際問題的分析,讓學(xué)生在解決問題中熟悉Matlab軟件代碼,提升編程能力。
此外,除了該課程授課內(nèi)容和考核環(huán)節(jié)外,還可以逐步加大該課程與其他課外實(shí)踐環(huán)節(jié)和學(xué)科競賽的聯(lián)系,比如在其他的光電實(shí)驗(yàn)和課程設(shè)計(jì)中有效融入Matlab軟件,讓學(xué)生嘗試采用不同的思路來進(jìn)行問題求解,充分發(fā)揮學(xué)生的主觀能動性,提高學(xué)生分析和解決實(shí)際問題的能力。
三、結(jié)語
Matlab語言在教學(xué)、科研和工程應(yīng)用中越來越廣泛,針對Matlab基礎(chǔ)與應(yīng)用課程在授課時存在的學(xué)生學(xué)習(xí)興趣不高、教學(xué)課時少內(nèi)容多、教學(xué)手段單一以及學(xué)生對軟件應(yīng)用能力較差等問題,通過優(yōu)化教學(xué)內(nèi)容,豐富課堂內(nèi)容、加強(qiáng)課堂管理,采用案例式教學(xué),實(shí)施線上線下混合式教學(xué),加強(qiáng)理論知識的實(shí)際應(yīng)用等措施,大大激發(fā)了學(xué)生對該課程的學(xué)習(xí)興趣,增強(qiáng)了學(xué)生的學(xué)習(xí)積極性,培養(yǎng)了學(xué)生的編程能力,教學(xué)效果得到了一定的提升。
參考文獻(xiàn):
[1]劉帥奇, 李會雅, 趙杰. MATLAB程序設(shè)計(jì)基礎(chǔ)與應(yīng)用[M]. 北京: 清華大學(xué)出版社, 2016.
[2]裴惠琴, 賴強(qiáng). 面向創(chuàng)新能力培養(yǎng)的Matlab與控制系統(tǒng)仿真課程教學(xué)改革探究[J]. 教育教學(xué)論壇,2018(39):105-106.
[3]吳飛, 楊敏, 樊春霞, 等. MATLAB與仿真課程教學(xué)改革實(shí)踐與探索[J]. 學(xué)周刊,2018(14):5-6.
[4]徐國保. Matlab 語言及應(yīng)用課程教學(xué)改革探索與實(shí)踐[J]. 中國教育信息化,2016(24):13-15.
[5]劉曉玉. 基于教學(xué)目標(biāo)的 MATLAB語言課程教學(xué)方法探索[J]. 計(jì)算機(jī)教育,2015,93(3):59-61.
[6]賀躍幫, 王天雷, 李興春, 等. 基于案例的 MATLAB 教學(xué)探討與實(shí)踐[J]. 科技創(chuàng)新導(dǎo)報, 2017, 14(13): 226-228.
[7]楊煉, 陳芳, 譚理. MATLAB多項(xiàng)式數(shù)據(jù)擬合的案例式教學(xué)設(shè)計(jì)[J]. 教育現(xiàn)代化, 2019 (9): 97-99.