高雪瑤 張春祥 李成嚴 郭紅 高尚民
基金項目:黑龍江省高等教育教學改革項目“‘新工科背景下面向OBE的編譯原理課程線上、線下一體化教學模式研究與實踐”(SJGY20220316)
第一作者簡介:高雪瑤(1979-),女,漢族,黑龍江哈爾濱人,博士,教授,副院長,博士研究生導師。研究方向為圖形圖像處理與自然語言處理。
*通信作者:張春祥(1974-),男,漢族,黑龍江哈爾濱人,博士,教授。研究方向為圖形圖像處理與自然語言處理。
DOI:10.19980/j.CN23-1593/G4.2024.19.010
摘? 要:該文剖釋計算機專業(yè)編譯原理教學中存在的問題。為適應人才培養(yǎng)和就業(yè)需求,面向OBE理念,設計編譯原理教學大綱,構建編譯原理課程體系,創(chuàng)建線上線下融會貫通的一體化教學模式,實施項目驅動的實踐教學,制定編譯原理課程考核評價體系。將學生從知識的被動接受者轉為主動獲取者,提高編譯原理課程的教學質量和學生的動手能力。
關鍵詞:編譯原理;OBE理念;教學大綱;課程體系;教學質量
中圖分類號:G642? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2096-000X(2024)19-0038-04
Abstract: This paper explains the problems of Compilation Principles education in computer major. In order to meet need of talent cultivation and employment, teaching outline of compilation principles is designed, course system of compilation principles is constructed, teaching mode fusing online and offline resources is created, project-driven practical teaching is implemented, and assessment and evaluation system of compilation principles course is designed, based on OBE concept. Students are transformed from passive recipients of knowledge to active learners of knowledge, in order to improve the teaching quality of Compilation Principles course and enhance students' manual dexterity.
Keywords: Compilation Principles; OBE concept; teaching outline; course system; teaching quality
隨著全球經(jīng)濟的快速發(fā)展,我國產業(yè)結構正在不斷地進行調整和優(yōu)化。產業(yè)結構的升級需要高質量的工程技術人才。工程教育專業(yè)認證是國際通行的工程教育質量保障制度,也是實現(xiàn)工程教育國際互認和工程師資格國際互認的重要基礎。工程教育專業(yè)認證的核心就是要確保工科專業(yè)的畢業(yè)生達到行業(yè)認可的質量標準要求,是一種以培養(yǎng)目標和畢業(yè)出口要求為導向的合格性評價。OBE(產出導向)理念是工程教育認證的核心理念,其目標是要保證專業(yè)教育質量和專業(yè)教育活力。哈爾濱理工大學立足“雙一流”建設,面向OBE理念,注重專業(yè)培養(yǎng)與社會需求接軌,不斷優(yōu)化課程體系以提高學生的就業(yè)競爭能力。編譯原理是計算機專業(yè)的一門重要的專業(yè)課程,是一門融合多門計算機專業(yè)課的綜合性課程。注重培養(yǎng)學生利用計算機原理與技術來解決復雜工程問題的能力,注重培養(yǎng)學生根據(jù)具體問題,選擇研究路線和設計實現(xiàn)方案的能力,為學生職業(yè)發(fā)展提供重要的支持。
“雙一流”建設對編譯原理教學提出了新要求,要求學生掌握編譯知識,深刻理解編譯器背后的實現(xiàn)機理,靈活運用編譯技術來解決現(xiàn)實中的實際問題,滿足學生的就業(yè)需求,為學生從事科學研究工作提供幫助。
一? 編譯原理教學中存在的問題
編譯原理是計算機專業(yè)的一門專業(yè)核心課,是離散數(shù)學、程序設計基礎、計算機組成原理和數(shù)據(jù)結構等課程的綜合應用。通過學習編譯原理這門課程,能夠深入理解、鞏固、運用這些課程的知識點。同時,在軟件項目開發(fā)和科研工作中,編譯技術都是必不可少的。
在編譯原理課程中,存在著很多抽象的理論知識和復雜的實現(xiàn)技術,諸如形式語言理論和自動機理論、算符優(yōu)先分析和LR分析技術。這些理論知識和實現(xiàn)技術是極其抽象的和難于理解的。如果僅憑課堂講授知識和有限學時的實驗上機,很難使學生掌握編譯的核心,更不要說編譯知識的實際應用了。在授課過程中,課堂講授和實驗上機往往相互割裂,使學生產生“學而無用”的懈怠思想,難以達到理想的學習效果。在授課過程中,過于注重理論知識的講解,所進行的實驗教學內容片面,缺乏對編譯知識體系的整體支撐,很難讓學生從程序實現(xiàn)機理上去理解和掌握編譯知識,從而導致學生做實驗的效果并不理想,學生對編譯原理知識的學習也只是停留在公式和定理上。編譯原理課程的教學模式單一,以老師講授知識為主,學生被動學習和接受知識,教學方法缺乏多樣性和有效性。在單一的教學模式和教學方法的培養(yǎng)下,學生不能深刻地理解編譯知識背后的原理與邏輯,更談不上在實際工程中加以應用了?,F(xiàn)有的編譯原理課程的考核機制過于片面,不夠靈活具體。編譯原理涉及大量的理論知識和算法設計,僅以期末一張卷和實驗成績難以衡量學生對編譯知識與技術的掌握情況。在授課過程中,師生互動不夠充分,學生從來不提問題,學生失去了學習編譯原理課程的興趣。學生厭倦了編譯原理課程的學習,不會的知識點積累得越來越多,從而導致了學生提不出問題,更談不上應用所學過的編譯技術去解決實際問題了[1]。
在編譯原理的學習過程中,很多學生缺乏主動性和積極性,課堂內對課程學習感到厭倦,課堂外缺少對編譯技術的追綜與探索。最終的結果只是通過了期末考試,根本沒有學習到編譯技術的本質與核心,沒有掌握運用編譯技術來解決實際問題的能力。
二? 面向OBE理念的編譯原理教學改革
根據(jù)工程教育認證的OBE核心理念,以提高學生學習成效為目標,給出了以下的編譯原理教學改革方案。
(一)? 基于OBE理念的編譯原理教學大綱設計
編譯原理是計算機科學與技術專業(yè)的核心課程,具有理論性、設計性與實踐性相結合的特點。依據(jù)工程教育認證標準,教學大綱的設置應遵循該課程在“課程支撐畢業(yè)要求”矩陣中的支撐點。矩陣規(guī)定了編譯原理課程必須完成的教學任務。編譯原理課程的教學內容、課程體系、教學手段就是為了完成教學任務設置的。在OBE理念的指導下,將以學生為中心作為出發(fā)點,將促進學生有效學習作為教學設計的目標,將學習效果作為檢驗學生學習好壞的主要依據(jù),設計編譯原理教學大綱。同時,根據(jù)學生的具體特點、教學目的、教學環(huán)境選擇合適的教學手段和教學方法。
(二)? 將OBE理念融入編譯原理課程體系的構建過程
根據(jù)教學目標來設計編譯原理課程的課程體系。教學內容包括編譯原理的理論知識,例如,文法和語言、詞法分析、自頂向下語法分析、自底向上優(yōu)先分析、LR分析、語法制導的語義計算、靜態(tài)語義分析和中間代碼生成、運行時存儲組織、代碼優(yōu)化和目標代碼生成。同時,包括編譯原理的算法設計,例如,詞法分析程序的設計、不確定的有窮自動機(NFA)到確定的有窮自動機(DFA)的轉化、不確定的有窮自動機(NFA)的確定化和DFA的最小化、LL(1)文法的判別、算符優(yōu)先分析算法和LR(0)分析。在構建編譯原理課程體系時,應該結合OBE理念的教學手段[2],以啟發(fā)式教學方法為主,附以必要的互動教學手段,以設計開發(fā)編譯器為驅動,融會貫通多個編譯知識點,綜合穿插多個算法設計,聯(lián)合運用多項編譯技術來解決具體問題以激發(fā)學生學習的主動性。要以學生掌握編譯技術為中心,以培養(yǎng)學生編譯思維和提高學生程序設計能力為目的,通過開發(fā)編譯器來鞏固學生所學到的編譯知識,通過自主學習使學生掌握編譯技術,從而由被動學習者變?yōu)橹鲃訉W習者。綜合使用騰訊會議、釘釘直播課程、MOOC課堂、超星直播課程、QQ群和微信群建立線上[3]和線下[4]一體化教學模式。融合翻轉課堂教學法、啟發(fā)式教學法、案例教學法、對比教學法、討論法、練習法、直播教學法、錄播教學法、自主學習法及閱讀指導法提高學生編譯原理課程的學習成效。在教學大綱中給出編譯原理課程中詞法分析和語法分析大作業(yè)的設計要求,將課堂所傳授的理論與大作業(yè)緊密結合,以提高學生的實際動手能力。
(三)? 創(chuàng)建線上線下融會貫通的一體化教學模式
面向OBE的人才培養(yǎng)理念要求我們在編譯原理的授課過程中,必須堅持教、學、做一體化的原則,將整個教學過程從“以教師為主”轉變?yōu)椤耙詫W生為主”。不但教師和學生之間需要教學互動,而且學生和學生之間也需要教學互動,使學生通過持續(xù)學習,深入理解編譯原理的知識原理和掌握相關的編譯技術。編譯原理的教學活動主要包括線上和線下兩種形式。在編譯原理的線上教學活動中,主要是通過各種形式的網(wǎng)絡學習和在線互動掌握編譯的相關知識與技術,例如,騰訊會議授課、釘釘直播課程、MOOC課堂[5]、超星課程、QQ群答疑和微信討論等教學形式。在編譯原理的線下教學活動中,主要是通過面對面的師生交流來獲取編譯的相關知識與技術,例如,課堂授課、項目實踐、翻轉課堂、實驗教學和課后答疑等。編譯原理線上線下一體化教學模式如圖1所示。
編譯原理的線上教學活動與線下教學活動相輔相成,融會貫通,相互融合,彼此促進,使學生更好地掌握了編譯的原理知識與實現(xiàn)技術。各個線上教學活動和線下教學活動沒有彼此獨立的界限,例如,QQ群答疑與課后答疑是討論答疑解答學生困惑的兩種不同的線上和線下教學活動。
在線上線下一體化教學活動中,應以學生作為主體,采用多種教學形式,讓學生從被動地掌握編譯知識變?yōu)橹鲃拥貙W習編譯理論。使學生由編譯技術的被動接受者變?yōu)榫幾g工具的主動構建者,切實保證學生在編譯原理知識傳授與學習過程中的主體地位。采用課堂授課和騰訊會議授課完成知識的傳授,同時,錄制所講授的課程。在釘釘中直播所錄制的課程,讓學生做好預習和復習工作。MOOC課堂、超星課程提供豐富和經(jīng)典的教學資源[6],指導學生選擇性觀看。在觀看MOOC課堂、超星課程時,通常要精確到小節(jié)課程,以提高學生的學習成效。利用翻轉課堂讓學生帶著問題來更好的學習。通過項目實踐和實驗教學來設計開發(fā)編譯工具,以加深學生對編譯原理知識的理解和編譯技術的掌握。利用QQ群答疑、微信討論、課后答疑等形式,讓老師利用多種通信工具進行直接與間接、線上與線下的交流,為學生解答疑難問題。
(四)? 項目驅動的實踐教學
編譯原理是一門專業(yè)性和實踐性極強的課程。整個編譯原理課程的知識點都圍繞著一個編譯器而展開。編譯器主要包括詞法分析器、語法分析器、語義分析器、中間代碼生成程序、中間代碼優(yōu)化程序和目標代碼生成程序。講解文法和語言、詞法分析等教學內容,主要是為了實現(xiàn)詞法分析器;講解自頂向下語法分析、自底向上優(yōu)先分析、LR分析等教學內容,主要是為了實現(xiàn)語法分析器;講解語法制導的語義計算、靜態(tài)語義分析等教學內容,主要是為了實現(xiàn)語義分析器;講解中間代碼生成、運行時存儲組織等教學內容,主要是為了實現(xiàn)中間代碼生成程序;講解代碼優(yōu)化等教學內容,主要是為了實現(xiàn)中間代碼優(yōu)化程序;講解目標代碼生成等教學內容,主要是為了實現(xiàn)目標代碼生成程序。學習編譯原理最好的方式是結合教師課堂講授的知識設計開發(fā)編譯器。通過分解編譯器,逐步運用所學過的相關知識與技術來完成編譯器各個組成模塊的設計開發(fā)工作。讓學生在編譯器設計與實現(xiàn)中,深刻地理解所學過的編譯知識及其背后的運行機理。實踐教學活動包括大作業(yè)、實驗課[7]、項目實踐[8]。在大作業(yè)中,給學生一個高級程序語言的詞法規(guī)范,要求學生設計實現(xiàn)該高級程序語言的自動分詞工具;在實驗課中,給學生高級程序語言的語法規(guī)范,要求學生設計實現(xiàn)該高級程序語言的自動語法分析工具;在項目實踐中,要求學生設計實現(xiàn)該高級程序語言的編譯器。項目實踐是以大作業(yè)和實驗課的結果為基礎進行的,三者相輔相成,絕不重復。
(五)? 基于OBE的編譯原理課程考核評價
基于OBE的編譯原理課程考核評價[9]的目標是:綜合平時成績與期末成績,結合理論考核與實踐考核,從多角度出發(fā),采用多種形式度量學生學習掌握編譯原理的知識與技術情況,以促進學生更有效地學習編譯原理這門課程。
結合哈爾濱理工大學計算機科學與技術專業(yè)的實際情況,遵循OBE理念,其課程考核對課程目標的支撐見表1。其中,課程目標1、課程目標2、課程目標3如下。
課程目標1:能夠基于編譯程序構造的一般原理,通過文獻研究等方式,針對某種高級語言編譯程序的解決方案進行調研。
課程目標2:能夠根據(jù)某種高級語言的語法規(guī)則,選擇詞法分析方法和主要實現(xiàn)技術,設計詞法分析程序。
課程目標3:能夠基于編譯的一般過程,利用詞法分析、語法分析、語法制導翻譯、有窮自動機和正則表達式等編譯理論和方法,結合計算機語言處理系統(tǒng)中各種通用的分析和翻譯技術,設計特定語言的編譯程序。
編譯原理課程考核包括形成性評價和期末考核評價。其中,形成性評價占40%,期末考核評價占60%。
在教學過程中,隨時了解學生的學習情況,根據(jù)學生的反饋作出教學調整,促進學生更好地學習,與編譯原理教學過程同步進行形成性評價。形成性評價主要包括課堂表現(xiàn)、大作業(yè)、項目實踐和實驗[10]等。其中,課堂表現(xiàn)包括課堂討論、學生筆記、回答問題等。
期末考核評價既要重視考察學生對編譯原理的基本概念、基本方法、基本原理的掌握程度及靈活應用能力,又要考察學生的綜合運用編譯技術分析和解決實際問題的能力。
期末考試題型主要包括基本概念、原理理解、運用題型、綜合分析和設計題。
三? 結束語
為提高編譯原理課程的教學質量,本文基于OBE理念設計了教學大綱,將OBE理念融入課程體系的構建過程,創(chuàng)建了線上線下融會貫通的一體化教學模式,實施了項目驅動的實踐教學,制定了基于OBE的課程考核評價體系。將教學設計應用于哈爾濱理工大學計算機專業(yè)的編譯原理教學之中,教學實踐表明,學生能夠更好地理解編譯知識,更好地掌握和應用編譯技術,實際動手能力得到了提升。
參考文獻:
[1] 聶文梅,宋曉霞.基于對分課堂的編譯原理混合教學改革[J].計算機教育,2023(10):107-111.
[2] 劉兵,劉明明.面向工程教育專業(yè)認證的實例化驅動混合教學模式的探索與實踐——以“編譯原理”課程為例[J].工業(yè)和信息化教育,2021(1):32-37.
[3] 韓玉艷,王玉亭,李成友.淺談編譯原理“互聯(lián)網(wǎng)+”線上多樣化教學[J].大學教育,2021(7):95-97.
[4] 李軍輝,黃紅妹.《編譯原理》課程教學分析和策略安排[J].電腦知識與技術,2020,16(28):132-133.
[5] 陳義仁,王一賓.編譯原理MOOC的教學設計與實踐[J].福建電腦,2020,36(1):44-45.
[6] 劉洪娟,宋經(jīng)平,韓春燕.編譯原理慕課建設與混合式教學設計[J].計算機教育,2020(4):98-101.
[7] 萬新燕,時招軍.編譯原理實驗教學設計[J].教育教學論壇,2019(8):261-262.
[8] 王中卿,朱培培.層次化精準編譯原理實踐教學[J].電腦知識與技術,2020,16(20):158-159.
[9] 蔣宗禮,姜守旭.編譯原理課程的教學目標設定與表述[J].計算機教育,2019(11):1-4.
[10] 余芳,王曉明,趙森.基于創(chuàng)新思維培養(yǎng)的編譯原理實驗教學改革[J].大學教育,2019(12):45-47.