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