李學(xué)輝,劉三榮,張 強(qiáng)
(棗莊學(xué)院信息科學(xué)與工程學(xué)院,山東棗莊 277160)
計(jì)算機(jī)技術(shù)已從初期的科學(xué)計(jì)算及信息處理進(jìn)入到以物聯(lián)網(wǎng)、移動(dòng)互聯(lián)、大數(shù)據(jù)與云計(jì)算為主要特征的新時(shí)代,新的商業(yè)模式和應(yīng)用依賴于各類復(fù)雜的硬件系統(tǒng)和軟件系統(tǒng)。創(chuàng)新是計(jì)算機(jī)行業(yè)人才的一致追求[1],實(shí)踐創(chuàng)新培養(yǎng)模式對物聯(lián)網(wǎng)專業(yè)的人才培養(yǎng)具有十分重要的意義。工程教育認(rèn)證要求學(xué)生具有針對復(fù)雜工程問題設(shè)計(jì)解決方案的能力[2]。嵌入式系統(tǒng)設(shè)計(jì)涉及到計(jì)算機(jī)、電子、網(wǎng)絡(luò)、通信等諸多專業(yè)知識(shí),是一門多學(xué)科交叉的綜合性課程,該課程突出特點(diǎn)是軟硬件緊密結(jié)合,是訓(xùn)練軟硬件綜合設(shè)計(jì)的良好載體。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,該課程已成為計(jì)算機(jī)、自動(dòng)化和電子等專業(yè)重點(diǎn)建設(shè)課程[3]。
嵌入式系統(tǒng)課程具有很強(qiáng)的工程性、系統(tǒng)性和應(yīng)用性,具有軟硬件結(jié)合特性,實(shí)踐性很強(qiáng)。為培養(yǎng)學(xué)生軟硬件綜合設(shè)計(jì)和開發(fā)能力,許多高校相繼開設(shè)了該課程[4],但是多數(shù)高校以講授加固定實(shí)驗(yàn)的方式教授本課程,不能有效提高學(xué)生的工程實(shí)踐能力。無論是傳統(tǒng)的教師課堂講授還是MOOC 線上教學(xué)都是重理論輕應(yīng)用,如何整合線下課堂和線上MOOC 優(yōu)勢[5]提升學(xué)生的綜合實(shí)踐能力,許斌等[6]提出引入雙階段目標(biāo)行為導(dǎo)向法,分層次、分階段培養(yǎng)學(xué)生應(yīng)用各類型基礎(chǔ)知識(shí)解決實(shí)際問題的能力。這種方法對純軟件開發(fā)課程效果較好,但對于嵌入式系統(tǒng)開發(fā)這種軟硬結(jié)合、知識(shí)點(diǎn)廣泛的課程效果不夠明顯。嵌入式系統(tǒng)設(shè)計(jì)課程的目的是提升學(xué)生的工程實(shí)踐能力,但是當(dāng)前課程的講授方式不利于學(xué)生工程實(shí)踐能力提升。
嵌入式系統(tǒng)課程內(nèi)容非常廣泛[7],既包括理論又包括實(shí)踐;不僅包括軟開發(fā)還包括硬件開發(fā),以及軟硬件開發(fā)過程的調(diào)試技能。其中硬件開發(fā)知識(shí)包括繪制原理圖、layout 板位圖、布線、處理器及設(shè)備選型、硬件調(diào)試等;軟件開發(fā)包括驅(qū)動(dòng)開發(fā)、軟件系統(tǒng)設(shè)計(jì)、應(yīng)用程序開發(fā)、系統(tǒng)API 等,軟件開發(fā)相關(guān)技能包括內(nèi)核編譯、模塊編譯、修改及編寫makefile、模塊加載及卸載、文件系統(tǒng)、交叉編譯、系統(tǒng)調(diào)用等;系統(tǒng)調(diào)試過程涉及眾多開發(fā)工具使用,其中硬件開發(fā)工具包括J-link、串口、示波器、萬用表等;軟件開發(fā)工具包括MDK、Keil、ADS、VMWare 等。多數(shù)高校都是將其作為一門課講授,沒有先導(dǎo)課程和后續(xù)課程,導(dǎo)致該課程出現(xiàn)知識(shí)量豐富而課時(shí)有限的問題。
嵌入式系統(tǒng)設(shè)計(jì)課程將操作系統(tǒng)原理、應(yīng)用程序開發(fā)與調(diào)試、硬件結(jié)構(gòu)和接口驅(qū)動(dòng)設(shè)計(jì)等多部分內(nèi)容融為一體,知識(shí)點(diǎn)廣而繁雜,課程難度大,教材內(nèi)容也相應(yīng)分成幾個(gè)部分,各部分之間關(guān)聯(lián)性較小。教材每一部分知識(shí)點(diǎn)一般是從簡單到復(fù)雜,循序漸進(jìn)安排,同類知識(shí)放在一個(gè)章節(jié),知識(shí)內(nèi)容的相關(guān)性即基礎(chǔ)相關(guān)性較強(qiáng),但是工程關(guān)聯(lián)性較弱。從工程的角度看,這些知識(shí)單一、零散,幾乎沒有任何關(guān)系。按照教材順序講授只能零散完成各個(gè)知識(shí)點(diǎn)講解,無法使學(xué)生整體認(rèn)識(shí)及有效理解知識(shí)點(diǎn)之間的關(guān)系,無法將知識(shí)點(diǎn)關(guān)聯(lián)綜合應(yīng)用。
當(dāng)前課程實(shí)驗(yàn)都是在實(shí)驗(yàn)箱上進(jìn)行,每節(jié)實(shí)驗(yàn)都是驗(yàn)證上節(jié)理論課所學(xué)知識(shí)點(diǎn),通過實(shí)驗(yàn)使學(xué)生更直觀地理解理論知識(shí),學(xué)生按照實(shí)驗(yàn)指導(dǎo)按部就班一步步完成。每個(gè)實(shí)驗(yàn)功能單一,知識(shí)關(guān)聯(lián)性弱。如講授GPIO 理論知識(shí)之后,會(huì)有一個(gè)點(diǎn)亮LED 燈的實(shí)驗(yàn),該實(shí)驗(yàn)?zāi)康膬H僅是為了驗(yàn)證GPIO 的功能及最簡單的使用方法,但是項(xiàng)目中更復(fù)雜的情況例如使能芯片,使用GPIO 控制一對多的SPI 通信等工程中最常見的GPIO 應(yīng)用都沒有涉及。學(xué)生不能整體理解所學(xué)知識(shí)點(diǎn)在整個(gè)項(xiàng)目中的作用,學(xué)習(xí)效果不好。
MOOC 作為一種新型的網(wǎng)絡(luò)教學(xué)模式,以課程易于使用、工具資源多樣化、課程受眾面廣等特點(diǎn)備受青睞,同時(shí)讓學(xué)習(xí)者公平享受優(yōu)質(zhì)的教學(xué)資源,彌補(bǔ)了線下課堂教學(xué)的不足[8-9]。嵌入式系統(tǒng)設(shè)計(jì)知識(shí)體系龐大而課時(shí)較少,為充分利用課堂時(shí)間,部分理論知識(shí)、實(shí)驗(yàn)演示等各個(gè)知識(shí)點(diǎn)錄制成短視頻放到MOOC 上;學(xué)生課下通過MOOC 學(xué)習(xí),使傳統(tǒng)課堂知識(shí)點(diǎn)講授移到課前[10]。課堂采用翻轉(zhuǎn)課堂方式,督促學(xué)生課下學(xué)習(xí)[11]。
理論知識(shí)分成較難的原理性知識(shí)及較易的應(yīng)用性知識(shí)兩類,較易的應(yīng)用性知識(shí)點(diǎn)采用翻轉(zhuǎn)課堂,原理性知識(shí)點(diǎn)采用教師講授。實(shí)驗(yàn)課每個(gè)小組完成工程項(xiàng)目的不同功能,實(shí)驗(yàn)開始前教師先從總體上介紹整個(gè)項(xiàng)目功能,分配實(shí)驗(yàn)任務(wù),然后每個(gè)小組理解各自實(shí)驗(yàn)在整個(gè)項(xiàng)目中的作用并完成實(shí)驗(yàn),實(shí)驗(yàn)完成后每個(gè)小組進(jìn)行講解,學(xué)生對項(xiàng)目整體有更深理解。課堂組織流程如圖1 所示。
圖1 課堂組織思維流程
以整體項(xiàng)目的自動(dòng)調(diào)節(jié)屏幕亮度這一功能為例,實(shí)驗(yàn)涉及到光照傳感器、LCD 顯示,在傳感器控制中涉及到I2C通信、GPIO 控制、驅(qū)動(dòng)開發(fā);在LCD 顯示中涉及LCD 顯示原理、LCD 背光控制、PWM 原理。I2C 協(xié)議、GPIO 原理以及LCD 顯示原理是較難的知識(shí)點(diǎn),這部分教師講授;PWM概念、PWM 控制、LCD 背光控制、GPIO 使用這些知識(shí)相對容易,使用翻轉(zhuǎn)課堂形式學(xué)習(xí)。每個(gè)學(xué)生講授一部分知識(shí),如果講述過程中有錯(cuò)誤或者描述不清楚的地方,教師記錄下來并在學(xué)生講完后重講。講授完后通過提問了解課堂反饋,最后串聯(lián)這些知識(shí)點(diǎn)并說明其在項(xiàng)目中的應(yīng)用。實(shí)驗(yàn)課上教師先把自動(dòng)調(diào)節(jié)屏幕亮度這一功能分解成多個(gè)模塊,例如I2C 通信模塊、光感傳感器控制模塊、PWM 生成模塊、LCD 背光控制模塊、GPIO 控制模塊等,每個(gè)小組完成一個(gè)模塊。每個(gè)小組完成后自行驗(yàn)證、演示。如果有問題由教師指導(dǎo)修改,并再次驗(yàn)證或演示,各小組講述實(shí)驗(yàn)。最后,教師指導(dǎo)合并所有小組實(shí)驗(yàn),完成整個(gè)實(shí)驗(yàn)。
工程項(xiàng)目作為案例,可以培養(yǎng)學(xué)生發(fā)現(xiàn)、分析、解決問題的創(chuàng)造性思維[12]。項(xiàng)目教學(xué)具有很強(qiáng)的綜合性與實(shí)踐性[13],使用完備的項(xiàng)目進(jìn)行教學(xué),調(diào)整教材知識(shí)點(diǎn)順序,將工程中相關(guān)聯(lián)的知識(shí)點(diǎn)調(diào)整到一起講授,一次課講授的知識(shí)點(diǎn)能夠完成項(xiàng)目的某一個(gè)或某幾個(gè)功能,一次實(shí)驗(yàn)完成項(xiàng)目的某一個(gè)或某幾個(gè)小的關(guān)聯(lián)性強(qiáng)的項(xiàng)目功能,最終多個(gè)實(shí)驗(yàn)組合完成項(xiàng)目所有功能,同時(shí)講授完所有知識(shí)點(diǎn)。通過對一個(gè)項(xiàng)目功能的增刪以及適當(dāng)修改,可以把嵌入式方向各個(gè)知識(shí)點(diǎn)串聯(lián)起來,通過具體應(yīng)用使學(xué)生形成整體清晰的知識(shí)脈絡(luò)。項(xiàng)目作為理論教學(xué)主體的流程如圖2所示。
圖2 項(xiàng)目教學(xué)流程
首先選擇適當(dāng)項(xiàng)目。選取市立醫(yī)院用藥系統(tǒng)信息采集器,以該信息采集器開發(fā)作為項(xiàng)目實(shí)例。對采集器功能進(jìn)行一定的增刪及修改,例如增加自動(dòng)調(diào)節(jié)屏幕亮度、刪除語音控制功能、剝離并獨(dú)立每個(gè)功能、簡化部分功能等,使其適合學(xué)生實(shí)驗(yàn)。然后分解整個(gè)項(xiàng)目,分別講解各部分功能,根據(jù)項(xiàng)目功能調(diào)整知識(shí)點(diǎn)講授順序,按照調(diào)整后的順序講授相關(guān)知識(shí)點(diǎn)原理及應(yīng)用方法;講授完原理及應(yīng)用方法之后,再把知識(shí)點(diǎn)結(jié)合到項(xiàng)目中,舉例項(xiàng)目中的應(yīng)用,最后將各個(gè)功能整合為整個(gè)項(xiàng)目,并根據(jù)知識(shí)點(diǎn)應(yīng)用進(jìn)行延伸。
原來的實(shí)驗(yàn)都是驗(yàn)證所學(xué)知識(shí)點(diǎn),學(xué)生無法直接理解所學(xué)知識(shí)點(diǎn)在實(shí)際工程中的應(yīng)用,而工程項(xiàng)目作為實(shí)驗(yàn)可使學(xué)生運(yùn)用所學(xué)知識(shí)開發(fā)項(xiàng)目某部分功能,快速了解各知識(shí)點(diǎn)在項(xiàng)目中的作用,理清開發(fā)流程。通過做中學(xué)的方式,一方面提高學(xué)生的工程能力,另一方面激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生更喜歡學(xué)。每次實(shí)驗(yàn)完成項(xiàng)目的一部分功能,同時(shí)驗(yàn)證相關(guān)知識(shí)點(diǎn),進(jìn)行項(xiàng)目教學(xué)符合工程教育理念。
以前述自動(dòng)調(diào)整屏幕亮度作為實(shí)驗(yàn)為例,學(xué)生首先要通過原理圖查看LCD 使用timer 的PWM,光感傳感器使用I2C 和GPIO,其次開發(fā)驅(qū)動(dòng)控制光傳感器及timer,最后開發(fā)應(yīng)用程序。該項(xiàng)目用到的知識(shí)點(diǎn)包括原理圖閱讀、驅(qū)動(dòng)開發(fā)、驅(qū)動(dòng)加載、內(nèi)核編譯、下載及調(diào)試、應(yīng)用開發(fā)、Linux系統(tǒng)框架及原理、系統(tǒng)API、交叉編譯、應(yīng)用程序安裝等一系列知識(shí)。本實(shí)驗(yàn)涉及的理論知識(shí)點(diǎn)有:I2C 通信原理、GPIO 控制及原理、LCD 背光控制原理、LCD 顯示原理以及PWM 控制原理。通過實(shí)驗(yàn),學(xué)生不僅掌握了這些知識(shí)點(diǎn)原理,而且直觀了解了這些知識(shí)點(diǎn)在項(xiàng)目中的應(yīng)用,以及在項(xiàng)目中如何開發(fā)。項(xiàng)目知識(shí)點(diǎn)如圖3 所示。
圖3 項(xiàng)目知識(shí)點(diǎn)
為檢驗(yàn)改革效果,對2017、2016 和2015 級物聯(lián)網(wǎng)專業(yè)及智能物聯(lián)專業(yè)學(xué)生的成績及課程設(shè)計(jì)得分情況進(jìn)行對比。其中2017 級物聯(lián)專業(yè)及智能物聯(lián)專業(yè)使用改革后的項(xiàng)目教學(xué),2016、2015 級物聯(lián)網(wǎng)專業(yè)及智能物聯(lián)專業(yè)使用改革前按照教材順序按部就班的教學(xué)方式。
將2017 級與2016 和2015 級學(xué)生總成績各分?jǐn)?shù)段對比,統(tǒng)計(jì)各分?jǐn)?shù)段占總?cè)藬?shù)的比例,對比結(jié)果如圖4 所示(彩圖掃描OSID 碼可見)。
圖4 學(xué)習(xí)成績對比
本課程各年級學(xué)生人數(shù)分別為:2017 級85 人,2016級88 人,2015 級86 人。從對比結(jié)果可以看出,相對2016級及2015 級,2017 級高分學(xué)生數(shù)量明顯較多,其中90 分以上占比分別提高8.2% 和5.9%,80-90 分占比分別提高23.0% 和24.3%,低分中60-70 分的分別減少6.2% 和7.9%,不及格占比分別降低3.2% 和4.6%。3 個(gè)年級平均成績:2017 級為84.9 分,2016 級為74.5 分,2015 級為73.4分,從平均成績看2017 級比2016 級和2015 級分別高出10.4 分和11.5 分。
課程設(shè)計(jì)比卷面考試更能反映學(xué)生工程實(shí)踐能力,本門課期末考核方式為課程設(shè)計(jì)。對課程設(shè)計(jì)每個(gè)評分項(xiàng)進(jìn)行詳細(xì)對比,評分標(biāo)準(zhǔn)及占比如下:①項(xiàng)目功能點(diǎn)15%;②每個(gè)功能完成情況10%;③項(xiàng)目復(fù)雜度10%;④項(xiàng)目整體完整度35%;⑤項(xiàng)目創(chuàng)新性15%;⑥項(xiàng)目實(shí)用性15%??偡?00 分,各項(xiàng)100 分。各項(xiàng)平均成績具體對比情況如圖5 所示(彩圖掃描OSID 碼可見)。
圖5 課程設(shè)計(jì)各項(xiàng)平均成績
相對2016 級和2015 級課程設(shè)計(jì),2017 級學(xué)生課程設(shè)計(jì)復(fù)雜度分別提高了17.6 和16.3 分,完整度方面分別提高12.3 和13.4 分,實(shí)用性方面分別提高了13.2 和14.4分;期末平均成績分別提高了8.7 和9.6 分。并且2017 級學(xué)生課程設(shè)計(jì)中,有部分作品完成了商用項(xiàng)目中較獨(dú)立、完整的功能,學(xué)生動(dòng)手能力得到明顯提高。
針對嵌入式系統(tǒng)設(shè)計(jì)課程知識(shí)點(diǎn)多,教學(xué)方式不利于培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力的情況,本文通過翻轉(zhuǎn)課堂、項(xiàng)目教學(xué)等教學(xué)手段提高學(xué)生的工程實(shí)踐能力。通過對比發(fā)現(xiàn)學(xué)生的成績改革后比改革前有明顯提高,動(dòng)手能力明顯增強(qiáng)。但是,該教學(xué)方式需要占用學(xué)生更多的課下時(shí)間,教師需要花費(fèi)更多時(shí)間了解新項(xiàng)目以應(yīng)對技術(shù)更新及新技術(shù)發(fā)展,在提高教學(xué)效率、減輕學(xué)生負(fù)擔(dān)方面還有待繼續(xù)研究。