1《编译原理》课程教学大纲一、课程概述(一)基本说明中文名称:编译原理课程代码:16JS044总学时/学分:48/3考核方式:考试适用专业:计算机科学与技术(二)课程属性1.课程性质本课程是计算机科学与技术专业必修课,主要介绍程序设计语言编译程序的基本原理和基本实现方法。为了使学生掌握、了解开发大型软件系统和软件工具等的思想和方法,提高学生程序设计的能力,有必要让学生了解、熟悉编译程序构造的基本原理、技术和方法,故此开设《编译原理》这门课程,以便使学生对编译的基本概念、原理和方法有完整的和清楚的理解。。2.课程与课程群的联系本课程与《线性代数》、《离散数学》、《计算机原理》等基础课程有着密切的关系,通过本课程的学习,使学生掌握基本的专业知识,并为《系统分析与建模》、《Linux内核编程与驱动开发》、《智能系统应用》等专业方向课程的学习提供了知识储备。为了使学生能够顺利完成本课程的学习,在学习本课程之前,需对相关课程(群)有一定的了解和掌握。前修课程:《线性代数》、《离散数学》、《计算机原理》等,这些课程对本课程学习起着基础铺垫作用。后续课程:《系统分析与建模》、《Linux内核编程与驱动开发》、《智能系统应用》等,这些课程是本课程的具体应用,为后续课程提供了基础理论支撑。二、教学设计(一)课程设置的主要依据本课程是一门理实融合、教学做一体的理论课程,着眼于满足计算机科学与技术专业对应用型人才需求,遵循“基础/应用”的导向原则,教学内容与教学组织紧紧围绕应用型的计算机科学与技术专业人才培养目标进行设计、选择和实施,以“必需、够用、适度超前”为度,突出打牢理论基础和实践能力培养。在教学过程中,注重创新精神、实践能力和职业道德的培养,倡导探究性学习和项目式学习,引导学生主动参与教学过程,主动思考、勤于实践、知行合一,逐步培养学生分析解决计算机项目开发过程中实际问题、沟通交流与团队协作能力。2(二)课程设计思路以《线性代数》、《离散数学》、《计算机原理》等课程为基础,紧紧围绕计算机科学与技术专业应用型人才培养目标,准确把握本课程在计算机科学与技术课程群中的定位和作用,以能力为本位,强调打牢基本知识和基本理论基础,强化基本技能训练,充分利用信息化教学平台,打破以知识传授为主要特征的传统学科专业课程模式,探索新的、更为科学的教学模式。三、课程目标(一)总体目标通过课程课堂讲授、学生自学、习题、课堂讨论、答疑以及实验、设计等实践环节,使学生理解和掌握编译原理的基本原理和基本技术、编译原理中涉及的基本算法、基本结构和主要实现技术,培养学生的抽象思维能力,训练学生计算机学科中解决问题的思路方法,具备科学的态度和良好的作风,达到实验项目中能独自编程的要求,为从事计算机软件开发和理论研究工作奠定基础。(二)具体目标:1.知识结构目标(1)编译过程的五大步骤;(2)词法分析过程;(3)语法分析过程;(4)中间代码产生过程;(5)代码优化;(6)目标代码产生过程。2.职业能力目标(1)编译器开发能力;(2)软件开发能力;四、内容设置3表1教学内容与学时分配章节(内容)学时分配教学内容教学目标教学方法与建议考核方式方法章节学时讲授学时实践学时第一单元引论1.1什么叫编译程序330什么叫编译程序了解程序的编译过程,以及程序设计环境。多媒体教学案例教学分组讨论1.2编译过程概述编译5大过程概述1.3编译程序的结构编译程序的结构1.4编译程序与程序设计环境编译程序与程序设计环境1.5编译程序的生成1.算法2.算法设计的要求第二单元高级语言及其语法描述2.1程序语言的定义3301.语法了解高级语言的特性及其语法描述多媒体教学案例教学分组讨论2.语义2.2高级语言的一般特性1.高级语言的分类2.程序结构3.数据类型与操作4.语句与控制结构2.3程序语言的语法描述1.上下文无关文法2.语法分析树与二义性3.形式语言鸟瞰第三单元3.1对于词法9631.词法分析器的功能和输出形掌握正规表达式的定义多媒体教学4词法分析分析器的要求式以及有限自动机的生成,并在此基础上产生词法分析器案例教学分组讨论2.词法分析器作为一个独立子程序3.2词法分析器的设计1.输入、预处理2.单词符号的识别:超前搜索3.状态转换图4.状态转换图的实现3.3正规表达式与有限自动机1.正规式与正规集2.确定有限自动机3.非确定有限自动机4.正规文法与有限自动机的等价性5.正规式与有限自动机的等价性6.确定有限自动机的化简第四单元语法分析——自上而下分析4.1语法分析器的功能1293语法分析器的功能掌握自上而下分析过程,递归下降分析法,预测分析法等多媒体教学案例教学分组讨论4.2自上而下分析面临的问题自上而下分析面临的问题4.3LL(1)分析法1.左递归的消除2.消除回溯、提左因子3.LL(1)分析条件4.4递归下降分析程序构造递归下降分析程序构造4.5预测分析程序1.预测分析程序工作过程2.预测分析表的构造第五章5.1自下而上12931.归约掌握自下而上分析过多媒体教学5语法分析——自下而上分析分析基本问题2.规范归约简述程、以及LR分析过程案例教学分组讨论3.符号栈的使用与语法树的表示5.2算符优先分析1.算符优先文法及优先表构造2.算符优先分析算法3.优先函数4.算符优先分析中的出错处理5.3LR分析法1.LR分析器2.LR(0)项目集族和LR(0)分析表的构造3.SLR分析表的构造4.规范LR分析表的构造第六章属性文法和语法制导翻译6.1属性文法330属性文法掌握两种属性文法,S-属性文法及其自下而上计算,L-属性文法及其自顶向下翻译多媒体教学案例教学分组讨论6.2基于属性文法的处理方法1.依赖图2.树遍历的属性计算方法3.一遍扫描的处理方法4.抽象语法树6.3S-属性文法的自下而上计算S-属性文法的自下而上计算6.4L-属性文法和自顶向下翻译1.翻译模式2.自顶向下翻译3.递归下降翻译器的设计第7章7.1中间语言6421.后缀式掌握不同语句的翻译,多媒体教学6语义分析和中间代码产生2.图表示法包括赋值语句、布尔表达式及控制语句等案例教学分组讨论3.三地址代码7.2说明语句1.过程中的说明语句2.保留作用域信息3.记录中的域名7.3赋值语句的翻译1.简单算术表示式及赋值语句2.数组元素的引用3.记录中域的引用7.4布尔表达式的翻译1.数值表示法2.作为条件控制的布尔式翻译7.5控制语句的翻译1.控制流语句2.标号与goto语句3.CASE语句的翻译7五、实施要求(一)参考教材与资料1.参考教材(1)陈火旺.《程序设计语言编译原理》.国防工业出版社.2012(2)康慕宁,林奕.《编译原理》.人民邮电出版社.20102.主要教学参考文献(1)(美)阿霍等著,赵建华译.《编译原理》.机械工业出版社.2016年(2)王生原.《编译原理》.清华大学出版社.2015年3.推荐的教学网站和相关专业文献网站(1)冯博琴编译原理教学视频()(2)吉林大学编译原理教学视频()(二)教学组织课程教学由教研室主任主要负责,课程组组长负责具体的组织与实施。基本流程包括:(1)成立课程组。目前该课程组主要有3名老师,年龄结构、学历结构和学缘结构如下:姓名性别年龄职称硕士专业承担工作张德青女32讲师管理科学与工程主讲丁雪晶女33讲师计算机软件与理论主讲程锦女28讲师微电子学与固体电子学主讲(2)教学准备。课前组织备课、说课,做到“六统一”,统一对教材进行分析;统一主要内容;统一教学目标;统一学习重点;统一教学进度;统一主要练习。做到教师内容、流程、标准、操作非常熟练,能够处理前后内容衔接问题。(3)课程教学。拟采取教学做一体的方式授课和训练,老师重点讲解基本理论,并进行示范演示,学生根据老师讲解和演示进行学做,学生借助课堂及课下时间完成老师要求的案例操作。(4)辅导答疑,可以采取课堂答疑、课下辅导和网上答疑等方式。(5)课程考核,采取过程性考核和终结性考核相结合,过程考核以出勤、课堂表现、回答问题等为评判标准,终结性考核以期末考核为主。(6)总结反馈,对于上课的内容、学时安排、教学过程、考核方式、教学效果等进行总结,拟放在课程结束后进行,以利于查找问题,不断提升课程的教学质量。(三)教学方法8教学中应注重理论与实践的结合,注重学生综合应用能力的培养,使学生对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。充分运用现代化手段,发挥多种媒体教学资源的优势,强调各种媒体之间的优化组合。课堂传授采用讲授法、演示法、案例教学法、项目设计教学法等方法,引导学生由浅入深、循序渐进学习和掌握课程内容,增强学生的自觉性和主动性,调动学生的学习热情。以学生自主学习为中心,注重教师在教学过程中发挥引导作用。注重建构适合师生、学生之间交互、讨论的教学环境。(四)课程评价与建议(1)形成性评价与终结性评价相结合,原则上形成性评价(过程考核)成绩占总成绩的50%,终结性评价(课终考核)成绩占总成绩的50%。(各教学单位也可以根据课程性质需要设定相关权重,报教务处备案)(2)形成性评价突出平时考勤、课堂纪律、参与程度、课后作业、实验报告、团队协作精神、实验操作技能、理论知识的理解与掌握、个人学习态度与进步程度等方面综合考核。(3)终结性评价突出理论考核,分阶段进行考核,根据知识段的分量和重要程度,课程组教师讨论决定权重。理论考核可以采取机考与卷考相结合。(4)过程考核形式及要求参照《安徽三联学院课程考核工作管理办法》(三联院教字[2014]35号)执行。主编单位:计算机工程学院计算机科学与技术教研室主编:丁雪晶主审:校对: