張靜亞
摘 要:針對MATLAB課程實踐性強、學時少的特點,該文提出以項目驅動的MATLAB教學方法,首先將教學內(nèi)容進行提煉并構成合理的課程體系,然后選擇適當?shù)捻椖?,并結合教學內(nèi)容進行項目的模塊化分解。在項目模塊的實現(xiàn)中引導學生正確的應用教學理論,并學習新的知識點。這種教學方法強調(diào)了學生在教學過程中的主體地位,激發(fā)了學生的創(chuàng)造性和積極性,取得較好的教學效果。在實施項目驅動教學法的過程中,教師還需不斷嘗試和創(chuàng)新,并對項目內(nèi)容進行外延和總結,同時注重互動和疑難解答,從而進一步得到改進,提高教學質量。
關鍵詞:MATLAB 項目驅動教學法 教學改革 教學方法 項目驅動 MATLAB教學 教學研究
中圖分類號:G64 文獻標識碼:A 文章編號:1672-3791(2014)12(c)-0147-03
MATLAB(MATrix LABorotory,矩陣實驗室)語言是一種廣泛應用于工程計算及數(shù)值分析領域的新型高級語言,現(xiàn)已成為大學生必須掌握的基本技能。相比其他高級語言,MATLAB具有強大的矩陣運算功能、可靠的容錯功能、廣泛的符號運算功能。其計算結果的可視化功能、靈活的兼容與接口功能和豐富的可供調(diào)用函數(shù)使它成為一種簡單易學的工程設計工具。
在MATLAB教學過程中,如何指引學生快速地從未知的狀態(tài)到熟練應用于項目設計,這是教學研究所必須考慮的問題[1]。該文提出采用科研項目驅動課程內(nèi)容教學以及驅動學生自主學習的教學設計思路。將科研項目從上而下細分到各個子項目,由各個子項目細分到各個小模塊,適合師生在教學過程中進行分析、討論和應用。學生在若干具體項目模塊的驅動下學會主動學習和思考,明確了學習的目標。
1 項目驅動教學法的特點
項目驅動教學法是一種用若干項目把整個教學內(nèi)容貫穿起來的教學方法,是一種能激發(fā)學生學習能動性和培養(yǎng)學生創(chuàng)新能力的有效手段[2]。它以學生為主要項目完成對象,以教師為項目分解和分配主導,教師根據(jù)各個教學要點有效地設計項目中各個子項目或者項目模塊。教師分配項目任務后,不再主宰項目執(zhí)行,而是引導學生去分析、去探索,教師可作適當?shù)膯栴}解答或引導[3]。學生在推進項目模塊完成的同時進行課程相關知識的累積,同時允許知識點的延伸和更新,并最終在課程的末階段完成一個項目的總體設計。
項目驅動教學法改變了傳統(tǒng)“教師講學生聽,教師演示學生看”的教學模式,強調(diào)了學生作為學習主體的地位,讓學生在學習之初就知道學習的目的和用處,通過應用教學內(nèi)容、自主探索和互動協(xié)作,主動完成學習任務,并能在整個學習階段體驗項目設計的樂趣,達到觸類旁通的效果[4]。
基于項目驅動的MATLAB教學方法一般包括以下部分:從上而下的項目分解;教學知識點的講解;項目模塊與知識點相結合的實踐練習;實踐結果的講解;內(nèi)容的延伸與拓展。該教學方法的基本流程如圖1所示。
2 MATLAB教學內(nèi)容的提煉
對課程知識點的提煉一方面是布置項目模塊實踐的基礎,另一方面也是掌握課程內(nèi)容的必要環(huán)節(jié)[5]。這就要求教師在課前認真分析教材,認真梳理MATLAB課程體系,分析MATLAB課程的教學內(nèi)容。
MATLAB語言編程的教學內(nèi)容主要包括了MATLAB矩陣運算,其中的矩陣產(chǎn)生,賦值,引用和存儲方式是學習的重點;在建立了矩陣的基本運算方法之后,基于MATLAB的數(shù)值計算問題便順理成章的被引出。除了數(shù)值計算之外,MATLAB符號運算也是作為一種特殊的高級語言具有的特點。將同一個問題采用數(shù)值計算法和符號計算法進行比較是教學內(nèi)容的一個組成部分。將應用數(shù)值和符號計算的命令通過函數(shù)和腳本文件的形式表現(xiàn)出來,則完成了MATLAB語言編程的基本教學要求。然而,以上的各個教學內(nèi)容講解和實踐中,將矩陣數(shù)據(jù)的可視化是幫助學生理解和分析問題的關鍵手段。因此,數(shù)據(jù)的可視化可貫穿于整個教學過程中。
3 從上而下方式的項目分解
項目驅動的MATLAB教學法中,項目的選擇和分解是該教學法的核心,項目分解的質量直接影響到教學效果。
通常,項目的實現(xiàn)有兩種思路:一種是自下而上的設計思路,一種是由上而下的設計思路。自下而上的設計是一種傳統(tǒng)的設計思路,這種設計方法一般是設計者首先設計各種基本單元,然后在設計時調(diào)用這些基本單元,逐漸向上組合,直到設計出自己需要的系統(tǒng)為止。自下而上的設計方法實現(xiàn)周期長、靈活性差、耗時耗力、效率低。自上而下的設計方法中,設計者將項目分成幾個不同的層次,按照自上而下的順序,在不同的層次對系統(tǒng)進行設計、描述與仿真。這種設計思想更符合人們邏輯思維的習慣,也容易使設計者對復雜的系統(tǒng)進行合理的劃分與不斷的優(yōu)化。
因此,教師需在完全把握項目要求的基礎上,把項目進行合理的從上而下的分解,得到各個應用于教學內(nèi)容的項目模塊,并按照教學進程和教學內(nèi)容,選擇項目中需要完成的項目模塊進行實踐分配和設計積累。在子項目的完成中,教師應鼓勵采用多種實現(xiàn)方式和多種解法,讓學生有充分發(fā)揮想象力和創(chuàng)造力的機會。這些模塊任務對于編程基礎好的學生不成問題,在課堂上能完成,對于編程能力稍差的學生通過參考書目、互動問答和MATLAB幫助文檔也能完成項目,只是需要更多時間,但經(jīng)過自己努力能完成項目,學生感到收獲很大,自信心增加。
4 教學實例及思考
在項目驅動教學法中,項目選擇應該符合學生的專業(yè)方向,由簡單到復雜,并有利于培養(yǎng)創(chuàng)新能力。由于MATLAB矩陣運算教學內(nèi)容與二維存儲形式的圖像處理存在較大的關聯(lián)性,并且對于圖像感知具有獨一無二的直觀性,因此該文以數(shù)字圖像匹配為項目實例,結合MATLAB教學重點,說明項目驅動模式的整體教學過程。
圖2給出了圖像匹配項目和MATLAB知識點的關系圖。將項目分解為圖像的預處理、特征提取、特征匹配和結果輸出保存四個模塊。其中預處理模塊包括了圖像尺寸處理、圖像灰度的轉換以及圖像的預濾波。特征提取部分采用自定義函數(shù)法和復合型數(shù)據(jù)類型方式提取和保存特征點坐標和特征向量。特征匹配部分以特征點坐標和特征向量為對象,以最小歐氏距離為準則,并采用MATLAB高效的矩陣運算方法進行圖像匹配。最后將匹配結果用圖形方式和文件讀寫方式進行保存和顯示。以下是本項目主要設計模塊以及執(zhí)行結果。endprint
(1)預處理。通過矩陣賦值方式對圖像裁剪和由高斯平滑實現(xiàn)圖像的預濾波。圖3和圖4分別給出了裁剪前后的圖像。圖5是采用高斯平滑后得到的圖像。
fix=imread('fix.jpg');mov=imread('mov.jpg');%讀圖
fix_2=fix(40:220,50:200,:);%通過矩陣抽取法裁剪
mov_2=mov(40:220,50:200,:);%通過矩陣抽取法裁剪
sigma=2;MaskSize=100;endthresh=1e-3;%濾波參數(shù)
gr=linspace(-MaskSize,MaskSize,2*MaskSize+1);
%MATLAB向量生成法
gr=1.0/(sqrt(2*pi)*sigma)*exp(-gr.^2/(2*sigma^2));
lim=find(abs(gr)>abs(endthresh));
gr=gr(lim);%平滑模板的生成
gr=gr/sum(gr);%平滑模板的歸一化
fix_smooth=conv2(gr,gr,fix_2,'same');%卷積濾波
mov_smooth=conv2(gr,gr,mov_2,'same');
(2)特征提取。自定義函數(shù)SIFT,通過調(diào)用函數(shù)得到復合類型的特征Ipts1和Ipts2。
Ipts1=SIFT(fix_smooth,Options);
Ipts2=SIFT(mov_smooth,Options);
(3)圖像匹配。用循環(huán)控制編程方式得到匹配點坐標及其匹配點距離,結果如圖6,圖7所示。
D1=reshape([Ipts1.descriptor],64,[]); %特征向量排列
D2=reshape([Ipts2.descriptor],64,[]);
for i=1:length(Ipts1)%循環(huán)結構控制匹配過程
distance=sum((D2-repmat(D1(:,i),[1 length(Ipts2)])).^2,1);%矩陣運算得到特征距離
[err(i),cor2(i)]=min(distance);%最小歐氏距離法則
End
5 結語
該文在MATLAB教學中引入項目驅動教學法,強調(diào)了學生學習的目標性,體現(xiàn)了學生在教學過程中的主體地位。通過項目的分解和逐步實現(xiàn),提高了學生從實際出發(fā),結合課程內(nèi)容進行合理的分析問題、解決問題的能力。在實施項目驅動教學法的過程中,教師還需不斷嘗試和創(chuàng)新,并對項目內(nèi)容進行外延和總結,同時注重互動和疑難解答,從而進一步得到改進,提高教學質量。
參考文獻
[1] 吳菊華,莫贊,陶雷,等.基于創(chuàng)新應用型人才培養(yǎng)的實驗教學改革研究與實踐[J].科技創(chuàng)新導報,2013(17):128-130.
[2] 伍秀娟,項榮健.以協(xié)作項目為驅動的教學實踐與應用[J].中國電化教育,2011(5):92-96.
[3] 吳愛萍.基于任務驅動的Matlab與控制系統(tǒng)仿真教學方法改革[J].中國現(xiàn)代教育裝備,2012(11):57-59.
[4] 項榮健,李建軍,伍秀娟,等.基于任務的引領式協(xié)作學習環(huán)境的構建與實踐[J].中國電化教育,2013(4):60-64.
[5] 張佩云.項目驅動的軟件工程課程案例式分段情景教學研究[J].計算機教育,2013(3):77-79.endprint