摘要:隨著應用領域的不斷擴展,嵌入式系統得到了越來越廣泛的應用。如何在高校開展嵌入式系統教學是當前課程建設的重要問題。提出了面向嵌入式系統的本科/研究生連續式課程建設方案。該方案以嵌入式技術為中心,以本科教育階段和研究生教育階段中學生對象、教學目標等各方面的差異為支點,將嵌入式系統的教學以區別對待、連續進行的方式開展,對于高水平嵌入式人才的培養具有重要作用;同時,該方案也為其他課程或者專業方向開展課程建設提供了重要參考。
關鍵詞:嵌入式系統本科教學研究生教學課程建設
半導體等技術的快速發展極大的推動了嵌入式技術的進步,嵌入式系統也得到了更為廣泛的應用[1]。特別是隨著無線移動寬帶網絡的發展和普及,移動嵌入式設備正在成為網絡接入的主要設備。新的應用場景的出現使得嵌入式系統未來的發展前景愈加廣闊,對嵌入式人才數量的需要也不斷的增加,對人才質量的要求也在不斷的提升。由此也推動了高校中嵌入式相關課程的建設和完善。嵌入式系統課程是計算機及相關專業的重要課程,國內外眾多學校均開設了相關課程,培養嵌入式方向的專業人才[3-6]。武漢科技大學計算機學院較早開設了嵌入式課程。在開展課程建設的過程中,將嵌入式系統理論與實踐之間的關系進行了梳理,設置了適當的理論教學和實踐教學內容,并通過課堂外的教學擴展來構建充分的能力培養平臺[7-8]。在本科嵌入式系統相關課程建設的基礎上,進一步對研究生嵌入式相關課程建設進行了探索。以嵌入式人才培養為核心,將本科和研究生嵌入式系統相關課程作為一個有機的整體來進行建設方案的設計,從而構建出面向嵌入式系統的本科/研究生連續式課程建設。
一、 嵌入式系統課程建設面臨的挑戰
嵌入式系統是根據應用的需要,采用計算機技術,對軟硬件進行裁剪,從而滿足定制要求的專用計算機系統[9]。嵌入式系統的設計和實現受到具體應用環境的限制,在功能、性能、可靠性和成本等方面都有較為嚴格的要求。隨著半導體技術的發展,芯片的集成度在不斷提高,芯片的性能也在不斷得到提高,而與此同時,芯片的價格和面積卻在持續降低。此外,移動互聯網的飛速發展,使得移動接入成為互聯網接入的主要方式之一。因此,嵌入式系統的應用范圍正在進一步的擴大,意味著嵌入式系統正在成為無所不在的系統。嵌入式系統的技術進步和應用擴展使得嵌入式人才培養成為當前需要解決的問題。高校是嵌入式人才的重要來源,開設嵌入式課程是高校提供社會服務的必然需要。
嵌入式課程既要關注到理論教學,也要結合實踐,提高動手能力;既要考慮工程開發的需要,也要培養具有創新能力的高水平人才。嵌入式系統課程是理論與實踐兼備、理論與實踐結合緊密的課程,如何更好開展課程建設,培養出高素質的人才,是嵌入式技術不斷發展的背景下,所提出的挑戰。其核心包括:嵌入式系統教學內容的安排;嵌入式相關實踐能力的培養;嵌入式系統方向創新能力的培養以及跨學科的創新設計與實踐能力。以計算機專業教學為背景,在本科嵌入式相關課程基礎上,將研究生嵌入式課程納入到整體的課程建設當中,形成本科、研究生連續式的課程建設方案,從而培養出符合不同層次需要的高素質嵌入式人才。
二、 連續式課程建設的設計
在面向嵌入式系統的連續式課程建設中,將課程的建設分成如下層次,如下圖1所示。
圖1課程建設層次嵌入式系統強調理論與實踐的結合,需要有一定的知識和能力基礎。這就是所有層次之下的基礎層次,既與嵌入式系統課程相關聯的課程,主要包括了計算機組成原理、程序設計語言、數字系統設計、操作系統等課程。這些關聯課程為嵌入式課程的開展提供良好的基礎。在完成關聯課程的知識學習和能力培養后,再進入嵌入式技術基礎層次的課程建設。該層次中包括的教學內容是嵌入式硬件相關知識、嵌入式操作系統相關知識及其實踐實驗訓練。隨后,是嵌入式開發層次,包括了嵌入式系統級開發和嵌入式應用開發。在這一層次開展培養學生設計與開發能力的課程建設。
在上述課程建設中,強調的是基礎、知識和技能。而接下來的課程建設中,則強調創新。首先是嵌入式應用創新,即在既有的嵌入式系統設計與開發能力上,能夠針對具體的應用領域或者場景,綜合知識和技能來發現問題并解決問題。在此過程中,來培養學生的創新思維能力,讓學生掌握創新的基本方法,并能夠實現應用研究及其創新實踐。然后通過嵌入式前沿技術,將嵌入式技術的最新發展、產業界的新動向等引入到課程當中。通過這一層次的課程建設,將學術性內容和科研的方法更深層次的導入到教學當中,提高學生對前沿內容的掌握程度,進一步激發學生的創新動力。最后,通過嵌入式系統創新,讓學生在自己專業領域上,將自己的研究方向與嵌入式進行結合,開展系統級創新,從而實現從基礎到前沿,從應用到研究,從工程到學術的培養路徑。同時,在上述設計中,對于優秀的本科生,根據其實際的知識和能力基礎,可以進入到研究生培養的各個層次當中。從而將本科生的培養與研究生的培養構建出一個連續的層次,同時又能夠區分開來。
三、連續式課程建設的實現
(一)課程的設置
在課程設置上,分別設置了三門課程,分別是“嵌入式系統”、“嵌入式系統設計與開發”、“嵌入式系統原理與技術”。“嵌入式系統”是本科課程,在關聯課程計算機組成原理、程序設計語言、數字系統設計、操作系統等課程的教學完成后開設。該課程的主要內容是嵌入式系統概念,嵌入式體系結構和指令集,對具體芯片的介紹,以及對嵌入式操作系統的初步介紹。通過該課程,學生能夠熟悉并掌握嵌入式系統的硬件基礎,并對系統級軟件具有較好的把握。“嵌入式系統設計與開發” 是本科課程,其主要內容是嵌入式應用軟件的開發。目前該課程講述Android應用開發,并適當的引入其他移動應用開發的內容,作為擴展知識。在完成這兩門課程的學習后,學生已經具備了嵌入式系統開發的知識和技能。“嵌入式系統原理與技術”是研究生課程,該課程的主要內容包括了對嵌入式前沿技術的介紹,以及嵌入式學術研究的方法和主題等相關內容的闡述。通過該課程,學生能夠進一步了解嵌入式技術的發展。
由于課堂的授課時間有限,在進行實際的課程建設時,采用了專題訓練的方式作為課堂授課的補充。以嵌入式系統級開發的專題訓練為例,在“嵌入式系統”課程之外,密切聯系Linux操作系統、Java程序開發、嵌入式系統設計與開發等課程,根據“ARM+Android”開發的深度,綜合其關鍵的技術要點和開發方法,設計了系統的“ARM+Android”專題訓練內容體系。這個體系內包括三個層次:首先是ARM Cortex-A8體系結構與硬件平臺資源的介紹,該部分內容與“嵌入式系統”課程內容相關聯;然后是Android系統的內核介紹,本部分內容與Linux操作系統、“嵌入式系統設計與開發”等課程相關聯;再然后是基本的系統級開發環境,之后是Bootloader,內核與驅動程序開發,本部分與Linux操作系統等課程相關聯;最后是各種調試方法的介紹。從而使得課程體系內的各門課程能夠更為緊密的聯系在一起。
(二)實踐的設置
實踐是嵌入式系統課程建設的核心組成。在進行連續式課程建設過程中,對實踐內容、實踐方式等進行了全面的探索,一方面保證與理論相結合的基本實踐的開展,另一方面擴展實踐環節,在基本實踐基礎上,強調創新實踐能力的培養。在具體設置上,通過建立學長組、微課題/項目、開放實驗室、競賽、社團等多種方式來開展。
嵌入式系統的既需要理論的理解和掌握,更需要在實踐上的訓練以提高開發能力。課程組以面向本科/研究生的連續式課程建設為依托,以課程組教師為基礎,將研究生、本科生在實踐上的培養構建成為一個整體。在導師組以外,建立了以研究生和優秀本科生為核心的學長組,為參加嵌入式課程的學生提供不同方面的支持。一方面每個學生都能夠得到足夠的面對面的指導,提高實踐效率;另一方面,在指導過程中,也可以不斷的提升學長組成員的知識積累和實踐能力。在不斷的交流和討論中,研究生和本科生均可以獲得知識的增長,能力的提高,形成良好的學習和實踐氛圍,并構建出可持續的長期機制。
課程組以實際的科研和教學項目為依托,抽取出其中可以由研究生和本科生完成部分,設計了給定題目的嵌入式開發與創新課題,提
供給學生作為團隊或個人的項目;設計了開放性的方向和題目,公開給學生;并支持學生自己設計題目,在經過評審后立項。以上均稱為“微課題”或者“微項目”。其中,來自科研課題的稱為“微課題”,來自其他項目的稱為“微項目”。不管是哪種類型,均由學生自行組織團隊來申請題目并完成。學生也可以自行申報題目。團隊通常由研究生和本科生共同完成。在完成過程中,由導師組和學長組進行指導。嵌入式課程的實踐需要大量的硬件平臺支撐。為保證實踐的順利進行,同時也提高設備的使用效率,在課程建設過程中,建立建設了開放實驗室。通過自行購買、企業捐贈等方式,獲得了多種類型的實踐設備,并開辟了專門的地點,將設備向參與課程的研究生和本科生開放。目前,開放實驗室的設備已達到百余套/件,足夠滿足開放實驗室的需要。
為激發學生的創新思維,課程組在既有學生團隊基礎上,鼓勵和支持學生團隊參與各類競賽。將團隊的項目與競賽的主題進行結合,一方面完成項目,一方面通過競賽獲取更多的有效信息,積極改進。在競賽過程中,不斷的發現問題并創造性的解決問題;通過競賽當中的競爭來增強學生完成項目的主動能動性,從而不斷的積極進行項目的深入探索,進一步培養創新和實踐能力。
在學生團隊不斷發展擴大的基礎上,引導學生自行組織各種學生社團。學生社團的組建和管理完全由學生自行處理,各自有完整的社團章程和制度。社團在技術上接受課程組的指導。嵌入式課程的課外教學通過社團確立了固定的平臺。此外,通過社團可以接受來自相關方向上的專業技術支持。比如,武漢科技大學-微軟技術俱樂部獲得了微軟正版軟件的支持,并面向全校開放;定期獲得微軟的開發技術支持和講座等。通過社團與課程組的協同,課程教學與課外教學活動形成了良好的對接,成為教學互動的良好渠道。
四、結論
嵌入式技術發展迅速推動了嵌入式系統的廣泛應用,也帶來了對嵌入式人才的需求。通過開展本科研究生連續式課程建設,以既有科研和教學經驗積累為基礎,以嵌入式技術為核心,為嵌入式人才培養為目標,將本科嵌入式教學與研究生嵌入式教學結合在一起,構建出整體化、具有連貫性的課程建設模式,從而推動嵌入式教學的深入。面向嵌入式系統的本科研究生連續式課程建設,既是嵌入式系統課程建設的一種有效探索,也是其他專業方向課程建設的有益參考,對于推動課程建設具有積極的意義。
參考文獻:
[1] 殷建軍,張明武,尹令. 嵌入式系統課程現狀分析與對策研究[J]. 計算機教育,2010(14): 114-117.
[2] Alberto. L. SV and A. Pinto. An overview of embedded system design education at Berkeley[J]. ACM Trans on Embedded Computing Systems, Volume 4, Issue 3, 2005, pp: 472 – 499.
[3] Koopman P., Choset H. et al. Undergraduate embedded system education at carnegie mellon[J]. ACM Trans on Embedded Computing Systems, Volume 4, Issue 3,2005, pp: 500 – 528.
[4] Rudolph E. S. A curriculum for embedded system engineering[J]. ACM Trans on Embedded Computing Systems, Volume 4, Issue 3, 2005, pp: 569-586.
[5] 楊劍鋒,謝銀波,吳靜,沈海. 校企合作,共譜嵌入式教學新篇章[J]. 計算機教育, 2011(15): 130-132.
[6] 邱鐵,吳國偉,劉曉艷. 基于應用的高校嵌入式系統方向培養模式[J]. 計算機教育,2011(4): 1-4.
[7] 胡威, 郭宏, 沈海. 通過大學生社團推動嵌入式教學的發展[J]. 計算機教育, 2012(15): 107-110.
[8] 胡威, 王靖淇, 沈海, 穆麗虹. 基于凌動處理器的嵌入式課程建設[J]. 計算機教育, 2011(21): 109-112.
[9] S. Napper. Embedded-system design plays catch-up [J]. Computer, 1998, 31(8): 118-120.
基金項目:武漢科技大學研究生教學研究項目(編號:yjs201310),武漢科技大學研究生精品課程項目(編號:yjp1307),武漢科技大學教學改革項目(編號:2012z42),武漢科技大學精品課程項目(編號:yjp1311)