廖逢釵
(三明學院 信息工程學院,福建 三明365004)
嵌入式系統(tǒng)的發(fā)展已經有20余年的歷史.它融合了計算機軟件技術、硬件技術、通信技術、半導體微電子技術和自動控制技術等.三明學院的計算機科學與技術專業(yè)(嵌入式方向)開設了嵌入式系統(tǒng)基礎課程,目的是通過該課程的學習,有效提高學生相關軟件開發(fā)和應用嵌入式微處理器解決實際工程問題的能力.本文在多年教學的基礎上,分析了該課程在教學過程中存在的主要問題,并針對這些問題,嘗試了幾個方面的教學改革.
目前,三明學院嵌入式系統(tǒng)基礎課程教學主要存在以下問題.
(1)學生的學習興趣和積極性不高.首先,嵌入式系統(tǒng)基礎涉及的知識基礎較多,包括高級語言程序設計、數據結構、接口技術、計算機組成原理等多種不同門類的計算機專業(yè)知識,還要學習各種開發(fā)工具.另外,嵌入式系統(tǒng)根據應用場合的不同,外圍電路和控制原理差異較大,需要學生綜合運用相關先修課程的知識來解決實際問題.因此,學生總體上感覺學習難度較大,產生畏難情緒.其次,很多學生在認識方面還存在著重軟輕硬的傾向.認為硬件課程只是學習計算機的內部工作原理,在計算機應用中無關緊要,認識不到硬件技術在嵌入式系統(tǒng)應用方面的重要性.上述原因使學生感覺課程學習枯燥乏味,課程知識難以掌握,時間久了,學生學習嵌入式系統(tǒng)基礎的積極性和興趣會受到嚴重打擊.
(2)實踐教學以驗證式實驗為主,缺乏創(chuàng)新能力的培養(yǎng).以往的嵌入式系統(tǒng)實踐教學很大程度上不是由應用來驅動的,而是跟著實驗箱廠家提供的實驗項目來規(guī)劃實踐教學內容,大多安排做些驗證性實驗,學生面對實際系統(tǒng)時的創(chuàng)新能力與二次開發(fā)能力較低.
(3)新技術和新器件應用能力不高.在課外興趣小組活動、課程設計和畢業(yè)設計中,有些功能模塊若能采用新技術、新器件,可以使設計簡單化,但學生這方面的能力較差.
(4)教學方法手段單一.理論教學就是黑板加幻燈片,課件簡單不適用.
(5)考試方式多以理論記憶為主,不能考查學生實際應用知識和動手實踐的能力.這種考核不利于學生發(fā)散性思維、創(chuàng)造性思維的培養(yǎng),嚴重影響學生學習嵌入式系統(tǒng)基礎的積極性.
針對上述存在的問題,在課程教學過程中采取以下對策與改革措施.
興趣是學習的動力,它不僅使學生渴望獲得知識,而且使學生在學習過程中伴隨著愉快的心情,有利于產生進一步學習的需要[1].我們從以下幾方面著手提高學生的學習興趣.
(1)上好開學第一堂課.首先,專門給同學們介紹開設本課程的重要性和必要性以及對將來就業(yè)的影響等,使學生從思想上重視該課程的學習;其次,介紹一些有趣的應用實例,使學生產生躍躍欲試的沖動.如介紹類似手機的基本結構與原理等內容,這些會立刻吸引學生們的興趣;然后,把往屆學生的優(yōu)秀畢業(yè)設計作品進行視頻展示,讓同學們對嵌入式系統(tǒng)的硬件設計與軟件編程的學習成果有一個真切感受和認識,增強學好本課程的愿望和信心.只要有了興趣,知識的學習就是順理成章的事了.
(2)邀請在嵌入式方面有突出研究成果的學者來學校舉辦嵌入式系統(tǒng)技術講座.使學生能接觸到最新的知識和實用技術,了解社會對嵌入式系統(tǒng)人才的具體需求.通過對新技術和新知識的了解,開闊學生的視野,激發(fā)學生學習嵌入式系統(tǒng)課程的興趣.
(3)在教學過程中,要保證學生聽得懂、跟得上、學得進.為此,在授課中,一定要對學生說清楚哪些是重點、哪些是難點,每一部分內容的要求是熟練掌握、一般掌握還是了解就行,避免學生在一些難以理解而又不是重點內容的問題上糾纏過多,影響學習興趣.對重點內容絕不能讓學生含糊不清.
例如,在講解時鐘管理程序時,用以下語句把CK_TIM設置為30MHz
MRCC_CKTIMConfig(MRCC_HCLK_Div2);
教學中我們發(fā)現,在學生剛開始接觸嵌入式系統(tǒng)的編程階段,教師如果只是簡單用一兩句話描述其功能,許多學生不容易理解,這就造成學生在自己編程時,很難編出正確的程序,久而久之,這類疑難問題越積越多,最終影響學生的學習興趣.為了讓學生能夠看得懂、學得進,教師講解時必須教學生掌握讀懂這類程序的方法,然后再進行模仿編程.
針對上述例子,講解關鍵就是要看懂函數MRCC_CKTIMConfig的編程原理,明確時鐘控制寄存器各位的定義,弄清楚符號常量MRCC_HCLK_Div2設置依據.可作如下講解:
通過查相關代碼文件,可以知道MRCC_HCLK_Div2的值是0x00000001,函數MRCC_CKTIMConfig執(zhí)行過程是:時鐘控制寄存器CLKCTL的原來的值先后與0xFFFFFFFC、0x00000001進行與運算和或運算,然后送回CLKCTL寄存器,亦即把時鐘控制寄存器的最低兩位置成01,其他位為不變.CLKCTL寄存器的最低兩位的功能是:在HCLK和CK_TIM之間選擇預分頻系數,01對應的分頻系數是2.所以CK_TIM=HCLK/2,HCLK為60MHz時,CK_TIM設為30MHz.
通過以上教學分析,學生不僅看懂了程序,還掌握了分析程序的方法.在嵌入式系統(tǒng)中,與以上編程原理類似的程序段很多,詳細講解一兩個例子后,逐漸由學生自己分析,做到舉一反三.
(4)創(chuàng)造各種實踐機會,加強動手能力訓練,使學生學有所用,能看到應用成果.學生感覺所學課程知識離自己很近,對課程的興趣也會越來越濃.為此,教師應根據課程的特點,在正常的實驗課外安排各種實踐環(huán)節(jié).如安排一些學生利用嵌入式技術設計,各種電機的測速與調速控制,并給他們提供所需的硬件材料.
(5)成立興趣小組,以點帶面.如成立課外機器人興趣小組,以嵌入式技術為研究主體,定期開展活動,通過各種途徑為學生提供學習、實踐、交流等機會,形成較好的學習氛圍,同時也影響和感染其他學生.
實踐教學是學生加深對知識理解、培養(yǎng)實踐能力的關鍵環(huán)節(jié).本課程實驗教學采取課內課外實踐活動有機結合的辦法.課內實踐指每個學生必須完成的本課程開設的實驗課,課外實踐包括大學生創(chuàng)新課題、課外科技興趣小組活動等.課內實踐是專業(yè)能力培養(yǎng)的基礎,而課外實踐是學生把專業(yè)知識應用于具體的應用場合,更能體現學生創(chuàng)新能力和實踐動手能力的水平.課外實踐是在創(chuàng)新實驗室完成,為了方便學生做實驗,這些實驗室由指定的學生自主管理.
針對新技術新器件應用能力不高的問題,我們要求學生“三個看懂”,即看懂有關原文手冊、電路原理圖、別人編好的程序.
看手冊的目的是為了看懂原理圖和程序.要看懂一個嵌入式系統(tǒng)的原理圖和程序,可能要查閱大量的芯片技術資料.嵌入式系統(tǒng)的很多新概念、新技術等,都可以在網絡上找到,鼓勵學生遇到問題,到圖書館或上網查找資料,不斷提高自主學習的能力.同時,要有意識地引導學生去查閱一些未用過的芯片資料,并應用于系統(tǒng)設計.
學生在學習嵌入式系統(tǒng)基礎的過程中,多看他人編寫的好的代碼十分重要.而在看代碼時,選擇一個合適的軟件來幫助閱讀程序則可以有效提高閱讀效率.
例如,SourceInsight是一個功能非常強大的軟件開發(fā)工具,它提供變量、函數搜索,使用不同的顏色、字體區(qū)別類型名、函數名、全局變量、局部變量、宏、注釋、關鍵字,等等,選擇這一軟件來幫助閱讀程序,程序就一目了然,能大大地提高學生的學習效率.
2.4.1 充分利用多媒體教學
多媒體技術具有許多傳統(tǒng)教學方法無可比擬的優(yōu)越性,它信息量大、將復雜問題簡單化、可以表現抽象的不可見的概念和知識、變抽象為形象[2].例如在講解ARM尋址方式的時候,可用動畫清晰、直觀地向學生呈現各種尋址方式的尋址過程,彌補了以前單純粉筆教學的不足.
把多媒體技術應用于嵌入式系統(tǒng)基礎教學要注意以下問題:
(1)避免多媒體課件精彩有余,實用不足,好看不中用,甚至課件制作時畫蛇添足.
(2)教學內容不宜太多太雜.在課件制作過程中,老師不要將自己能夠找到的資料內容一股腦地塞到課件中.教學過程中要直達主題,旁枝末節(jié)的問題不要過多糾纏.在課件制作上,要有層次感,不能太亂.
(3)教師上課過程中,不能把注意力全部集中在多媒體課件操作上,忽視了師生互動.在實際教學時,教師可以先提出問題,讓學生帶著問題去看、去聽,然后結合幻燈片內容進行思考、討論.在學生討論的過程中,教師及時進行點撥、引導、鼓勵.這樣視聽、思考、反饋、評價貫穿于課堂教學始終,使學生的主體作用和教師的主導作用都得到充分發(fā)揮.
2.4.2 分層教學
在嵌入式系統(tǒng)基礎教學中采用分層次[3]教學是必要、可行的.分層次教學有利于因材施教.這種教學模式能夠避免專業(yè)基礎差異大的學生在同一個課堂內學習時,出現“吃不飽”和“消化不良”的情況.對基礎差的學生,按照教學計劃,按部就班地進行教學,使他們較快地掌握嵌入式系統(tǒng)最基本的知識、常用工具和必備的技能.對基礎好的學生,通過成立興趣小組,引導他們參與教師科研項目.
對實驗教學而言,可將嵌入式技術基礎實驗分為基礎實驗、設計性實驗、創(chuàng)新性實驗三個層次.其中,基礎實驗主要完成驗證性實驗,為嵌入式系統(tǒng)課程教學服務;設計性實驗主要用于完成嵌入式應用實驗;而創(chuàng)新性實驗主要由學生自主設立實驗內容,例如設計一個電子系統(tǒng).用小設計、小制作、小創(chuàng)新的方式,提高學生對該門課程的感性認識和應用能力,充分發(fā)揮學生的主觀能動性.
通過分層次教學,使基礎不同的學生各有所獲,達到因材施教、個性化培養(yǎng)的目標,因而取得較好的教學效果.
2.4.3 項目驅動教學法
項目驅動教學法[4]已應用于許多課程的教學,并獲得良好的教學效果.使用該教學方法,設計一個難易程度適中、實際可以操作的項目是關鍵.例如:要求學生用基于ARM核的微控制器STR750設計一個數字溫度計.可以把該項目分解為以下一些任務:
(1)電源、復位、時鐘管理單元.要求熟練配置不同的時鐘.
(2)對通用輸入輸出(GPIO)端口編程,控制LED燈、數碼管.
(3)用中斷控制器實現對GPIO的控制.
(4)對模數轉換器(ADC)進行編程,實現數據采集.
(5)設計數字電壓表.
(6)設計數字溫度計.
這些任務,從簡單到復雜,將理論教學與項目教學融為一體.例如第二個任務,讓學生用不同的程序實現LED按不同規(guī)律發(fā)光,從而熟悉大部分指令和三種程序結構(順序程序、分支程序和循環(huán)程序).這些項目實施過程中,學生在教師的引導下,先動手操作,再動腦編程.學生對嵌入式系統(tǒng)基礎的結構、編程技巧等有了感性認識,表現出極大的熱情,知識點記得牢,編程語句在運用中不知不覺運用自如.
本課程的考試采取理論考核與實踐考核相結合的辦法,總成績計算方法如下:
總成績=平時成績×15%+實驗×15%+期末考×70%.
每項考核辦法如下:
(1)期末考試,從試卷庫中抽取考試試題,其中一題是上機實驗編程(30分).
(2)平時成績評定包括作業(yè)和出勤兩個方面.給每次作業(yè)評定等級(分A、B、C、D四個等級),按各次作業(yè)的等級折算成百分制成績后作為平時作業(yè)的成績.
(3)實驗的評分依據有兩個部分:課內實驗檢查和實驗報告.課內檢查主要看學生是否完成本次實驗內容、實驗是否成功,并要求做簡單的答辯.實驗報告也類似作業(yè)評定四個等級.以上兩個部分的成績各占50%構成實驗成績.
為了使學生掌握嵌入式系統(tǒng)基礎的基本原理和編程技術,從培養(yǎng)學生的學習興趣、提高自主學習能力,改革實驗教學、考核方式,引進先進的教學方法與手段等方面著手,進行教學改革的嘗試.教學實踐表明,上述教學改革有效激發(fā)了學生的學習興趣,提高了學生把理論知識應用于實踐的能力,改善了課程的教學效果,促進了教學質量的提高.
參考文獻:
[1]冷劍.計算機基礎教學方法問題淺析[J].科教文匯,2009,36:88.
[2]杜波,王瑾.《單片機應用技術》課程體系改革的研究與思考[J].才智,2009(6):121-122.
[3]劉德山,劉小丹.應用型人才培養(yǎng)中的分層次教學[J].計算機教育,2012(1):14-17.
[4]李雪峰.教學工廠理念在單片機項目教學中的應用[J].電子世界,2013(1):159-161.