莊旭菲 孫海東 張 燕 王海鳳 劉志強(qiáng)
1.內(nèi)蒙古工業(yè)大學(xué)信息工程學(xué)院 內(nèi)蒙古呼和浩特 010080;2.內(nèi)蒙古教育招生考試中心 內(nèi)蒙古呼和浩特 010011
嵌入式系統(tǒng)研究與開(kāi)發(fā)已成為工業(yè)4.0的核心技術(shù),而嵌入式操作系統(tǒng)是嵌入式系統(tǒng)的重要軟件支撐平臺(tái),國(guó)內(nèi)的大部分工科院校計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)都開(kāi)設(shè)了“嵌入式操作系統(tǒng)”課程。由于傳統(tǒng)的“嵌入式操作系統(tǒng)”課程在教學(xué)內(nèi)容、教學(xué)模式和考核方式上,已不能適應(yīng)當(dāng)前新工科建設(shè)對(duì)嵌入式系統(tǒng)開(kāi)發(fā)人才的需求,課程教學(xué)現(xiàn)狀與工程教育認(rèn)證之間也存在一定的差距,所以“嵌入式操作系統(tǒng)”課程改革勢(shì)在必行。
“嵌入式操作系統(tǒng)”課程是計(jì)算機(jī)類(lèi)課程中一門(mén)非常重要的專(zhuān)業(yè)課程,要想學(xué)好該課程,除了需要了解嵌入式體系結(jié)構(gòu)方面的基礎(chǔ)知識(shí),還需要了解程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)和計(jì)算機(jī)網(wǎng)絡(luò)等多方面的知識(shí),如果學(xué)生不重視前導(dǎo)課程的學(xué)習(xí)將會(huì)嚴(yán)重影響課程的學(xué)習(xí)效果。
嵌入式操作系統(tǒng)種類(lèi)很多,用于教學(xué)的有μC/OS-Ⅱ、嵌入式Linux、VxWorks、FreeRTOS等,由于Linux免費(fèi)、開(kāi)源,內(nèi)核可以定制裁剪,具有廣泛的硬件支持[1],適合應(yīng)用在嵌入式系統(tǒng)中,國(guó)內(nèi)的很多高校在教學(xué)上都選取嵌入式Linux操作系統(tǒng)。傳統(tǒng)的“嵌入式操作系統(tǒng)”課程在教學(xué)內(nèi)容上還存在以下問(wèn)題。
(1)課程理論基礎(chǔ)知識(shí)較多,更多偏向嵌入式操作系統(tǒng)內(nèi)核原理知識(shí)和內(nèi)核源代碼講解,工程實(shí)際應(yīng)用價(jià)值較低。
(2)課程以知識(shí)點(diǎn)組織教學(xué),雖然條理清晰,但是各個(gè)知識(shí)點(diǎn)相對(duì)比較孤立,而且缺乏實(shí)際的工程應(yīng)用背景,學(xué)生學(xué)習(xí)后,不能理論聯(lián)系實(shí)際應(yīng)用。
課程傳統(tǒng)的教學(xué)方式是以課堂的理論課講授為主,以教師為中心,是純粹的“填鴨式”教學(xué)方式,學(xué)生被動(dòng)接收知識(shí),缺少師生互動(dòng),降低了學(xué)生的學(xué)習(xí)主動(dòng)性,無(wú)法體現(xiàn)“以學(xué)生為中心”的教學(xué)理念;而課程實(shí)驗(yàn)只有少量學(xué)時(shí),與理論課時(shí)間間隔較長(zhǎng),理論與實(shí)驗(yàn)脫節(jié),不能夠鍛煉學(xué)生的動(dòng)手能力,無(wú)法提高學(xué)生的工程實(shí)踐能力。
由于嵌入式系統(tǒng)嚴(yán)重依賴于硬件設(shè)備,學(xué)生只能在少量的實(shí)驗(yàn)課上接觸到硬件設(shè)備,學(xué)生無(wú)法在課下進(jìn)行實(shí)際的硬件操作,導(dǎo)致大部分學(xué)生對(duì)相關(guān)的硬件知識(shí)點(diǎn)存在畏懼和陌生心理,降低學(xué)習(xí)熱情和學(xué)習(xí)興趣。
現(xiàn)有的課程考核方式以筆試為主,只有少量的實(shí)驗(yàn)成績(jī)和平時(shí)成績(jī),不能全面考核學(xué)生的工程實(shí)踐能力和創(chuàng)新能力,只能考核學(xué)生對(duì)片段化知識(shí)點(diǎn)的掌握程度,容易產(chǎn)生碎片化的思維。這種考核方式由于沒(méi)有較好的評(píng)價(jià)過(guò)程,就不能完善的建立質(zhì)量監(jiān)控和反饋機(jī)制,沒(méi)有持續(xù)性,很難促進(jìn)教育質(zhì)量的改善和提高。
“嵌入式操作系統(tǒng)”的前導(dǎo)課程一般有“程序設(shè)計(jì)基礎(chǔ)”“數(shù)據(jù)結(jié)構(gòu)與算法”“嵌入式系統(tǒng)”和“計(jì)算機(jī)網(wǎng)絡(luò)”。其中“嵌入式系統(tǒng)”課程主要講授ARM體系結(jié)構(gòu)和ARM匯編語(yǔ)言;“程序設(shè)計(jì)基礎(chǔ)”為本課程提供所需的編程基礎(chǔ)知識(shí),如“C語(yǔ)言”;“數(shù)據(jù)結(jié)構(gòu)與算法”為本課程進(jìn)行操作系統(tǒng)內(nèi)核分析與驅(qū)動(dòng)開(kāi)發(fā)提供了數(shù)據(jù)結(jié)構(gòu)的分析和構(gòu)造等理論基礎(chǔ);“計(jì)算機(jī)網(wǎng)絡(luò)”為本課程提供一些必要的網(wǎng)絡(luò)基礎(chǔ)知識(shí)。在以上前導(dǎo)課程學(xué)習(xí)中,教師要讓學(xué)生了解嵌入式系統(tǒng)方向、各門(mén)課程之間的知識(shí)內(nèi)在聯(lián)系和相互支撐關(guān)系,說(shuō)明前導(dǎo)課程的重要性。
以產(chǎn)出為導(dǎo)向,針對(duì)畢業(yè)要求的支撐關(guān)系,按照教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)教學(xué)指導(dǎo)委員會(huì)編寫(xiě)的《高等學(xué)校嵌入式系統(tǒng)專(zhuān)業(yè)方向核心課程教學(xué)實(shí)施方案》明確教學(xué)目標(biāo),合理設(shè)置課程教學(xué)內(nèi)容,課程選取ARM Linux作為操作系統(tǒng)平臺(tái)。為了強(qiáng)調(diào)學(xué)生在牢固掌握理論知識(shí)的同時(shí)充分融入工程教育,要對(duì)具體教學(xué)內(nèi)容進(jìn)行合理設(shè)置。
(1)刪除嵌入式系統(tǒng)基礎(chǔ)內(nèi)容介紹和操作系統(tǒng)課程中已經(jīng)講授過(guò)的基礎(chǔ)知識(shí)。大部分高校的操作系統(tǒng)課程都以Linux為主,講解操作系統(tǒng)原理,所以需要?jiǎng)h除課程中的Linux內(nèi)核原理部分,改為L(zhǎng)inux操作系統(tǒng)的安裝和應(yīng)用基礎(chǔ)知識(shí),重點(diǎn)介紹嵌入式Linux開(kāi)發(fā)環(huán)境的搭建及開(kāi)發(fā)工具的使用。
(2)在講解“嵌入式Linux系統(tǒng)移植”時(shí),主要講授嵌入式Linux系統(tǒng)移植的通用方法,并針對(duì)不同工程應(yīng)用場(chǎng)景中的需求,進(jìn)行定制化的移植方案設(shè)計(jì),融入工程教育理念。
(3)對(duì)于“嵌入式Linux驅(qū)動(dòng)開(kāi)發(fā)”部分,以應(yīng)用項(xiàng)目為引領(lǐng),工程實(shí)際需求為牽引,講解在工程中常用的嵌入式字符設(shè)備驅(qū)動(dòng),如LED、按鍵和溫濕度傳感器等,力求適用于計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)學(xué)生的工程實(shí)踐能力培養(yǎng)。
課程主要教學(xué)內(nèi)容對(duì)應(yīng)的項(xiàng)目任務(wù)和能力要求如下表所示。
課程主要教學(xué)內(nèi)容對(duì)應(yīng)的項(xiàng)目任務(wù)和能力要求表
采用“理論與實(shí)踐并重、注重工程創(chuàng)新教育、強(qiáng)化過(guò)程管理”的教學(xué)模式和方法,以學(xué)生為中心進(jìn)行教學(xué)過(guò)程探究。
(1)采用混合式教學(xué)模式,充分發(fā)揮線上和線下雙線教學(xué)的優(yōu)勢(shì),把傳統(tǒng)教學(xué)的時(shí)間和空間都進(jìn)行擴(kuò)展。利用網(wǎng)絡(luò)信息技術(shù),構(gòu)建在線教學(xué)平臺(tái),建設(shè)豐富的線上課程資源,如微課視頻、電子課件等課程學(xué)習(xí)資源,學(xué)生可以通過(guò)在線資源對(duì)課程進(jìn)行預(yù)習(xí)和復(fù)習(xí)。教師在課堂將教學(xué)內(nèi)容制定成項(xiàng)目模塊,分解成項(xiàng)目任務(wù),講解主要知識(shí)點(diǎn);然后在線上發(fā)布項(xiàng)目分解任務(wù),即學(xué)生需要獨(dú)立完成的任務(wù)模塊,讓學(xué)生在課下完成并在線提交。由于課程實(shí)驗(yàn)課時(shí)較少,可以安排學(xué)生做一些綜合實(shí)驗(yàn),并對(duì)學(xué)生進(jìn)行面對(duì)面的實(shí)驗(yàn)輔導(dǎo)。以課程第一部分內(nèi)容為例,如下圖所示,說(shuō)明了“嵌入式Linux開(kāi)發(fā)環(huán)境”的線上和線下教學(xué)內(nèi)容。
“嵌入式Linux開(kāi)發(fā)環(huán)境”的線上和線下教學(xué)內(nèi)容圖
(2)根據(jù)“以學(xué)生為中心”的教育理念,將討論式、支架式等教學(xué)方式和信息科技技術(shù)引入課堂,針對(duì)不同的教學(xué)內(nèi)容采用不同的教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)熱情、學(xué)習(xí)主動(dòng)性和參與性。
比如,在“網(wǎng)頁(yè)溫濕度計(jì)綜合實(shí)驗(yàn)”中,可以采用支架式教學(xué)方式。①搭建腳手架,建立“網(wǎng)頁(yè)溫濕度計(jì)”的概念框架。教師可以向?qū)W生講解溫濕度傳感器的背景知識(shí)和ARM開(kāi)發(fā)板原理圖,如何查閱溫濕度傳感器數(shù)據(jù)手冊(cè),通過(guò)GPIO端口和溫濕度傳感器通信,如何通過(guò)網(wǎng)頁(yè)調(diào)用CGI程序展示數(shù)據(jù)。②進(jìn)入情境。教師向?qū)W生說(shuō)明完成實(shí)驗(yàn)需要的硬件:ARM開(kāi)發(fā)板、溫濕度傳感器和交叉編譯宿主機(jī);軟件:交叉編譯器、嵌入式Web服務(wù)器源碼;文檔:溫濕度傳感器數(shù)據(jù)手冊(cè)。教師可以給學(xué)生演示基于Web的網(wǎng)頁(yè)溫濕度計(jì),讓學(xué)生能夠形象地了解本實(shí)驗(yàn)的最終效果,并提示學(xué)生在此基礎(chǔ)上進(jìn)行創(chuàng)新,如修改“網(wǎng)頁(yè)溫濕度計(jì)”的外觀、數(shù)據(jù)刷新時(shí)間等,提高學(xué)生的學(xué)習(xí)興趣和主動(dòng)性。學(xué)生接觸到實(shí)驗(yàn)硬件和軟件,進(jìn)入實(shí)驗(yàn)情境中。③獨(dú)立思考。2~3人組成小組,教師提示學(xué)生完成的步驟是:移植嵌入式Web服務(wù)器;編寫(xiě)溫濕度傳感器驅(qū)動(dòng);編寫(xiě)CGI程序和網(wǎng)頁(yè);提供支架,然后讓學(xué)生一步一步進(jìn)行問(wèn)題分析、探索。教師在這個(gè)環(huán)節(jié)可以適當(dāng)提示學(xué)生,并給予一些指導(dǎo)。④協(xié)作學(xué)習(xí)。學(xué)生小組組員之間相互配合,各自分工,每個(gè)人實(shí)現(xiàn)的任務(wù),比如程序調(diào)用接口,都需要溝通才能互相調(diào)用。⑤效果評(píng)價(jià)。采取本人自我評(píng)價(jià)、小組其他成員評(píng)價(jià)和教師評(píng)價(jià),根據(jù)學(xué)生的分析和解決問(wèn)題的過(guò)程及最后展示結(jié)果,完成最終評(píng)價(jià)。
嵌入式系統(tǒng)離不開(kāi)硬件,由于實(shí)驗(yàn)學(xué)時(shí)有限,學(xué)生接觸硬件較少,導(dǎo)致學(xué)生無(wú)法在課下進(jìn)行涉及硬件知識(shí)的學(xué)習(xí),而課程的虛擬仿真實(shí)驗(yàn)平臺(tái)為學(xué)生的課下學(xué)習(xí)和實(shí)驗(yàn)教學(xué)開(kāi)展提供了有力支持。QEMU是一款基于GPL許可證的通用的處理器模擬軟件,可以模擬很多架構(gòu)處理器,如X86、ARM等[2]。在嵌入式Linux系統(tǒng)移植和驅(qū)動(dòng)開(kāi)發(fā)中,可以借助QEMU虛擬仿真實(shí)驗(yàn)平臺(tái)完成大部分原來(lái)只能用硬件才能完成的操作,彌補(bǔ)了硬件實(shí)驗(yàn)設(shè)備不足問(wèn)題,可以使學(xué)生課下進(jìn)行學(xué)習(xí)和實(shí)踐。
改革傳統(tǒng)的課程考核方式,增加課程中過(guò)程性評(píng)價(jià)比重,不以期末筆試考試成績(jī)?yōu)橹?。在過(guò)程性評(píng)價(jià)中引入對(duì)學(xué)生工程實(shí)踐能力和創(chuàng)新能力的考核,即在課程的線下和線上(實(shí)驗(yàn)課)實(shí)踐環(huán)節(jié)將課程知識(shí)點(diǎn)凝練為具體的小項(xiàng)目,對(duì)學(xué)生分析問(wèn)題和解決問(wèn)題的能力進(jìn)行考核,讓考核方式滿足“新工科”背景下社會(huì)對(duì)學(xué)生的需求度為服務(wù)目標(biāo),使評(píng)價(jià)過(guò)程具有持續(xù)性。
本文在“新工科”建設(shè)背景下,融入工程教育理念,對(duì)“嵌入式操作系統(tǒng)”課程的教學(xué)內(nèi)容進(jìn)行了重構(gòu);通過(guò)以項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng)的線上和線下混合教學(xué)模式和“以學(xué)生為中心”的教學(xué)方式,提高學(xué)生的學(xué)習(xí)積極性,保證教學(xué)質(zhì)量;對(duì)課程的虛擬仿真實(shí)驗(yàn)平臺(tái)的建設(shè)解決硬件實(shí)驗(yàn)設(shè)備不足問(wèn)題,可以使學(xué)生課下進(jìn)行自主學(xué)習(xí)和實(shí)踐;改革傳統(tǒng)的課程考核方式,增加過(guò)程管理和能力考核。通過(guò)以上的課程教學(xué)改革措施,適應(yīng)國(guó)家對(duì)“新工科”人才培養(yǎng)模式的需求,使計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)學(xué)生具備解決復(fù)雜工程問(wèn)題的能力和實(shí)踐創(chuàng)新能力,力圖達(dá)到“新工科”建設(shè)所要求的目標(biāo)。