劉禹鋒 楊帆 劉健
摘要:以學(xué)生科學(xué)思維培養(yǎng)為目標(biāo),對(duì)《編譯原理》課程的教學(xué)改革進(jìn)行了研究。在課程知識(shí)體系方面,將課程各章節(jié)中涉及的形式化方法進(jìn)行“體系化”融合,并增加其在軟件工程、模式識(shí)別、自然語言理解、生物信息學(xué)等學(xué)科領(lǐng)域中擴(kuò)展應(yīng)用的內(nèi)容。在教學(xué)模式方面,從培養(yǎng)目標(biāo)與方式、教學(xué)與考核方式上進(jìn)行了全面的調(diào)整。教學(xué)實(shí)踐發(fā)現(xiàn),基于調(diào)整后的知識(shí)體系和教學(xué)模式開展教學(xué),學(xué)生的科學(xué)思維得到了有效培養(yǎng)。
關(guān)鍵詞:編譯原理;科學(xué)思維培養(yǎng);形式化方法;課程知識(shí)體系;教學(xué)模式
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)06-0144-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1引言
隨著深度學(xué)習(xí)、區(qū)塊鏈等熱門研究領(lǐng)域的迅速發(fā)展,相應(yīng)行業(yè)內(nèi)部的競(jìng)爭(zhēng)日益激烈,對(duì)從業(yè)人員的綜合能力提出了較高的挑戰(zhàn)。在此背景下,高校不僅需要培養(yǎng)學(xué)生扎實(shí)的理論基礎(chǔ)與實(shí)踐技能,還要根據(jù)學(xué)生的實(shí)際情況培養(yǎng)一定的科研思維,使其能夠?qū)χR(shí)點(diǎn)融會(huì)貫通,將歸納、演繹等科學(xué)思想深化落實(shí)到具體的問題解決中,掌握終身學(xué)習(xí)能力,從而有效應(yīng)對(duì)目前以及將來的各種技術(shù)浪潮?!毒幾g原理》課程是計(jì)算機(jī)相關(guān)專業(yè)中的一門重要基礎(chǔ)課程,具有較強(qiáng)的理論性和綜合性,其知識(shí)體系可以較好地培養(yǎng)學(xué)生的抽象思維能力以及復(fù)雜問題解決能力[1]。然而,由于課程具有抽象性高,關(guān)聯(lián)知識(shí)多[2],算法難以理解[3]等特點(diǎn),《編譯原理》也被看作計(jì)算機(jī)相關(guān)專業(yè)中“教難、學(xué)難、實(shí)驗(yàn)更難”[4]的一門課程。此外,《編譯原理》課程在具備高度理論性與抽象性的同時(shí)也是一門綜合性較強(qiáng)的課程,具有非常廣的知識(shí)范圍[5],其中的每個(gè)知識(shí)點(diǎn)均與其他課程甚至其他學(xué)科領(lǐng)域有所關(guān)聯(lián),而傳統(tǒng)《編譯原理》課程中缺乏這種關(guān)聯(lián)性內(nèi)容的傳授,忽略了對(duì)學(xué)生思維能力的培養(yǎng)[6],導(dǎo)致學(xué)生在掌握了課程知識(shí)后由于不了解其實(shí)際價(jià)值,錯(cuò)誤地認(rèn)為課程缺乏實(shí)用性[7]而缺乏學(xué)習(xí)與鉆研的興趣和動(dòng)力。針對(duì)這些問題,本文以科學(xué)思維培養(yǎng)為目標(biāo),從課程知識(shí)體系優(yōu)化以及教學(xué)模式調(diào)整兩個(gè)方面對(duì)《編譯原理》課程進(jìn)行教學(xué)改革,在實(shí)踐教學(xué)中取得了一定的成效。總體而言,本文結(jié)構(gòu)安排如下:第二節(jié)和第三節(jié)分別介紹了《編譯原理》課程知識(shí)體系優(yōu)化和教學(xué)模式調(diào)整方面的內(nèi)容;第四節(jié)介紹了課程改革的初步成效;最后對(duì)全文進(jìn)行了總結(jié),并對(duì)今后的研究進(jìn)行了展望。
2知識(shí)體系優(yōu)化
《編譯原理》的理論基礎(chǔ)是喬姆斯基所建立的形式語言學(xué),其通過形式化方法為語言的語法結(jié)構(gòu)與語義模型提供了規(guī)范而嚴(yán)謹(jǐn)?shù)拿枋鍪侄巍R孕问交椒榛A(chǔ),本節(jié)對(duì)《編譯原理》課程進(jìn)行知識(shí)體系的調(diào)整和優(yōu)化,使原本穿插在各個(gè)章節(jié)中的形式化方法從“碎片化”走向“體系化”。具體而言,在詞法分析、語法分析、語義分析等知識(shí)點(diǎn)中提取出與形式化方法相關(guān)聯(lián)的概念,并對(duì)這些概念進(jìn)行系統(tǒng)化總結(jié)。此外,在課程知識(shí)體系中增加一部分關(guān)于形式化方法在軟件工程、模式識(shí)別、自然語言理解、生物信息學(xué)等學(xué)科領(lǐng)域中應(yīng)用的內(nèi)容。如圖1所示,左圖描述了傳統(tǒng)《編譯原理》課程的知識(shí)體系,主要包括了編譯器開發(fā)的各個(gè)環(huán)節(jié),右圖虛線框內(nèi)是課程新知識(shí)體系所補(bǔ)充的內(nèi)容。課程知識(shí)體系的這種調(diào)整一方面可以激發(fā)學(xué)生對(duì)《編譯原理》課程的興趣,使學(xué)生了解編譯技術(shù)背后的理論基礎(chǔ),更深入地理解計(jì)算機(jī)學(xué)科各知識(shí)點(diǎn)之間的脈絡(luò)關(guān)系,另一方面可以有效地拓寬學(xué)生的知識(shí)面,使學(xué)生理解跨領(lǐng)域、跨學(xué)科應(yīng)用的思維方法。
3 教學(xué)模式調(diào)整
教學(xué)模式調(diào)整是課程教學(xué)改革的主體內(nèi)容之一。本文從培養(yǎng)目標(biāo)、培養(yǎng)方式、教學(xué)方式以及考核方式四個(gè)方面討論《編譯原理》課程教學(xué)模式上的改革內(nèi)容,涵蓋了一門專業(yè)主干課程在教學(xué)模式改革上所涉及的不同維度。圖2給出了《編譯原理》課程的傳統(tǒng)教學(xué)模式與改革后教學(xué)模式的對(duì)比。從兩者的對(duì)比上可以看出,改革后的教學(xué)模式在吸取了傳統(tǒng)教學(xué)模式可取之處的基礎(chǔ)上以科學(xué)思維培養(yǎng)為目的進(jìn)行了較為全面的調(diào)整。下面對(duì)主要調(diào)整內(nèi)容進(jìn)行介紹。
3.1 培養(yǎng)目標(biāo)
《編譯原理》課程的傳統(tǒng)培養(yǎng)目標(biāo)主要是使學(xué)生理解編譯技術(shù),并培養(yǎng)其使用編譯技術(shù)進(jìn)行編譯器開發(fā)的能力。在改革后的教學(xué)模式中,培養(yǎng)目標(biāo)更加注重知識(shí)的系統(tǒng)化,并充分考慮系統(tǒng)化知識(shí)和實(shí)際工程應(yīng)用之間的關(guān)聯(lián)性,基于清晰明朗的知識(shí)脈絡(luò)使培養(yǎng)目的更加科學(xué)明確,即科學(xué)思維建立以及編程實(shí)踐能力培養(yǎng)的有機(jī)融合。
3.2 培養(yǎng)方式
《編譯原理》課程知識(shí)點(diǎn)具有較高的抽象性,學(xué)生學(xué)科基礎(chǔ)和接受能力有所不同,因此在改革后的教學(xué)模式中使用分層培養(yǎng)的方式進(jìn)行教學(xué)開展。對(duì)于基礎(chǔ)較為薄弱的學(xué)生,以編譯器前后端知識(shí)為主要教學(xué)內(nèi)容,重點(diǎn)考查學(xué)生對(duì)基本概念的掌握情況,保證每個(gè)學(xué)生在課程結(jié)束時(shí)都具有小型編譯器的開發(fā)能力。在這部分學(xué)生而言,擴(kuò)展知識(shí)中的形式化理論及其與其他學(xué)科的交叉應(yīng)用方面的作用在于其對(duì)于知識(shí)脈絡(luò)的強(qiáng)化以及對(duì)科學(xué)思維的初步了解;對(duì)于基礎(chǔ)比較扎實(shí)的學(xué)生,在掌握編譯器前后端知識(shí)的前提下,鼓勵(lì)其對(duì)所學(xué)理論知識(shí)進(jìn)行進(jìn)一步的總結(jié)和思考,嘗試對(duì)現(xiàn)有方法進(jìn)行改進(jìn),編程方面可實(shí)現(xiàn)相應(yīng)的交叉應(yīng)用,吸納學(xué)有余力的學(xué)生進(jìn)入相應(yīng)實(shí)驗(yàn)室中開展具體研究。
3.3教學(xué)方式
在改革后的教學(xué)模式中,教學(xué)的實(shí)施以實(shí)際工程案例為基礎(chǔ)而開展。具體而言,課前為學(xué)生構(gòu)建應(yīng)用場(chǎng)景,提出實(shí)際工程問題,并提供相關(guān)的參考文獻(xiàn)供學(xué)生查閱;在課堂教學(xué)中,通過啟發(fā)式教學(xué)引導(dǎo)學(xué)生思考并解決實(shí)際問題,可以嘗試在課堂中使用互動(dòng)式案例教學(xué)法[8];課后鼓勵(lì)學(xué)生嘗試對(duì)已有方法進(jìn)行總結(jié)和改進(jìn)。此外,加強(qiáng)實(shí)驗(yàn)考核要求,培養(yǎng)學(xué)生使用編程工具解決復(fù)雜問題的能力,學(xué)會(huì)根據(jù)實(shí)際需求進(jìn)行嚴(yán)謹(jǐn)而有效的開發(fā)。
《編譯原理》課程中大量知識(shí)點(diǎn)屬于理論計(jì)算機(jī)科學(xué)的研究領(lǐng)域,因此可以對(duì)這些知識(shí)點(diǎn)進(jìn)行歸納和總結(jié),并探討其實(shí)際工程應(yīng)用。在詞法分析中,對(duì)正規(guī)式與有窮自動(dòng)機(jī)相關(guān)的內(nèi)容進(jìn)行延伸,使學(xué)生不僅可以掌握正規(guī)式與有窮自動(dòng)機(jī)的原理,理解其在詞法分析過程中的地位和作用,還可以觸類旁通地將其應(yīng)用于軟件開發(fā)過程中。例如,在實(shí)現(xiàn)一個(gè)搜索功能模塊時(shí),正規(guī)式可以用來匹配字符串,實(shí)現(xiàn)模糊或精準(zhǔn)查詢;在語法分析相關(guān)知識(shí)點(diǎn)的教學(xué)中,學(xué)生不僅需要理解語法分析中的各種自頂向下與自底向上方法,還需理解喬姆斯基體系,了解語言與文法在計(jì)算機(jī)領(lǐng)域中的地位與作用,掌握形式化語言在工程中的應(yīng)用方法,鼓勵(lì)學(xué)生對(duì)現(xiàn)有方法進(jìn)行總結(jié)和改進(jìn)。例如,可以嘗試使用形式化方法實(shí)現(xiàn)不同自然語言之間的翻譯,并與基于統(tǒng)計(jì)學(xué)習(xí)的翻譯方法進(jìn)行性能上的對(duì)比。此外,還可以在課堂中設(shè)置部分開放式學(xué)術(shù)問題,鼓勵(lì)學(xué)生使用科學(xué)的思維方法進(jìn)行學(xué)術(shù)探索。
3.4考核方式
傳統(tǒng)的《編譯原理》課程的考核方式一般以期末閉卷考試為主(60%-70%),平時(shí)成績(jī)?yōu)檩o(30%-40%),考試題目由概念題為主,側(cè)重考查學(xué)生對(duì)于詞法語法分析過程的理解程度,平時(shí)成績(jī)由出勤率、課堂表現(xiàn)等環(huán)節(jié)組成。由于課堂表現(xiàn)等方面存在量化方面的難度,學(xué)生的成績(jī)主要取決于期末考試。通過與部分計(jì)算機(jī)專業(yè)學(xué)生的交流發(fā)現(xiàn),在傳統(tǒng)考核方式下,學(xué)生對(duì)于《編譯原理》課程的主要學(xué)習(xí)方式以習(xí)題為主,對(duì)原理的掌握不夠牢固,甚至有一部分學(xué)生為了應(yīng)付考試而在沒有理解知識(shí)點(diǎn)的情況下機(jī)械地記憶LR分析表等難點(diǎn),從而背離了課程學(xué)習(xí)的初衷。與之對(duì)比,改革后的考核方式對(duì)平時(shí)與期末的學(xué)生表現(xiàn)進(jìn)行完全的定量化考核。平時(shí)成績(jī)中對(duì)出勤率、作業(yè)完成情況、課堂表現(xiàn)、實(shí)驗(yàn)報(bào)告等各環(huán)節(jié)均設(shè)置了相應(yīng)的等級(jí)和分?jǐn)?shù)。例如,課堂表現(xiàn)可以根據(jù)學(xué)生的參與度設(shè)置A、B、C三個(gè)等級(jí),每個(gè)等級(jí)對(duì)應(yīng)不同的分值。在期末考核中,試卷更加側(cè)重于考察使用課程知識(shí)點(diǎn)解決實(shí)際工程問題的能力。例如,語法分析方法的考察并不要求學(xué)生寫出所有分析表的所有內(nèi)容,而要求學(xué)生在充分理解分析表的基礎(chǔ)上分析該文法與分析方法的匹配程度并給出改進(jìn)方向,更全面地考查學(xué)生對(duì)于程序語法分析方法理解深度和科學(xué)思維方法的掌握情況。
4課程改革成效
基于課程知識(shí)體系的優(yōu)化以及教學(xué)模式的調(diào)整,我們?cè)凇毒幾g原理》課程的實(shí)踐教學(xué)中取得了初步的成效。首先,背景知識(shí)的融入有效激發(fā)了學(xué)生對(duì)課程知識(shí)的興趣,因此課堂的參與度(例如課程出勤率和課堂互動(dòng)性)明顯提升,在考試難度不變的情況下通過率穩(wěn)步提高;其次,通過課程的關(guān)聯(lián)知識(shí)學(xué)習(xí),學(xué)生還對(duì)本學(xué)科其他研究方向有了初步的理解,學(xué)生的知識(shí)面得到了提高。最后,經(jīng)過課程知識(shí)的深度挖掘和廣度擴(kuò)展,學(xué)生的科學(xué)思維得到了一定的培養(yǎng),在面對(duì)新問題時(shí),可以主動(dòng)想到使用形式化方法解決問題的思路。例如,有些學(xué)生在做畢業(yè)設(shè)計(jì)時(shí)能夠從當(dāng)前主流編譯系統(tǒng)所存在的問題出發(fā),以解決用戶痛點(diǎn)為目的,提出編譯系統(tǒng)性能的優(yōu)化方法并進(jìn)行有效驗(yàn)證。
5 結(jié)論
在新工科背景下,人才培養(yǎng)模式的創(chuàng)新和改革是高校的一個(gè)重點(diǎn)任務(wù),教師需要根據(jù)時(shí)代發(fā)展需要對(duì)傳統(tǒng)教學(xué)模式進(jìn)行變革。針對(duì)《編譯原理》課程傳統(tǒng)教學(xué)模式所存在的問題,本文基于科學(xué)思維培養(yǎng)的目標(biāo)對(duì)《編譯原理》課程的教學(xué)改革進(jìn)行了研究,為課程知識(shí)體系以及教學(xué)模式提出具體調(diào)整方案。在知識(shí)體系方面,優(yōu)化重點(diǎn)在于課程的深度和廣度拓展,在原體系中融入形式化方法及其在其他領(lǐng)域中應(yīng)用的內(nèi)容;在教學(xué)模式方面,基于案例式教學(xué),使用分層培養(yǎng)模式因材施教,并使用科學(xué)的量化考核機(jī)制,保證學(xué)生掌握正確的科學(xué)思維方法,學(xué)會(huì)將歸納、演繹等思想運(yùn)用在實(shí)際問題的解決中,掌握終身學(xué)習(xí)能力。然而,目前課程改革也存在著不足之處:改革的成效主要體現(xiàn)在學(xué)習(xí)態(tài)度較為端正的那部分學(xué)生,而對(duì)于一部分學(xué)習(xí)態(tài)度有較大問題的學(xué)生而言效果不夠理想。因此,在今后的研究中,課程改革的重點(diǎn)在于教學(xué)成效的全面性,尤其是對(duì)于后進(jìn)生的幫助上,在端正其學(xué)習(xí)態(tài)度的同時(shí)注重其興趣的培養(yǎng),使其掌握正確的科學(xué)思維,在層出不窮的技術(shù)浪潮中保持良性發(fā)展。
參考文獻(xiàn):
[1] 袁寧,劉政.提高《編譯原理》課程教學(xué)效果的思考與探討[C].全國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì),,2012.
[2] 顧彬,鄭關(guān)勝.《編譯原理》教學(xué)方法的研討[J].教育教學(xué)論壇,2013(15):64-65.
[3] 武瑛,張麗華.新工科背景下基于混合式教學(xué)的編譯原理課程教學(xué)改革[J].電腦知識(shí)與技術(shù),2019,15(1):169-170.
[4] 柴艷妹,馬燕林.編譯原理課程教學(xué)改革研究[J].計(jì)算機(jī)教育,2011(20):36-39.
[5] 侯惠芳.《編譯原理》課程教改探討[J].科技信息(科學(xué)教研),2007(17):406,447.
[6] 諶志群,王榮波,黃孝喜.以計(jì)算思維能力培養(yǎng)為導(dǎo)向的“編譯原理”教學(xué)改革探索[J].智能物聯(lián)技術(shù),2021,4(3):29-32,50.
[7] 余瑪俐,張海.《編譯原理》教學(xué)方法探析[J].九江學(xué)院學(xué)報(bào)(自然科學(xué)版),2005,20(4):114-118.
[8] 張卓.互動(dòng)式案例教學(xué)法在“編譯原理”中的應(yīng)用[J].工業(yè)和信息化教育,2021(2):61-65.
【通聯(lián)編輯:王力】