宋鶯
(湖北經濟學院 信息管理學院,湖北 武漢 430205)
IT類嵌入式軟件開發課程教學研究與實踐
宋鶯
(湖北經濟學院 信息管理學院,湖北 武漢 430205)
為培養適應社會需求的IT類嵌入式軟件人才,提出符合計算機專業特點的嵌入式軟件技術方向人才培養目標。制定一套切實可行的課程體系和教學模式。同時分析了嵌入式實驗教學的特點,設計多層次嵌入式實驗內容,嵌入式實驗環境的設計除重視硬件平臺的選型外,應采用仿真軟件完善實驗、實踐環境的方法提高實驗效率。
軟件類專業;嵌入式軟件開發;教學研究;教學實踐
目前我國無論是普高和職高,計算機軟件教育普遍以應用軟件為主,學生更多接觸的是.Net、Java之類應用層面的東西,使得軟件業呈現出中低端人才過剩。隨著科技的發展和社會需求的推動,信息技術進入到以嵌入式系統為代表的后PC時代,嵌入式系統的市場快速增長,嵌入式人才缺口達到了每年50萬人左右[1],而開設嵌入式軟件專業的學校很少,并且學校不能向學生提供嵌入式系統知識體系和工程實踐有機結合設計出來的、注重能力培養的課程體系。由此強調要以信息技術為手段,深化教學改革和人才培養模式改革,如何根據社會的實際需要,培養具有一定專業特色的和特定能力強的軟件實用型、復合型人才是我們學院應首要解決的問題。因此必須深入探究嵌入式系統課程體系結構,尋求各專業嵌入式系統實踐教學解決方案,積累教學實踐經驗,建立較規范的嵌入式系統教學體系,使嵌入式系統應用開發技術更好地融入到教學與科研活動中,以適應社會對嵌入式系統人才的需求[2]。
由于嵌入式系統涉及的內容廣泛,與計算機硬件相關性很強,對計算機專業的學生來說在有限的時間內精通各方面的內容是相當困難的,我們必須夯實基礎、突出重點。通過走訪武漢軟帝、軟通動力等科技有限公司發現,公司中嵌入式系統方向的硬件和軟件開發是分開進行的。目前,本院計算機專業普遍開設計算機軟件課程及其實驗和實踐課程,已具備良好的軟件技術基礎。對于硬件設計人才,需要掌握較深厚的硬件基礎及硬件接口方面的知識,對于計算機系的學生難度較大。因此,我們認為結合本院的實際情況,探索本院計算機應用技術專業嵌入式系統方向培養可以轉入面向嵌入式系統定制和嵌入式應用軟件開發工程師的人才培養。學生在熟悉硬件的基礎上,以軟件為發展重點,著重培養嵌入式系統中接口驅動程序、系統軟件和應用軟件的設計與開發能力。同時,適當增加一些硬件相關課程及其實踐,加強硬件基礎知識和動手實踐能力培養,從而提高學生的綜合應用能力和創新能力。在實踐體系中以硬件和軟件為基礎,著重培養嵌入式系統中軟件綜合開發能力、實踐動手能力和創新能力的培養。學生畢業后將掌握主流嵌入式系統硬件架構、嵌入式軟件理論、嵌入式軟件編程的方法和工具、基本具備本領域分析問題解決問題的能力、具備一定的工程實踐能力、能夠學以致用并能適合市場需要的嵌入式軟件開發人才。
要達到上述的嵌入式軟件開發人才培養目標,在課程設置上,應遵循發揮專業特長的原則,從企業的實際用人需求出發的原則,嵌入式方向課程與主干課程充分融合的原則。計算機應用技術專業在現有軟件開發技術強優勢的情況下,可從調整專業課程結構,整合一體化課程,增加嵌入式人才培養所需的專業基礎課程和專業核心課程入手,進行課程體系的重構。該專業的課程設置一般包含以下課程:
(1)嵌入式微處理器結構與應用
在“微機原理與接口”這門課程內容上增加對ARM處理器工作原理、ARM的匯編指令系統和接口技術的內容。無論學生以后的方向是ARM+WinCE、ARM+LINUX、ARM+ VXWORKS中的哪一種,學習本課程都是非常重要的。
(2)嵌入式操作系統類課程
大多數嵌入式操作系統的實時性都很強,目前最重要的實時操作系統主要包括Vxworks操作系統、嵌入式Linux操作系統、Windows CE嵌入式操作系統。在現有的操作系統課程中增加嵌入式操作系統的內容。學生至少須掌握一個嵌入式操作系統。
(3)嵌入式軟件設計與編程相關課程
本課程確定具體的專業應用方向,我們根據需要設置以“移動通信服務終端”為主攻方向,本院可以在“Windows CE與嵌入式應用軟件開發”或“嵌入式Linux設計與開發”中選擇一種。
(4)嵌入式開發的相關軟硬件基礎課程
“數字電路”、“計算機組成原理”、“匯編語言”、“C/C++”、“數據結構和算法”、“軟件工程”等,這些都是軟硬件開發的基礎課程,是學習嵌入式軟件和系統方向的基礎。另外,針對具體的應用需求,還可以開設與該應用需求相關的一些課程。
(5)嵌入式開發綜合課程設計該課程綜合運用計算機基本理論及方法、嵌入式系統原理、嵌入式操作系統、特定開發工具等知識進行一個小型嵌入式軟件的開發,通過讓學生參與實際項目的分析與設計,提高學生綜合運用知識分析問題的能力和決策能力,掌握如何進行資料查閱搜集以及如何與團隊合作的技巧[3]。
這一體系教學層次分明、思路清晰,教學內容彼此呼應,教學團隊責任明確,系列課程(實驗)相互配套。由于嵌入式系統將多種學科交織在一起,所以在制訂課程體系時充分考慮了各學科的知識點,形成嵌入式系統軟件開發方向人才培養的獨特體系,在計算機科學與技術專業中設置嵌入式系統軟件開發方向是可行的,它符合社會發展的需要。
結合國家大學生創新性實驗計劃、大學生競賽和科研實踐來綜合設計計算機專業嵌入式系統方向的實踐體系。借鑒美國卡內基梅隆大學率先提出的“Learning by doing”的教學理念,這種教學理念旨在強化工程學科的學生全面的實踐能力和工程素養。使學生“從做中學”,取得到了較好的教學效果[4]。
(1)實驗內容設計
實驗內容突出嵌入式系統的軟件開發為重點,將實踐劃分為基礎層、應用層和提高層3個層次。以一個實際應用系統開發流程為例,設計了下列實驗項目內容(如表1)。

表1 :實驗項目
(2)實驗環境設計
實驗環境是實踐的保障,實驗環境中硬件及軟件資源是關鍵。由于ARM芯片不僅價格上可以滿足學校的要求,還可以得到廠商較好的技術支持,所以當前選擇嵌入式實驗教學硬件平臺應以ARM微處理器為主,輔以其他芯片。同時選擇一款合適的實驗平臺,除了看其所使用的微處理器外,重要的就是該平臺所支持的功能模塊多少以及它的可擴展性[5]。另外,僅僅依靠學校在教學硬件設備上的投資,很難完全滿足多層次實踐教學的要求。為此,我們一方面向學校申請增加設備投資,擴建和充實必需的實驗設備,更新和擴充了計算機組成原理、微機接口技術、單片機原理及應用等實驗室的實驗設備。另一方面充分利用計算機仿真軟件來實現嵌入式系統試驗教學。我們已搭建了嵌入式應用軟件開發的模擬實驗環境,實現了部分硬件實驗的軟件化。可以滿足嵌入式軟件開發方向實驗教學的需要,節省大量資金,提高實驗效率。
(3)組織課外研發活動
學院為學習成績較好且對嵌入式系統開發有濃厚興趣的同學提供課外研發活動的條件,組成課外科技活動小組,學生由4~6人自發組成多個嵌入式系統開發小組,并指派教師在各個階段給予指導和幫助;有相關課題的教師也將其中一些具備一定開發能力的同學納入自己的開發團隊。此外,鼓勵學生積極參加大學生創新性實驗項目、大學生競賽中。
在嵌入式軟件開發教學中知識點覆蓋面廣,只有建立合理教學體系,精心設計實驗教學環境,鼓勵學生積極參加大學生創新性競賽。這樣就能調動學生的學習積極性,充分挖掘出這些同學的創造潛能。
(注:本文系湖北經濟學院校級教學研究項目,項目編號:2011014;湖北省教育廳青年科研項目,項目編號:Q20121906;湖北省教育廳科研項目,項目編號:2011jytq044)
[1]盛鴻宇,魏志光.關于開展“嵌入式系統人才培養項目”的設想[J].實驗室研究與探索,2005,24(5):60-64.
[2]何劍鋒,姜林,劉琳.軟件類專業嵌入式系統教學探究與實踐[J].計算機教育,2009,(18):111-113.
[3]張光建,王勇,黃賢英.計算機專業嵌入式應用開發課程體系的研究與實踐[J].重慶工學院學報(自然科學),2008,22(11):169-172.
[4]何宗健.同濟大學軟件學院“嵌入式軟件開發導論”課程介紹[J].計算機教育,2006,(8):4-6.
[5]田浩.嵌入式實驗教學體系研究[J].湖北經濟學院學報(人文社科版),2011,8(11):129-130.