摘要:為了提高嵌入式系統選修課程的教學質量,促進學生動手實踐和創新能力的培養,文章從編寫教材、研發實驗儀器、改進教學模式、調動學生積極性等方面,給出了適應計算機本科專業學生特點的嵌入式系統課程的教學特點和授課方法。實踐表明,該方法對于課時緊、內容廣、實踐性強的嵌入式系統課程行之有效。
關鍵詞:嵌入式系統教學 實踐教學改革 競賽與創新
文章編號:1672-5913(2011)18-0046-03 中圖分類號:G642 文獻標識碼:A
近年來,與我國嵌入式系統產品的迅猛發展和巨大的產業需求相比,嵌入式系統工程人才培養相對落后[1]。在這種背景下,許多高校為軟件、計算機以及微電子、電子信息工程、自動化等相關專業增設了嵌入式系統課程。目前,北大、清華、北航等學校已經把嵌入式作為一個專業方向,并建立了完整的嵌入式系統課程體系[2]。由于受傳統的專業課程設置、師資、實驗設備等條件的限制,蘇州大學計算機科學與技術學院(以下簡稱“我院”)尚未成立嵌入式系統專業,目前的嵌入式系統課程為選修課,每年開設一學期(18周),每周6學時,選修對象僅為高年級計算機專業本科生。下面結合近幾年的教學實踐經驗,對嵌入式系統選修課程的教學方法和特點進行探討,以便具有相同情況的院校教師借鑒。
1 自主編寫教材,自主開發實驗平臺
目前,嵌入式系統相關教材琳瑯滿目,具體選擇哪一本作為教科用書至關重要。由于各個學校的特點、生源的質量以及專業的課程體系不同,嵌入式系統課程的教學計劃和教學目標也不盡相同。在Freescale(飛思卡爾)大學計劃的支持下,結合我院具體情況,我們自主編寫了教材并研發了實驗平臺。
1.1 自主編寫教材
由于我院的計算機專業本科一、二年級,數字邏輯、C/C++語言、操作系統、計算機網絡等是各個專業方向的公共基礎課,在本科三、四年級開設嵌入式系統選修課程的目的,旨在為對嵌入式系統應用感興趣的同學提供一個學習的機會,為他們日后開發測控領域的嵌入式應用產品奠定堅實的基礎。據此,我院組織了一批骨干教師自主編寫了《基于32位ColdFire構建嵌入式系統》一書,作為嵌入式系統選修課程的教材。該教材以Freescale半導體公司的32位ColdFire系列微控制器MCF52233(含以太網接口)、MCF52235(含CAN總線接口)、MCF52223(含USB2.0接口)三個型號為藍本,闡述嵌入式系統的軟件與硬件設計。內容包括:嵌入式系統的知識體系、學習誤區和學習建議;ColdFire系列微處理器特點;MCF52233硬件最小系統;UART、鍵盤、LED、LCD、AD、QSPI、I2C等模塊的應用;Flash存儲器在線編程;CAN總線、嵌入式以太網、USB 2.0通信機理;μC/OS-Ⅱ在ColdFire上的移植與應用等。
1.2 自主研發實驗平臺
為提高嵌入式系統課程的教學質量,我院建立了嵌入式系統實驗室,為學生提供了良好的實踐學習條件。學生實驗所用儀器為自主研發的“SD嵌入式系統實驗箱”。每臺實驗箱內配有電源適配器、擴展板、核心板、通信線(網線、串行口線、USB線)等。根據實驗目的和要求不同,將相關核心板插入到擴展板上即可。例如,做網絡通信實驗時需插上MCF52233核心板;做USB2.0通信實驗時需插上MCF52223核心板。實驗箱提供的對外接口包括串行口、USB、SPI、網絡、AD采集、鍵盤、液晶、數碼管等。這種“擴展板+核心板”的實驗箱組成方式為以后學習新的微處理提供了便利。
由于教材與實驗箱均為自主編寫和開發,教材中的每個實驗均可在實驗箱上實踐,避免了教材與實驗設備不統一的問題。
2 強調教學手段靈活多變
由于我院的嵌入式系統選修課程面向全院各專業學生,學生的前期課程設置不盡相同,水平參差不齊。起初嵌入式系統課程的教學模式是,教師每周利用3節課時間在多媒體教室講課;再利用3節課時間安排學生在嵌入式系統實驗室完成老師布置的實驗任務。實踐證明,這種方法的教學效果比較差,由于理論課和實驗課時間安排不連貫,學生在課堂上學到的知識得不到及時鞏固、理解和加深,實驗課上總是出現學生無從下手、一臉茫然的情況。后來,我們改變了這種授課模式,教學活動直接移到嵌入式系統實驗室進行,并靈活選擇各種教學手段,效果不錯。
2.1 合理安排理論課與實踐課
對于某些通用知識或理論性比較強的內容(例如微處理器的體系結構、SPI/CAN/USB/IIC通信機理等),可采用“先上課后實驗”方式。在教師講解的過程中,學生不做實驗。只有讓學生在透徹理解基本原理的基礎上,學生才能讀懂范例程序,進而在范例程序的基礎上能夠完成其他實驗。
對于有些內容,可采用“先實驗后上課”方式,即先由學生將范例程序寫入Flash運行并觀察。當學生看到實驗現象后,會產生好奇的心理,從而激發出他們的學習興趣和求知欲望。例如,對于四聯排數碼管實驗,寫入范例程序后,數碼管上會顯示“1234”。教師可讓學生帶著下面兩個問題聽課:①四個數字是如何同時顯示的?②如果要滾動顯示“1234”應該如何修改范例程序?在這種“尋根究底”的教學模式下,學生的聽課注意力會更加集中。
2.2 分層設計嵌入式系統實驗
嵌入式系統是一門實踐性很強的課程。因此,在嵌入式系統教學中,實驗是最重要的環節之一,是學生掌握嵌入式系統設計技術的關鍵。我們將嵌入式系統實驗分為三個層次:驗證型、改進型和綜合型,并且要求學生獨立完成每個實驗。
驗證型實驗是最基本的實驗,實驗所用的范例程序由教師編寫,嚴格遵循模塊化設計規則,并附有詳盡的使用說明,包括注意事項、需要的硬件連線等。這種實驗的目的是使所有學生都能夠順利完成實驗內容規定的操作并得到正確的實驗結果,培養他們獨立完成實驗的自信心,同時要求學生看懂范例程序的執行流程,掌握程序的編寫規范。如果不提供范例程序,而由學生從零開始編寫,事實證明,將會有一半的學生因為長時間調試不成功而心灰意冷,失去了繼續實驗的勇氣。該層次實驗要求所有學生必須完成。
改進型實驗是要求學生在驗證型實驗的基礎上進行軟件和硬件的改進,以完成更加復雜的功能。例如,在串行口通信的驗證型實驗中,實現了微處理器一次僅接收PC機發送的一個字符;而在改進型實驗中,要求學生實現微處理器一次能夠接收PC機發送的一串字符。通過改進型實驗可檢查學生對所學知識的掌握程度,同時也讓學生體會到自己動手的樂趣和實驗成功的喜悅。該層次實驗也要求所有學生必須完成。
在學生積累了一定的嵌入式知識后,教師可布置綜合型實驗作業。例如講解完LED、LCD、鍵盤以及UART之后,可要求學生實現:按下鍵盤上的某個鍵,將此鍵的自定義鍵符分別顯示在LED和LCD上,同時通過串行口發送到PC機。綜合型實驗的目的是提高學生綜合運用知識、分析問題以及解決問題的能力,發揮學生的主觀能動性,達到將所學知識融會貫通的效果。根據綜合型實驗難度的不同,有時要求所有學生完成,有時僅要求部分學生完成。
2.3 充分利用現代化教學手段
作為傳統板書教學的補充,因便于插入圖片和動畫,多媒體教學對提高學生學習興趣、增加授課生動性大有裨益[3]。例如,若在課堂上通過板書形式繪制硬件電路圖,勢必要花費很長時間,而且與多媒體屏幕展示的電路圖相比,在清晰度和美觀性上都相對欠缺;而對于一些生動的教學圖片或教學動畫,板書形式根本無法表達。此外,多媒體教學所用的電子資料(如教學課件、教學影片等)可供教師重復利用和更新,也便于學生復制和閱讀。
目前,各大高校都建立了校園網絡,網絡的出現同時影響著教學方式和學習方式的改進。為了方便師生之間的交流溝通和資源共享,我們精心設計并創辦了嵌入式系統輔助教學平臺,作為對傳統教學方式的補充。教學平臺提供了學生在線、教師在線、模擬測試、資料下載、師生交流等模塊。學生可在線查看或下載各種嵌入式學習資料,如教學課件和實驗要求、實驗箱內擴展板和各種核心板的原理圖以及元件布局圖、繪制原理圖和布線圖的規范、底層軟件編程規范、芯片手冊以及應用筆記等,同時,可把每次實驗的程序代碼和實驗報告上傳,供任課教師檢查評閱。教師通過該平臺可查看學生作業,編輯題庫,組織試卷以及發布公告等。教學平臺還開辟了嵌入式學習討論區和答疑區,及時解決學生在學習過程中遇到的疑難問題。
3 培養學生創新能力,提高教師自身素養
嵌入式系統課程的教與學是一個“合作”的過程,衡量這種“合作”是否成功的標準是看學生能否將所學的知識應用到具體的嵌入式應用產品開發中[4]。在教學中我們發現,雖然我院的嵌入式系統課程為選修課,但有些同學對該課程興趣濃厚,思維開闊。因此,我們每學期采用“雙向選擇”的方式選拔一些同學,由專職教師帶隊指導,積極參加各種嵌入式設計大賽,并取得了較好成績。2009年11月,我院組成的兩支隊伍在長三角地區的“IEEE標準電腦鼠走迷宮”競賽中獲得1個一等獎和1個三等獎,最終在北京航空航天大學舉辦的全國總決賽中獲得三等獎。為了拓寬學生的知識視野,促進學生創新能力的培養,增長相關行業背景知識,我們也會選拔一批有潛質的學生投入到教師的科研項目開發中,更好地實現“教師為主、學生參與”的教學結構。截至目前為止,學生參與的項目有校園機動車管理系統、城市照明智能控制系統、小區電動車管理系統、基于二代身份證的考勤系統等。實踐表明,參加過競賽和科研項目的學生基礎知識更加扎實,自學能力和動手能力大幅提高。
此外,為了緊跟時代的步伐,時刻引領新知識、新技術,避免知識的陳舊性,教師應充分利用寒暑假時間參加各種嵌入式系統師資培訓,與兄弟院校的同行交流教學經驗。在教學工作之余,積極主動與企業洽談合作科研項目,提高自身的科研能力。
4 結語
最適合的方法才是最好的方法[5]。由于我院的計算機專業本科生側重于高端應用程序的開發,嵌入式系統課程僅為高年級的選修課程,完善的課程體系尚未建立,因此,在教學中,我們沒有照搬照抄其他院校的教學模式,而是根據我院學生的具體特點,合理安排教學內容、側重于培養學生開發硬件驅動程序的能力。經過幾年的努力,我們自己摸索出來的嵌入式系統課程教學方法越來越得到同行和學生的認可,每年選修該課程的學生人數急劇增加就是最好的印證。
參考文獻:
[1]