劉 堅 張淑平

“編譯原理”是計算機科學與技術專業的核心專業課程之一,是一門理論與實踐并重的課程。在計算機軟件的知識體系結構中,程序設計語言是一個重要的領域,它包括三個側面:語言的應用(程序設計)、語言的翻譯(編譯)、語言的設計(研究語言的語法、語義和程序設計語言的理論與實現)。“編譯原理”課程在此體系結構中起著承上啟下的作用。
西安電子科技大學(以下簡稱西電科大)是西北地區最早開設“編譯原理”課程的高校之一,由計算機學院和軟件學院開設的“編譯原理”分別于2003年、2004年被評為校級、省級精品課程,并獲2005年度“教育部-微軟精品課程”建設立項支持。
課程創新點
經過長期的教學實踐,西電科大“編譯原理”課程組已建立起了較完整的教學體系,包括年齡結構和知識結構合理的教師隊伍、反映本課程水平的自編教材及先進的教學實踐環境,其特色和創新點概述如下:
1)堅持教學科研并重,不斷更新教學內容
課程組成員堅持教學與科研并重,十幾年來先后主持與承擔國防預研、國防預研基金、橫向科研課題等十余項,發表學術與教學研究論文20余篇。這些課題所研究內容大部分是編譯領域的核心技術,科研成果水平在國內高校同行中處于領先地位。豐富的科研積累為教學的實施與改革提供了充足的養分。
課程組能夠將科研成果及時轉化到本課程的教學中,同時不斷更新教學內容和教學手段,極大地發揮了學生的學習熱情和創造性,提高了“編譯原理”課程教學的水平和質量。同時,通過科研與教學相結合,形成了一支學術造詣高、知識與年齡結構合理、勇于改革且團結協作的課程梯隊。
2)重視實驗教學研究與改革,培養學生工程實踐能力與素質
計算機科學與技術專業是一個實踐性要求很高的專業,而“編譯原理”是本專業中對軟件設計實驗環節要求更高的課程。“編譯原理”開設了獨立的綜合實驗“函數繪圖語言解釋器構造”,其中的三個實驗子系統“詞法分析器構造”、“語法分析器構造”、“語法制導翻譯圖形繪制”有機連為一體,反映了“編譯原理”課程的核心技術和實驗水平,充實了理論教學內容,培養了學生的工程實踐能力與科研素質。
我們還根據國內教學條件的實際情況,在所承擔的科研項目工作基礎上,于1993年自主研制開發了在微機和DOS/Windows環境下的詞法分析器生成器XDFLEX和語法分析器生成器XDYACC(它們是與編譯器構造領域中最具影響且被廣泛使用的、Unix環境下的詞法分析器生成器Lex和語法分析器生成器Yacc兼容的軟件,其中XD是我校英文縮寫),當時在國內是首創。1996年,我們又對XDFLEX進行了改造,增加了漢字識別的自動生成,并重新命名為XDCFLEX。至此,XDCFLEX/ XDYACC形成了具有中國特色的、教學與科研兼顧的編譯器編寫工具(放在我校網站上供自由下載)。此工具不但提高了我校學生的上機實習水平和“編譯原理”課程實驗室建設的水平,同時也被國內多所高校的教師和學生以及研究所的科研人員使用,提高了我校“編譯原理”課程在國內的地位。
課程建設的實施辦法
1)明確目標,合理安排。根據課程組的現有條件,制定合理的建設目標和課程質量標準,提出師資隊伍建設規劃以及教學過程、教學管理和教學改革等方面的基本要求。依靠教師和教學管理人員,明確職責,分級建設,責任到人。
2)樹立課程整體優化的觀念。在明確課程建設目標的前提下,解決相關課程之間的配合和銜接問題,推進“模塊課程”或“系列課程”的整體優化,將課程建設放在專業建設和培養模式中進行優化設計。
3)重視師資隊伍建設,開展教學改革與研究。課程建設應形成合理、優化的專業教師梯隊,以高層次、高學歷教師為主體,教師隊伍中高、中、初級職稱比例合適,課程負責人具有較高的學術水平和教學水平,課程組有計劃地經常開展教研活動,加強對中青年教師的培養。保證每年有一定的教學改革項目或教研項目立項和教學改革成果。
4)加強教材建設,改革教學手段。一方面采用國內現有的先進教材和精品教材,另一方面根據學院自身的現有條件和專業特點組織教師自編部分具有一定創新性和特色的教材。同時制作、收集和整理電子教材、課件以及教輔材料,逐步形成立體化教材體系。根據本課程的教學特點,采用多媒體教學,建立教學網站,實現網上教學輔導。
5)建立健全學生評價、教師同行聽課和教學督導組聽課機制,逐步完善教學質量監控和評估體系,確保和提高課堂教學質量和效果。
6)建立有效的激勵機制。對于承擔精品課程建設任務并作出突出貢獻的課程負責人及骨干教師在評獎、評優、晉職等方面給予優先考慮。
教材介紹
課程組曾經選用陳火旺院士的《編譯原理》(國防科技大學出版社)、《編譯原理和技術》,經過長期積累,在總結二十多年教學經驗、科研與教學改革成果的基礎上,由劉堅教授主編了《編譯原理基礎》教材。該教材及與其配套的教學輔助指導書《編譯原理基礎-習題與上機題解答》全面體現編譯原理的教學規律,內容新穎先進,獨創性、實用性好,教學適用性強。自2002年出版以來,已發行萬余冊,被若干高校選用,在相關科研技術人員中亦被廣泛使用。2005年《編譯原理基礎》被評為西安電子科技大學優秀教材,同年,榮獲陜西省優秀教材二等獎。
課程組教師
目前,“編譯原理”課程組由4名主講和3名專職輔導教師組成。
劉堅:1982年2月起在西安電子科技大學任教,教授。主講本科生“編譯原理”、研究生“編譯原理與技術”等課程,研究方向為計算機軟件理論與技術。主持“Ada軟件開發平臺技術”、“軟件系統安全故障模式分析”、“軟件安全模式”等課題的研究工作,發表多篇學術論文。
龔杰民:1973年5月起在西安電子科技大學任教,教授,研究方向為人機交互技術和軟件開發工具。主講“編譯原理”、“形式語言與自動機理論”、“C程序設計”、“PROLOG程序設計”、“人機交互技術與可靠性工程”等課程。長期從事編譯原理、形式語言與自動機、人機交互技術等課程的教學與研究。發表教學研究及學術論文多篇,著有《C語言程序設計及其應用》、《標準C語言程序設計及應用》、《人機交互技術及可視化技術》、《人-計算機界面設計》(譯)等。主持的多項科研課題獲得省部級獎勵,其中,“觸摸屏電子筆”獲中國實用新型專利證書,主持的“液晶顯示器和等離子體顯示器的工效研究”課題成果已在日本使用。
方敏:1989年起在西安電子科技大學任教,博士,教授。主講“編譯原理”、“操作系統”、“計算機網絡”等課程,參加“聯合作戰態勢評估輔助決策模型研究”、“智能化多源數據融合”等課題的研究工作;編著教材“計算機操作系統”(西安電子科技大學出版社,2004);撰寫論文多篇。
張淑平:1995年起在西安電子科技大學任教,在讀博士生,副教授。主講“編譯原理”、“數據結構”等課程,西電科大 ACM/ICPC競賽基地教練, 參加“寬帶無線IP網絡安全體系結構”、“基于算法的容忍入侵檢測系統”等科研項目,著有“程序員教程”一書(清華大學出版社,2004),撰寫論文多篇。
張立勇:2001年起在西安電子科技大學任教,在讀博士生,講師。主講“編譯原理”、“分布對象技術”、“算法設計與分析”等課程,參加“計算機軟件安全模式分析”等課題研究,擔任西電科大ACM/ICPC競賽隊教練。
胡圣明:2003年起在西安電子科技大學任教,在讀博士生,講師。輔導“編譯原理”課程,主講“數據庫應用技術”課程,參加《編譯原理基礎-習題與上機題解答》的編寫工作。參加“程序理解中特征挖掘理論與方法的研究”、“面向對象逆向工程工具研究”、“系統應用軟件逆向工程工具研究”等科研項目的研究工作,撰寫論文多篇。
王小兵:2004年起在西安電子科技大學任教,在讀博士生,講師。輔導“編譯原理”課程,主講“數據庫系統”課程。
課程網址
http://sc.xidian.edu.cn/course/index.jsp