一、课程介绍
《编译原理》课程是计算机专业必修的一门重要的专业基础课程,也是计算机系统软件中非常重要的一个分支。通过本课程的学习和实践,学生可以掌握编译技术的经典理论——原理、方法和技术,包括编译程序构造的一般原理、基本设计方法和主要实现技术,了解编译系统的结构和工作流程、编译程序各相关部分的设计依据和实现技术等,同时也使学生具备设计、实现、分析和维护编译程序等方面的初步能力。
二、课程特色
利用在线开放课程平台,实现“知识传授+知识内化”的翻转课堂模式,通过课程教学资源网站、在线题库练习(含交互式解答过程演示)、动画、视频等多种手段和方式营造沉浸式、全方位的学习环境。同时线下将每一章节的主要知识点整合出一系列可执行性强的编译技术开发案例,从学生学习习惯的角度出发,运用实验辅助平台,帮助学生逐步完成“理论答题”Þ“求解方法描述”Þ“流程图绘制”Þ“整体运行框架下的部分代码填充”Þ“整体代码的模块划分和封装”等各阶段的教学和练习,循序渐进、由浅入深地实现从理论学习到技术实践的过渡,完善考评制度,将学生的线上自主学习效果和线下的课堂学习表现以及平时线上测验成绩均纳入到课程的评价之中,全方位激发学生的学习兴趣,提高学生的创新能力。
三、教材与教学参考书
教材:胡元义,《编译原理教程(第四版)》,西安电子科技大学出版社,2015
教学参考书:
1、陈火旺,钱家骅,孙永强,《程序设计语言编译原理(第三版)》,国防工业出版社,2005
2、吕映芝,《编译原理》,清华大学出版社,2005
3、Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman,《Compilers Principles, Techniques, and Tools(第二版)》中译本,机械工业出版社, 2008