刘 坚 张淑平
“编译原理”是计算机科学与技术专业的核心专业课程之一,是一门理论与实践并重的课程。在计算机软件的知识体系结构中,程序设计语言是一个重要的领域,它包括三个侧面:语言的应用(程序设计)、语言的翻译(编译)、语言的设计(研究语言的语法、语义和程序设计语言的理论与实现)。“编译原理”课程在此体系结构中起着承上启下的作用。
西安电子科技大学(以下简称西电科大)是西北地区最早开设“编译原理”课程的高校之一,由计算机学院和软件学院开设的“编译原理”分别于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