聶雄 陳華 黎相成
【摘 要】本文分析嵌入式技術課程傳統(tǒng)教學存在的問題,探索基于目標驅動法、培養(yǎng)本科工程應用型人才為主要目標的嵌入式技術課程教學改革。
【關鍵詞】嵌入式技術課程 教學改革 目標驅動法
【中圖分類號】G 【文獻標識碼】A
【文章編號】0450-9889(2016)11C-0070-03
隨著信息技術的發(fā)展,各高校的電子信息工程、通信工程、電子科學技術等專業(yè)都開設了嵌入式技術課程,目的是為了使學生掌握嵌入式系統(tǒng)的硬件和軟件設計技術,具備一定的實踐經驗,為畢業(yè)后從事嵌入式技術相關工作打下基礎。嵌入式技術課程傳統(tǒng)的教學方法大多側重于基礎知識、基本原理學習,經典的教材都是從基本原理到處理器內部結構,再到指令系統(tǒng),再到內部接口及功能電路,按照這一模式進行學習,學生把大量的時間花在原理的學習上,實踐的內容比較少,導致學完課程后可能連最簡單的程序都不會調試,無法學于致用。
近年來,我國越來越重視本科生實踐能力的培養(yǎng),提出培養(yǎng)工程型本科人才目標,嵌入式技術課程作為電子信息類專業(yè)一門實踐性較強的課程,若還采用傳統(tǒng)的理論教學為主的教學方式,培養(yǎng)出來的學生很難適應社會的需求,因此課程的教學改革勢在必行。我們采用目標驅動的教學方法,縮減理論教學學時,增加實踐教學學時,教學過程制定一些具有一定難度的小設計題目,作為目標讓學生選擇,促使學生在完成小課題的過程中遇到問題、分析問題和解決問題,在實踐過程中學習和掌握嵌入式技術相關的知識。
一、嵌入式技術課程傳統(tǒng)教學存在的問題
嵌入式技術課程以往的教學中,理論課時36學時,實驗課時9學時,以老師在課堂授課為主、學生實驗為輔。理論課教師教授時,學生還沒有機會接觸實物,學生聽課往往無法把理論和實際應用聯(lián)系起來,聽課積極性、學習的主動性都不高,隨后雖然安排有實驗,但9個學時的實驗內容是統(tǒng)一安排在實驗室并限定時間內完成的,通常以驗證性實驗為主,這種模式學生參照講義內容,雖然能完成實驗,但沒有機會和時間對實驗內容和軟件設計方法等進行更深入的研究和思考,學習效果不好,收效不大,與實際應用脫節(jié)。
二、基于目標驅動法的嵌入式技術課程教學改革實踐
所謂目標驅動,就是在學生對課程內容有一定了解的前提下,由老師擬定一些小設計題目供學生選擇,學生可2-3人為一組,根據自己的興趣選擇一個題目來完成。為實現(xiàn)這一教學改革目標,我們從嵌入式芯片選型、教材選擇、實驗板選擇、小設計題目擬定、學生分組形式、時間安排、中期考核、期終考核驗收等多個環(huán)節(jié)進行了改革。
(一)嵌入式處理器的選型及教材的選擇。嵌入式處理器有ARM、PowerPC、MIPS、ColdFire和386EX等多種不同系列的產品,其中以ARM系列的占的市場份額最大,因此嵌入式技術的學習通常是以ARM為基礎的。而ARM系列又可分為ARM7、ARM9、ARM11、Cortex等眾多不同的子系列,作為初學者面對眾多的、不同的類型嵌入式處理器,一般只能選擇其中一個系列來進行學習和研究,在掌握某一系列的相關技術后,如果實際工作需要,再去研究或使用其他系列的嵌入式系統(tǒng)也是比較容易上手的。
傳統(tǒng)的嵌入式技術課程一般基于ARM7系列嵌入式處理來開展教學,典型的教材有周立功編寫的《ARM嵌入式系統(tǒng)基礎教程》,以LPC2100系列的微控制器為核心,介紹嵌入式系統(tǒng)的基本概念、ARM7的體系結構、指令系統(tǒng)、LPC2100內部結構和外圍接口等,雖然內容翔實,但教材側重于基礎知識和基本功能模塊的學習,沒有太多應用實例,與目前社會上主流的技術也有所脫節(jié)。也有部分高?;贏RM9系列嵌入式處理來開展教學,典型的教材有袁志勇編寫的《嵌入式系統(tǒng)原理與應用技術》,以S3C2410嵌入式處理器為核心,介紹嵌入式系統(tǒng)硬件工作原理與接口應用技術、嵌入式程序設計及嵌入式Linux基礎應用,學習門檻比較高,涉及比較復雜硬件內部結構和Linux操作系統(tǒng),作為電子信息工程專業(yè)而言,不太合適。
針對傳統(tǒng)教材及嵌入式處理器選擇存在的不足,結合電子信息工作專業(yè)特點,我們對嵌入式技術課程的教材進行了調整,選用目前流行的Cortex-M3系列ARM處理器進行介紹,教材則選擇張洋、劉軍等編寫的《原子教你玩STM32(庫函數(shù)版)》。其中Cortex-M3系列為微控制類嵌入式芯片,內部集成了CPU、IO接口和眾多功能模塊,也可稱之為高性能的單片機,體積小、功耗低、成本低,且具有較高性能和可靠性的特點。我們所選的教材,其內容分為硬件篇、軟件篇和實戰(zhàn)篇等共三大部分,特別是實戰(zhàn)篇部分,設置了近40個實例(實驗)內容,由簡單到復雜,循序漸進,引導學生從實踐出發(fā),慢慢掌握STM32為核心的嵌入式系統(tǒng)開發(fā)方法,同時配套光盤包含所有實例的完整源碼,方便學生自主學習時進行實驗驗證及研究。
(二)實驗板的選擇。嵌入式技術課程是一門實踐性很強的課程,與實際應用結合較為緊密,單純的理論學習不利于學生對知識的理解和掌握,學生必須在實驗、課程設計等過程中學會分析問題、解決問題的方法,在編程實踐中掌握嵌入式技術的實際應用技能,才能在畢業(yè)后較快地適應嵌入式技術研究與開發(fā)工作。在課程時間安排上,學生動手實驗的課時可以占總課時的2/3,可見實踐環(huán)節(jié)的重要性。
實驗板是實驗或課程設計題目工作開展的硬件基礎,選擇一塊合適的實驗板,有助于學生理解和掌握嵌入式系統(tǒng)基本開發(fā)流程,并能在該硬件平臺上完成更多的應用開發(fā)。
在進行教學改革之前,我們一直使用周立功公司ARM7系列的LPC2104實驗板,該實驗板ARM芯片的片內資源較少,引出的IO接口也比較少,實驗板上擴展的外部電路也比較少,能設計的實驗內容也相對較少。針對原有實驗板存在的種種不足,我們選擇了教材配套的“STM32戰(zhàn)艦開發(fā)實驗板”作為實驗平臺。該實驗板以STM32F103ZET處理器為核心,具有超過100個可編程的GPIO供用戶使用,板上還配置有外部Flash、外部RAM、TFT型LCD接口、觸摸屏接口、攝像頭接口、紅外接口、鍵盤、LED等待數(shù)量眾多的外部接口及電路,與教材內容完全配套,可對教材中近40個例程進行下載和驗證,非常方便學生進行實驗或設計。
(三)設計題目的擬定。如何制定設計題目是目標驅動法中很重要的一個環(huán)節(jié),考慮到各個學生實際學習能力和水平會的差異,任課教師對所選的題目的難度要仔細斟酌、拿捏好尺度。如果擬定的題目難度過高,對于學習能力較差的學生而言,可能會不知道從何處下手,找不到思路,很難完成;如果擬定的題目難度過低,則對于學習能力較強的學生,可能不需要太多的努力,很輕松就完成了,學生的潛力沒有得到充分的發(fā)揮,不利于他們學習能力的培養(yǎng)和實踐水平提高,也不利于今后參加實際的項目研究與開發(fā)。為適應不同層次學生學習的需要,我們擬定的設計選題分為三個難度級別,每個級別1-2個題目,且不同難度級別的設計題目最高得分不相同,比如一級難度最高得分低于75分,二級難度最高得分低于85分,三級難度最高得分可達到95分,如果實際完成得很好的,可以超過95分。另外,對于第三級難度的題目,參考全國大學電子設計競賽出題的形式,把題目要求分為基本部分和發(fā)揮部分,如果只選擇完成基本部分時,相當二級難度,按二級難度來考核和評定成績,如果同時完成了基本部分和發(fā)揮部分,則按三級難度來考核和評定成績。這樣學生就可以根據自己個人的實際情況,選擇合適的難度級別的設計題目來完成,從而避免出現(xiàn)力不從心或者輕而易舉的極端現(xiàn)象,每個學生都能在這門課上掌握一定的嵌入式技術知識,學習能力和實踐水平獲得一定的提高。
(四)學生分組形式。在開始進行題目設計工作之前,一般要將選課學生按2-3人一組進行分組,以便開展后續(xù)的設計工作。學生分組形式也會影響學生對于課程的學習效果,好的分組方式,同組同學之間可以相互促進,形成良好的氛圍;不好的分組形式,可能不能很好地合作,不利于任務的完成。我們采用學生自由組合的方式來進行分組,所有選課同學以2-3人為一組進行組合,每組同學配發(fā)一塊ARM開發(fā)板,開發(fā)板由各組的組長負責簽領及保管。學生自由組合的分組形式的優(yōu)點是:通常每個學生都會選擇自己較為要好的、愛好興趣相投的,或者認為學習能力比自己好一點的同學來進行組合,這樣可以確保小組成員之間能夠團結協(xié)作,相互促進,順利完成老師下達的課程設計任務。
(五)時間安排。選課的學生中,除了個別學生提前接觸或自學了ARM相關知識,大部分的學生都是剛開始接觸ARM,對課程內容和學習方法不甚了解,所以課程學習分為三個階段,分別是教師授課、實驗驗證、完成設計選題任務。第一階段為教師授課,教師利用課程教學計劃安排的理論課時,給學生講解嵌入式技術的基礎知識、ARM處理器的體系結構、嵌入式系統(tǒng)基本開發(fā)方法,并以較為簡單的GPIO接口編程作為例子,介紹ARM的編程方法及開發(fā)工作軟件的使用方法。通過第一階段的學習,學生能夠對嵌入式技術及實際設計有基本的認識。第二階段為實驗驗證階段,我們所選擇的正點原子STM32教材的第三篇提供了數(shù)量眾多的例程,且教材配套的光盤具有全部例程的完整源碼,這些例程為學生實習和實踐提供了很好的學習和參考,學生通過研究教材中實踐部分內容中的例程,就可以了解ARM軟件的框架結構和初步的軟件設計方法。教材提供的實驗例程多達40個,我們不可能要求學生全部都理解和掌握,在第二階段,只要求學生選擇其中的2個例程來研究,理解和掌握這個2個例程,并進行實驗驗證。第三階段是完成小組選定題目的設計工作。
(六)中期考核。中期考核就是在學生完成了第一階段和第二階段的學習后,進行階段性考核,中期考核的成績占總評成績的30%。以下是我們實際教學過程中,有關中期考核的要求和安排。
1.考核內容:每一組同學選擇教材實踐篇中的兩個實驗來進行驗證(光盤中已經有參考例程),然后根據自己的理解,制作一個PPT,該PPT的內容包括實驗名稱、實驗的內容、實現(xiàn)原理、關鍵代碼、實驗結果等。
2.考核方法:現(xiàn)場操作,完成實驗驗證;利用PPT講解實驗原理及方法。
3.考核時間:開課后第5-6周。
通過中期考核,學生建立了教材上的理論知識與實際應用的相互關系,基本掌握了基于STM32的嵌入式系統(tǒng)開發(fā)流程和方法。
(七)期終考核驗收。考核環(huán)節(jié)必須嚴格把關,確??己顺鰧W生實際的水平,才能倒逼學生平時用心去研究并完成所選題目的設計工作。中期考核和期終考核環(huán)節(jié)至關重要,是否能嚴格把關,直接關系到課程教學改革的成效。
學生根據第三階段選定的目標,即設計題目,每個小組同學制訂自己的工作計劃,從分析設計題目開始,通過自覺、老師定時指導答疑等環(huán)節(jié),學生掌握相關準備知識,然后制訂設計方案。以正點原子的STM32實驗為基礎,外加適當?shù)耐獠侩娐罚瑥挠布O計、軟件設計到基本功能模塊調試,系統(tǒng)聯(lián)調實現(xiàn),最終綜合合作完成設計題目。并在課程結束周,安排時間,集中進行考核驗收。驗收時要求提交課程設計作品1份和課程設計報告1份;每個同學獨立演示(展示)設計作品,回答老師或同學的現(xiàn)場提問,教師根據完成情況進行評分,期終考核成績占總評成績的70%。
三、成效
2015年廣西大學計算機與電子信息學院與廣西廣播電視技術中心開展嵌入式技術課程共建,邀請企業(yè)導師參加課程教學過程。在教學過程中,安排3個學時時間讓企業(yè)工程技術人員給學生授課,介紹應用嵌入式技術的實際應用,以及廣電中心基于嵌入式技術的研發(fā)課題。并請企業(yè)導師參與設計題目的擬訂,結合企業(yè)需求,提供若干設計題目供學生選題。下一步計劃將企業(yè)課題的開展帶入畢業(yè)設計,拓展合作范圍。企業(yè)的參與,更為有效地避免了理論與實踐脫節(jié),提高了學生的工程實踐意識和學習熱情與興趣。
采用目標驅動教學方法后,每個小組擁有一塊實驗板,以完成設計題目為目標,加上具有豐富的例程,學生不需要等到實驗課才有機會接觸實物,而是隨時都可以利用實驗板進行設計題目的研究工作,學生參與的積極性高。同時,通過優(yōu)秀同學的帶動,絕大部分同學都能掌握嵌入式系統(tǒng)設計和應用的相關知識和基本技能,初步掌握基于STM32的嵌入式系統(tǒng)的硬件設計和軟件開發(fā)方法,在參加全國大學生電子設計大賽、廣西大學生電子設計大賽過程中,很多學生都能自覺地使用STM32來實現(xiàn)自己的賽題設計任務。
【參考文獻】
[1]朱天元.淺談嵌入式實驗教學改革[J].教育科學,2009(24)
[2]胡威,郭宏,蔣旻,等.面向嵌入式系統(tǒng)的本科/研究生連續(xù)式課程建設研究[J].現(xiàn)代企教育,2014(22)
[3]黃?,摚柘喑?,何華光.嵌入式技術課程的教學探討[J].廣西大學學報(哲學社會科學版,2007(S1)
[4]賀德強,劉旗揚,王勇.“微機原理與接口技術”課程教學改革方法研究[J].廣西大學學報(哲學社會科學版),2009(S1)
[5]黃勇.計算機專業(yè)嵌入式技術方向課程體系的探索[J].農業(yè)網絡信息,2010(11)
【教改項目】廣西高等教育本科教學改革工程項目(2015JGA126);廣西高等教育本科教學改革工程項目(2015JGB123)
【作者簡介】聶 雄,廣西大學計算機與電子信息學院副教授,研究生學歷,研究方向:嵌入式系統(tǒng)及應用技術。
(責編 盧 雯)