王維,李紅,康世英
?
基于系統(tǒng)能力培養(yǎng)的嵌入式方向課程體系研究
王維,李紅,康世英
(咸陽師范學(xué)院,咸陽 712000)
在后PC時代,在嵌入式系統(tǒng)、云計算、物聯(lián)網(wǎng)等各種新型計算及應(yīng)用都對系統(tǒng)能力提出了要求。結(jié)合我校計算機科學(xué)與技術(shù)專業(yè)發(fā)展現(xiàn)狀,提出了基于系統(tǒng)能力培養(yǎng)的嵌入式方向課程體系,依據(jù)該課程體系規(guī)劃課程內(nèi)容,并取得了較好的效果。
系統(tǒng)能力;嵌入式方向;課程體系
隨著物聯(lián)網(wǎng)、智能信息家電、智能控制技術(shù)的迅速發(fā)展,基于嵌入式系統(tǒng)的新器件、新設(shè)備不斷推出,急需各類嵌入式系統(tǒng)軟硬件開發(fā)、研究、產(chǎn)品研制人員,這就要求計算機科學(xué)與技術(shù)專業(yè)在嵌入式方向的人才培養(yǎng)過程中,應(yīng)重點培養(yǎng)學(xué)生的系統(tǒng)能力。
中國計算機學(xué)會計算機教育專業(yè)委員會在《2012中國計算機科學(xué)技術(shù)發(fā)展報告》中明確提出:相比較其他專業(yè)學(xué)生的計算機基礎(chǔ)和應(yīng)用能力,計算機專業(yè)學(xué)生更強調(diào)計算機系統(tǒng)能力的培養(yǎng)[1]。南京大學(xué)的袁春風(fēng)等認(rèn)為, 計算機專業(yè)學(xué)生的優(yōu)勢之一在于計算機系統(tǒng)能力,即具備計算機系統(tǒng)層面的認(rèn)知與設(shè)計能力、能從計算機系統(tǒng)的高度考慮和解決問題[2]。
計算機專業(yè)學(xué)生的系統(tǒng)能力是指在掌握計算機系統(tǒng)基本原理的基礎(chǔ)上,熟悉如何進(jìn)一步開發(fā)構(gòu)建以計算機技術(shù)為核心的應(yīng)用系統(tǒng)[3]。這要求學(xué)生不僅要掌握常用的編程語言,更要清楚計算機系統(tǒng)內(nèi)部軟件、硬件之間的關(guān)聯(lián)關(guān)系及邏輯層次結(jié)構(gòu)。這從工程教育的角度對計算機專業(yè)提出了更高的要求,系統(tǒng)觀的教育對于計算機專業(yè)嵌入式方向的學(xué)生尤其重要。
在當(dāng)前計算機科學(xué)與技術(shù)專業(yè)設(shè)置的課程體系對學(xué)生的系統(tǒng)能力培養(yǎng)存在以下問題:
1)開設(shè)的專業(yè)課程之間的銜接和關(guān)聯(lián)考慮不夠,課堂教學(xué)內(nèi)容只圍繞所講課程核心內(nèi)容組織,很少體現(xiàn)和其他課程內(nèi)容之間的關(guān)聯(lián),導(dǎo)致學(xué)生無法將前導(dǎo)課程所學(xué)內(nèi)容融入學(xué)習(xí)中,同時由于缺少對后續(xù)課程的認(rèn)識,甚至不知學(xué)習(xí)該門課程的意義所在,無法從計算機系統(tǒng)的角度定位該課程。
2)由于學(xué)生不具備系統(tǒng)觀,理論知識理解不深,導(dǎo)致學(xué)生在實踐環(huán)節(jié)出現(xiàn)各種問題。在開始接觸實驗時興趣非常大,但由于知識理解不夠,實驗無法順利完成,漸漸失去興趣,害怕做實驗,最終演變成不想做甚至討厭做實驗。
總體來說,目前在計算機專業(yè)的教學(xué)中缺乏對學(xué)生系統(tǒng)能力的培養(yǎng)。在后PC時代,在嵌入式系統(tǒng)、云計算、物聯(lián)網(wǎng)等各種新型計算及應(yīng)用都對系統(tǒng)能力提出了要求。本文主要針對我院計算機專業(yè)嵌入式方向的課程體系設(shè)置在系統(tǒng)能力培養(yǎng)方面展開研究。
結(jié)合后PC時代,嵌入式系統(tǒng)對人才的要求不僅僅是掌握嵌入式系統(tǒng)開發(fā)的基本理論和方法,更重要的是具備嵌入式系統(tǒng)軟硬件的設(shè)計與開發(fā),即在系統(tǒng)能力方便提出了更高的要求。
結(jié)合我校學(xué)生實際,計算機科學(xué)與技術(shù)專業(yè)課程包括基礎(chǔ)課程和嵌入式方向課程?;A(chǔ)課程包括軟件課程和硬件課程兩部分,其中軟件課程主要包括C語言、面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理及應(yīng)用、操作系統(tǒng)等,主要訓(xùn)練學(xué)生的編程能力和系統(tǒng)開發(fā)能力;硬件課程主要包括:模擬電路、數(shù)字電路、計算機組成原理、微機原理與接口技術(shù)等,幫助學(xué)生掌握必備的硬件知識,對計算機系統(tǒng)的組成從底層元器件的學(xué)習(xí)、基本邏輯電路及邏輯部件的學(xué)習(xí)到計算機五大組成部分的學(xué)習(xí),使學(xué)生對計算機系統(tǒng)有一個較清晰的認(rèn)識。
在以上基本課程學(xué)習(xí)完畢后,展開嵌入式方向課程的學(xué)習(xí)。嵌入式方向課程體系設(shè)置的基本思路是:先講底層具體的嵌入式系統(tǒng)的體系結(jié)構(gòu),再講頂層比較抽象的嵌入式應(yīng)用開發(fā)用到的編程方面的內(nèi)容,同時可以添加嵌入式開發(fā)中嵌入式操作系統(tǒng)的學(xué)習(xí),然后從兩頭到中間,把頂層程序設(shè)計內(nèi)容和底層電路內(nèi)容按照程序員視角全部串起來,介紹驅(qū)動程序開發(fā)及嵌入式應(yīng)用系統(tǒng)的開發(fā),達(dá)到在嵌入式方向課程學(xué)習(xí)中對系統(tǒng)能力和動手能力培養(yǎng)的目標(biāo)。
嵌入式方向課程主要包括嵌入式體系結(jié)構(gòu)、嵌入式操作系統(tǒng)、嵌入式軟件設(shè)計及嵌入式系統(tǒng)設(shè)計與應(yīng)用開發(fā)等課程。由于基礎(chǔ)課程中缺少一門涉及在計算機硬件系統(tǒng)上應(yīng)用軟件編程語言開發(fā)系統(tǒng)的課程,因此在該課程體系中引入單片機原理,該課程主要講述51單片機,使學(xué)生進(jìn)一步學(xué)習(xí)程序設(shè)計語言如何控制單片機的功能部件,實現(xiàn)相應(yīng)功能。該門課程的引入,有助于學(xué)生將計算機系統(tǒng)的底層設(shè)計與應(yīng)用有機結(jié)合,奠定系統(tǒng)軟硬件開發(fā)的基礎(chǔ),同時由于單片機課程簡單、具體,能夠提高學(xué)生學(xué)習(xí)的積極性,有助于后續(xù)嵌入式方向課程的學(xué)習(xí)?;谇度胧椒较蛘n程體系的相關(guān)課程設(shè)置方案如圖1所示,圖1橫軸部分是計算機系統(tǒng)的各個抽象層(只表示該課程體系用到的部分層次),縱軸表示課程開設(shè)的時間,右邊矩形框表示課程,其上下兩條邊的位置標(biāo)識課程內(nèi)容在系統(tǒng)層次中包括的范圍,矩形的左右兩條邊的位置標(biāo)識課程開設(shè)的時間。
依據(jù)嵌入式方向課程體系,需對方向課程內(nèi)容進(jìn)行規(guī)劃。該方向課主要基于ARM9硬件平臺和嵌入式Linux操作系統(tǒng)展開。
1)嵌入式體系與結(jié)構(gòu)中主要講解ARM9處理器及外圍控制電路相關(guān)內(nèi)容,包括ARM體系結(jié)構(gòu)、指令系統(tǒng)、GPIO編程、異常中斷處理及編程、串行通信接口、存儲器接口、定時器編程及接口、A/D轉(zhuǎn)換器及LCD接口,編程采用Keil公司的MDK,該MDK是ARM公司最新退出的專業(yè)嵌入式開發(fā)工具ReakView工具集,編程語言選用C語言;
2)嵌入式操作系統(tǒng)選用可配置、開源的Linux操作系統(tǒng),如圖1所示。
圖1 嵌入式方向課程體系相關(guān)課程設(shè)置
主要講解操作系統(tǒng)的存儲管理、進(jìn)程管理、文件管理、設(shè)備管理等幾個核心模塊,包括內(nèi)核代碼的部分分析介紹,為后續(xù)進(jìn)行驅(qū)動程序的開發(fā)奠定基礎(chǔ);
3)嵌入式軟件設(shè)計主要講解利用Qt開發(fā)應(yīng)用程序,介紹信號與槽的實現(xiàn)機制、對話框、主窗口、布局、文本輸入和表、容器類、目錄與文件處理、事件機制等內(nèi)容,該部分學(xué)習(xí)基于Windows平臺學(xué)習(xí)Qt;
4)嵌入式系統(tǒng)設(shè)計與應(yīng)用開發(fā)課程以前三門課程為基礎(chǔ),通過介紹交叉編譯器、BootLoader、Linux內(nèi)核和根文件系統(tǒng)幾部分內(nèi)容構(gòu)建嵌入式硬件平臺,在此基礎(chǔ)上介紹設(shè)備驅(qū)動程序開發(fā),該部分是難點,需要用到體系結(jié)構(gòu)和內(nèi)核的知識,將前導(dǎo)課程有機結(jié)合到一起,然后講解嵌入式開發(fā)環(huán)境Qtopia,及基于Windows平臺的Qt如何移植到硬件平臺,最后以綜合性的嵌入式系統(tǒng)為例,圍繞嵌入式硬件平臺的搭建、底層硬件電路設(shè)計、驅(qū)動程序開發(fā)到上層應(yīng)用程序的開發(fā)及調(diào)試、運行展開講解,進(jìn)一步提高學(xué)生的系統(tǒng)能力。
依據(jù)該課程體系,組建嵌入式創(chuàng)新團(tuán)隊,使學(xué)生盡可能早地參與科研項目,鼓勵學(xué)生參考嵌入式相關(guān)的大賽,提高學(xué)生的實際動手能力和系統(tǒng)能力。我院已連續(xù)多次組織學(xué)生參加“博創(chuàng)杯”全國大學(xué)生嵌入式設(shè)計大賽,在西北賽區(qū)多次獲獎,并在國家比賽中獲獎,取得了非常好的成績。
系統(tǒng)能力是ACM/IEEE CS2013在組織眾多計算機教育專家深入調(diào)研基礎(chǔ)上,對原有14個知識域進(jìn)行適度調(diào)整,增加4個涉及系統(tǒng)級的內(nèi)容,由此可見,在CS2013的重點是進(jìn)一步強調(diào)系統(tǒng)知識和系統(tǒng)能力的培養(yǎng)[4]。本文結(jié)合我校計算機科學(xué)與技術(shù)專業(yè)現(xiàn)狀,重點研究嵌入式方向課程體系設(shè)置及內(nèi)容規(guī)劃,提高學(xué)生系統(tǒng)能力的培養(yǎng)。
[1] CCF計算機教育專業(yè)委員會.計算機專業(yè)學(xué)生系統(tǒng)能力培養(yǎng)和系統(tǒng)課程設(shè)置的研究與進(jìn)展.2012中國計算機科學(xué)技術(shù)發(fā)展報告[R],北京:機械工業(yè)出版社,2012:122-150.
[2] 袁春風(fēng),王帥.系統(tǒng)能力培養(yǎng)初探[J].中國計算機學(xué)會通訊,2013,9(9):48-55.
[3] 王志英等.計算機專業(yè)學(xué)生系統(tǒng)能力培養(yǎng)和系統(tǒng)課程體系設(shè)置研究[J].計算機教育,2013,(9):1-6.
[4] The Joint Task Force on Computing Curricula of ACMIEEE. Computer Science Curricula 2013 Ironman Draft(Version 0.8)[EB/OL]. [2013-03-26].http://ai.stan ford.edu/users/sahami/CS2013/.
Research on Curriculum Structure of Embeded Aspect Based on System Practice Trainning
Wang Wei, Li Hong, Kang Shiying
(Computer Institute of, Xianyang Normal University, Xianyang 712000, China)
In the post-PC era, various new computing and applications, such as embedded systems, cloud computeing and The Internet of Thing, make demands on system capability. According to the development status of the computer science and technology specialty, the curriculum of embeded systems based on system-oriented practice trainning is proposed, the content of the course is planed, and have achieved good effects.
System-oriented; Embeded direction; Curriculum structure
1007-757X(2016)12-0026-02
TP311
A
咸陽師范學(xué)院校內(nèi)教改(201302025),省級計算機科學(xué)與技術(shù)專業(yè)(陜教高[2011]38號)
王 維(1981- ),女,咸陽師范學(xué)院,講師,碩士,研究方向:嵌入式系統(tǒng),咸陽 712000
李 紅(1978-),女,咸陽師范學(xué)院,講師,碩士,研究方向:嵌入式系統(tǒng),咸陽 712000
康世英(1980-),女,咸陽師范學(xué)院,講師,碩士,研究方向:嵌入式系統(tǒng),咸陽 712000
(2016.05.12)