王春梅 王曙燕 黃茹
關(guān)鍵詞:系統(tǒng)能力;個(gè)性化;混合式教學(xué);層次化;深度學(xué)習(xí)
0 引言
編譯原理課程是計(jì)算機(jī)類大三開設(shè)的專業(yè)核心課,內(nèi)容涵蓋編譯系統(tǒng)各組成部分設(shè)計(jì)原理和實(shí)現(xiàn)技術(shù),編譯程序自動(dòng)生成工具、自動(dòng)機(jī)理論、數(shù)據(jù)流分析、反編譯技術(shù)等新技術(shù)領(lǐng)域中的關(guān)鍵知識(shí)。旨在讓學(xué)生掌握編譯器的構(gòu)造原理和設(shè)計(jì)方法的同時(shí),提高對(duì)計(jì)算機(jī)的系統(tǒng)認(rèn)識(shí),強(qiáng)化系統(tǒng)能力以及計(jì)算機(jī)復(fù)雜工程問題的解決能力。
1 主要面臨的教學(xué)問題
1) 求解復(fù)雜工程問題的系統(tǒng)能力不足
“編譯系統(tǒng)”是一個(gè)具有一定規(guī)模和復(fù)雜度的系統(tǒng),學(xué)生很難深入、全面地站在系統(tǒng)層面了解編譯器的系統(tǒng)性知識(shí)體系構(gòu)成,無(wú)法將涉及的各類算法進(jìn)行整合、調(diào)試和運(yùn)行[1],不利于學(xué)生解決復(fù)雜工程問題的系統(tǒng)能力培養(yǎng)。
2) 抽象的理論內(nèi)容難以與系統(tǒng)知識(shí)有機(jī)整合
編譯原理相關(guān)理論寬且深,涉及的理論內(nèi)容抽象復(fù)雜難以理解,傳統(tǒng)的教學(xué)方法很難讓學(xué)生理解理論內(nèi)容與系統(tǒng)知識(shí)的關(guān)聯(lián),學(xué)生很容易停留在知識(shí)本身的記憶,無(wú)法真正明白計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的工作原理,并將相關(guān)系統(tǒng)知識(shí)有機(jī)整合[2]。
3) 個(gè)性化學(xué)習(xí)需求不能被充分滿足
編譯所涉及的問題形式化描述及其系統(tǒng)的復(fù)雜性,即使學(xué)生已經(jīng)掌握了基本問題的求解方法和處理思路,由于前期學(xué)習(xí)導(dǎo)致學(xué)生專業(yè)能力參差不齊,在進(jìn)行實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)時(shí),實(shí)踐教學(xué)無(wú)法充分滿足學(xué)生個(gè)性化發(fā)展與學(xué)習(xí)需求。
2 創(chuàng)新思路
遵循OBE工程教育理念,以教師為主導(dǎo)、學(xué)生為主體,依托本課程在中國(guó)大學(xué)MOOC建設(shè)的線上資源,實(shí)施“MOOC+翻轉(zhuǎn)課堂+討論”的教學(xué)模式,面向?qū)W生系統(tǒng)能力培養(yǎng),以Clang+LLVM編譯器實(shí)例化教學(xué)內(nèi)容,拓展方舟編譯器、并行編譯基礎(chǔ)等,抽象內(nèi)容形象化,因材施教分層實(shí)踐,開展研究型學(xué)習(xí)等,如圖1所示,采用課前設(shè)問、課中探究、課后研討、動(dòng)手實(shí)踐、創(chuàng)新發(fā)展5環(huán)節(jié)系統(tǒng)教學(xué)法,依托中國(guó)大學(xué)MOOC等平臺(tái)提供開放式討論,利用現(xiàn)代化智慧教學(xué)平臺(tái)、工具進(jìn)行搶答、選人、課堂測(cè)試等多元化互動(dòng),使學(xué)生增加學(xué)習(xí)興趣的同時(shí),更容易深入理解和清晰把握課程知識(shí)點(diǎn)和具體應(yīng)用,課后完成實(shí)驗(yàn)、拓展練習(xí)等,實(shí)現(xiàn)智慧平臺(tái)下多維互動(dòng)的混合教學(xué)新方法。
3 創(chuàng)新方法與途徑
3.1 面向系統(tǒng)能力的實(shí)例化教學(xué)
如圖2所示,以Clang+LLVM輕量級(jí)編譯器為整體系統(tǒng)架構(gòu),架構(gòu)中相對(duì)獨(dú)立的子模塊針對(duì)編譯過程不同子過程,從整體到局部,為學(xué)生提供全局系統(tǒng)概念的同時(shí)使學(xué)生掌握編譯系統(tǒng)各階段的功能,促進(jìn)學(xué)生理解編譯器整體框架及編譯一般流程,鍛煉學(xué)生分析、解決問題以及優(yōu)化編譯算法的能力,同時(shí)提升學(xué)生系統(tǒng)設(shè)計(jì)能力[3]。
3.2 針對(duì)抽象理論內(nèi)容的形象化教學(xué)
結(jié)合形象化教學(xué),使學(xué)生更直觀地理解和接受課程中抽象難以理解的理論內(nèi)容。例如在講目標(biāo)代碼在內(nèi)存中存放和執(zhí)行的過程,如表1所示,展示了目標(biāo)代碼生成與運(yùn)行時(shí)的存儲(chǔ)組織原理,同時(shí)把計(jì)算機(jī)組成原理與操作系統(tǒng)中關(guān)于程序執(zhí)行的內(nèi)容與“編譯原理”課程進(jìn)行有機(jī)整合,形象、生動(dòng)、直觀[4]。
3.3 滿足個(gè)性化發(fā)展的分層實(shí)踐
根據(jù)個(gè)人學(xué)習(xí)能力和需求,選擇不同的操作系統(tǒng),不同的設(shè)計(jì)語(yǔ)言,手動(dòng)生成或自動(dòng)生成工具,實(shí)施滿足學(xué)生個(gè)性化學(xué)習(xí)發(fā)展需求的分層實(shí)踐。
第一層——驗(yàn)證性實(shí)驗(yàn)?;诓煌绦蛟O(shè)計(jì)語(yǔ)言的分析過程及結(jié)果,驗(yàn)證體會(huì)他們的編譯過程。
第二層——設(shè)計(jì)性實(shí)驗(yàn)。通過設(shè)計(jì)、編寫并調(diào)試詞法分析器,選擇不同語(yǔ)法分析方法設(shè)計(jì)語(yǔ)法分析器,完成詞法、語(yǔ)法分析的設(shè)計(jì)性實(shí)驗(yàn)。
第三層——分析性實(shí)驗(yàn)。通過對(duì)語(yǔ)法制導(dǎo)翻譯原理的理解,完成語(yǔ)義分析實(shí)驗(yàn),理解識(shí)別出的各種語(yǔ)法成分變換為中間代碼的語(yǔ)義翻譯方法。
第四層——綜合性實(shí)驗(yàn)。以編譯的基本原理和技術(shù)為基礎(chǔ),結(jié)合數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、匯編語(yǔ)言等課程,設(shè)計(jì)完成針對(duì)某一種語(yǔ)言的編譯器[5],提升程序設(shè)計(jì)能力,加強(qiáng)系統(tǒng)設(shè)計(jì)能力。
3.4 促進(jìn)深度學(xué)習(xí)的多任務(wù)課外研討
將教學(xué)過程中無(wú)法涵蓋和講授的課程內(nèi)容進(jìn)行概括和引導(dǎo),提供給學(xué)生課后自主進(jìn)行開放式研究和深度學(xué)習(xí)。如實(shí)驗(yàn)項(xiàng)目中實(shí)驗(yàn)型語(yǔ)言的擴(kuò)充、錯(cuò)誤的檢測(cè)與處理、符號(hào)表的管理等,在學(xué)習(xí)了理論基礎(chǔ)、原理方法之后,尤其是理解和掌握了編譯程序設(shè)計(jì)思想后,這些內(nèi)容的學(xué)習(xí)完全可以通過自學(xué)完成,特別感興趣的學(xué)生,還可以進(jìn)一步研究編譯在自然語(yǔ)言處理等相關(guān)領(lǐng)域的應(yīng)用。
組織學(xué)生建立課外興趣小組,互相討論和學(xué)習(xí)相關(guān)技術(shù),定期進(jìn)行交流研討。例如,通過分析UCC/GCC編譯器源代碼并加寫注釋,每?jī)芍芴峤灰淮螌W(xué)習(xí)筆記等方式,使學(xué)生掌握優(yōu)秀編譯器的實(shí)現(xiàn)過程。團(tuán)隊(duì)完成大作業(yè),并組織講解設(shè)計(jì)思路、源代碼以及運(yùn)行結(jié)果,提升學(xué)生的團(tuán)隊(duì)合作以及溝通表能力。
3.5 全過程多元考核與評(píng)價(jià)
基于“學(xué)本評(píng)價(jià)”[6],依托中國(guó)大學(xué)MOOC、超星學(xué)習(xí)通,結(jié)合過程性評(píng)價(jià)與期中、期末的結(jié)果性評(píng)價(jià),利用組間、組內(nèi)、自我以及教師、助教評(píng)價(jià)等方式,考評(píng)覆蓋學(xué)習(xí)全過程[7],如表2。由于編譯課程具有紛繁復(fù)雜的知識(shí)點(diǎn),因此對(duì)知識(shí)點(diǎn)的考核以促進(jìn)學(xué)生主動(dòng)學(xué)習(xí)、研究性學(xué)習(xí)為目的,注重對(duì)學(xué)習(xí)過程的考查。通過課堂討論、上講臺(tái)活動(dòng)、實(shí)驗(yàn)驗(yàn)收答辯、學(xué)生的自評(píng)與互評(píng)、提交階段性學(xué)習(xí)報(bào)告、“一頁(yè)紙”半開卷形式等多種方式進(jìn)行考核評(píng)價(jià)。
4 創(chuàng)新成效
如圖3第一期計(jì)科2016級(jí)試點(diǎn)3個(gè)班比非試點(diǎn)4個(gè)班的期末和總評(píng)均高近2分;第二期由于2020年疫情的原因,2017級(jí)均采用線上教學(xué)以及線上考試的方式;如圖4第三期計(jì)科2018級(jí)相較計(jì)科2016級(jí)試點(diǎn)班,期末成績(jī)高出4.6分,但由于加大平時(shí)過程考核后,總評(píng)僅高0.6分;如圖5軟件2018級(jí)試點(diǎn)班相較2016級(jí)非試點(diǎn)班,期末和總評(píng)成績(jī)均高出近6分;如圖6計(jì)科、軟件2018級(jí)試點(diǎn)班的優(yōu)秀率占比較2017級(jí)線上教學(xué)有所提升。滿足學(xué)生個(gè)性化、多元化、創(chuàng)新性的學(xué)習(xí)需求的同時(shí)穩(wěn)步提升學(xué)生解決復(fù)雜工程問題的系統(tǒng)能力。
課程2018年3月上線學(xué)堂在線平臺(tái),開設(shè)隨堂模式和自主模式,現(xiàn)已開設(shè)7期,累計(jì)選課人數(shù)近0.7萬(wàn);2018年9月上線中國(guó)大學(xué)MOOC,開設(shè)6期,累計(jì)選課人數(shù)近2.5萬(wàn),包括視頻53講,單元測(cè)試120道,結(jié)業(yè)考試一套,討論話題及其他資源23個(gè);2020年在學(xué)銀在線建立“示范教學(xué)包”,目前有161所學(xué)校、210位老師引用,410個(gè)班級(jí)、9507位學(xué)生使用。
5 結(jié)束語(yǔ)
目前針對(duì)復(fù)雜工程問題解決的系統(tǒng)能力的評(píng)價(jià)、考核方法以及系統(tǒng)能力的教學(xué)與指導(dǎo)方法還需要進(jìn)一步探索。另外,教學(xué)改革中對(duì)學(xué)生的工程能力培養(yǎng)欠缺,今后需要將工程能力培養(yǎng)融入學(xué)習(xí)過程中,否則會(huì)出現(xiàn)由于工程難度增加導(dǎo)致實(shí)驗(yàn)完成率低等問題[8]。最后,地方高校大班教學(xué)普遍存在,如何在大班有效實(shí)施混合式教學(xué)也需要關(guān)注和探索。