课程名称:编译原理实践 课程编码:7305701 课程学分:0.5学分 课程学时:16学时 适用专业:计算机科学与技术 先修课程:C程序设计,数据结构,编译原理 课程类别:专业必修课(独立设置的实验课》 《编译原理实践》 课程实验教学大纲 一、课程简介与目标 本课程的授课对象为计算机科学与技术专业学生,课程属性为专业实践必修 课。该课程的目的是通过实践,熟悉和掌握基本的编译技术和方法,深化理解和 灵活掌握教学内容,培养学生设计算法的能力和编程解决实际问题的动手能力: 通过本课程的学习和实践,使学生具有设计、实现、分析和维护编译程序的 初步能力,同时提高学生开发软件的能力。 1.课程支撑的毕业要求 4.2能够利用计算机相关的软、硬件平台或模拟器等基本方法和工具,对设 计的研究方案进行验证,或对实验进行组织实施。 5.2能够对一般性工程问题,选择不同开发环境和工具进行开发和实现,并 可以进行前期分析以及计算模拟,并能对所得数据给出合理解释。 2课程拟达到的教学目标 本课程的教学目标为: 目标1:能够掌握设计算法的能力和编程解决实际问题的动手能力: 目标2:能够掌握词法分析器的简单设计,能够根据文法进行单词分类,利 用状态转换图描述单词的识别过程,并根据状态转换图编写词法分析程序: 目标3:能够了解语法分析的作用及基本实现过程,能够编程实现算符优先 分析法中优先表的构造、算符优先语法分析程序。 课程思政目标:本课程在培养学生专业素质和动手能力的同时,培养学生精 益求精的工匠精神以及努力拼搏、锐意进取精神,提高学生的实践创新能力。 3.课程教学目标毕业要求关系表 课程教学目标毕业要求关系表见表1。 1
1 课程名称:编译原理实践 课程编码:7305701 课程学分:0.5学分 课程学时:16学时 适用专业:计算机科学与技术 先修课程:C程序设计,数据结构,编译原理 课程类别:专业必修课(独立设置的实验课) 《编译原理实践》 课程实验教学大纲 一、课程简介与目标 本课程的授课对象为计算机科学与技术专业学生,课程属性为专业实践必修 课。该课程的目的是通过实践,熟悉和掌握基本的编译技术和方法,深化理解和 灵活掌握教学内容,培养学生设计算法的能力和编程解决实际问题的动手能力。 通过本课程的学习和实践,使学生具有设计、实现、分析和维护编译程序的 初步能力,同时提高学生开发软件的能力。 1.课程支撑的毕业要求 4.2 能够利用计算机相关的软、硬件平台或模拟器等基本方法和工具,对设 计的研究方案进行验证,或对实验进行组织实施。 5.2 能够对一般性工程问题,选择不同开发环境和工具进行开发和实现,并 可以进行前期分析以及计算模拟,并能对所得数据给出合理解释。 2.课程拟达到的教学目标 本课程的教学目标为: 目标 1:能够掌握设计算法的能力和编程解决实际问题的动手能力; 目标 2:能够掌握词法分析器的简单设计,能够根据文法进行单词分类,利 用状态转换图描述单词的识别过程,并根据状态转换图编写词法分析程序; 目标 3:能够了解语法分析的作用及基本实现过程,能够编程实现算符优先 分析法中优先表的构造、算符优先语法分析程序。 课程思政目标:本课程在培养学生专业素质和动手能力的同时,培养学生精 益求精的工匠精神以及努力拼搏、锐意进取精神,提高学生的实践创新能力。 3.课程教学目标-毕业要求关系表 课程教学目标-毕业要求关系表见表 1
表1课程教学目标毕业要求关系表 毕业要求 课程目标 毕业要求4.2 毕业要求5.2 课程目标1 课程目标2 课程目标3 二、课程教学内容与要求 1.课程重点 词法分析器的设计。 语法分析器的设计。 2.课程难点 根据状态转换图编写词法分析程序】 编写算符优先语法分析程序。 3.课堂教学(16学时) 表2各知识单元教学内容、考核要求和学时分配 实践一:词法分析器构造(设计性) 实验室讲授,电子课件,上机实践。如 遇突发事件,采用企业微信/腾讯会议/ 学时分配 8学时 教学方式 中国大学MOOC远程教学平台等线上形 式上机实践,或者采用线下线上融合上 机实践。 教学内容 重点难点 通过对给定源语言词法分析程序的设计,加深对词法分 1 析原理的理解,掌握源语言的接收、存贮、预处理和扫 描分析,生成正确的单词符号串二元式序列。 了解状态转换图与程序设计语言中单词的联系:掌握词 2 法分析器的程序设计技巧。 3 掌握根据状态转换图编写词法分析程序的方法。 词法分析器的简单设计、根据文法进行单词分类,并利用状态转 考核要点 换图描述单词的识别过程、根据状态转换图编写词法分析程序。 实践二:语法分析器构造(设计性)
2 表1 课程教学目标-毕业要求关系表 毕业要求 4.2 毕业要求 5.2 课程目标1 √ 课程目标2 √ 课程目标3 √ 二、课程教学内容与要求 1.课程重点 词法分析器的设计。 语法分析器的设计。 2.课程难点 根据状态转换图编写词法分析程序。 编写算符优先语法分析程序。 3.课堂教学(16 学时) 表 2 各知识单元教学内容、考核要求和学时分配 实践一:词法分析器构造(设计性) 学时分配 8学时 教学方式 实验室讲授,电子课件,上机实践。如 遇突发事件,采用企业微信/腾讯会议/ 中国大学MOOC远程教学平台等线上形 式上机实践,或者采用线下线上融合上 机实践。 教学内容 重点 难点 1 通过对给定源语言词法分析程序的设计,加深对词法分 析原理的理解,掌握源语言的接收、存贮、预处理和扫 描分析,生成正确的单词符号串二元式序列。 2 了解状态转换图与程序设计语言中单词的联系;掌握词 法分析器的程序设计技巧。 √ 3 掌握根据状态转换图编写词法分析程序的方法。 √ 考核要点 词法分析器的简单设计、根据文法进行单词分类,并利用状态转 换图描述单词的识别过程、根据状态转换图编写词法分析程序。 实践二:语法分析器构造(设计性) 毕业要求 课程目标
实验室讲授,电子课件,上机实践。如 遇突发事件,采用企业微信/腾讯会议 学时分配 8学时 教学方式 中国大学MOOC远程教学平台等线上形 式上机实践,或者采用线下线上融合上 机实践。 教学内容 重点难点 在词法分析器实践基础上,设计实现一个高级语言语法 1 分析器。 借助词法分析程序提供的分析结果,编写一个算符优先 2 小 语法分析程序。 掌握算符优先语法分析程序中进行语法结构分析和错 误检查,并产生相应的归约信息,同时给出出错信息和 错误类型的方法,从而加深对语法分析的理解。 算符优先语法分析程序的编程实现、能进行语法结构分析和错说 考核要点 检查、能产生归约信息,并能给出出错信息和错误类型。 三、课程安排与要求 1.课程安排 1)根据实践指导书中的实践任务,在实践前认真复习实践涉及的相关知识 和算法: 2)熟悉实践环境,并独立完成算法设计。 2.实践报告要求 1)实践报告封皮:实践题目、班级、学号、姓名、完成日期。 2)实践目的和要求、实践内容。 3)实践的实现,包括主要设计思想、实现算法及程序流程图、主要技术问 题的处理方法、源程序(包括必要的注释)、实践运行结果及分析(包括测试用 例源程序,运行结果截图,以及对运行结果的分析)。 4)本次实践总结体会,以及对本次实践过程及方法、手段的改进建议。 四、本课程与其它相关课程的联系与分工 《编译原理实践》是培养计算机专业人才的重要实践类基础课,该课程是与 理论课程《编译原理》同步的实践课程,基本内容的理论知识来源于《编译原理》 理论课,《编译原理实践》课程是理论的具体实现过程。两门课程内容相互交叉, 完成对学生实践能力的培养。 3
3 学时分配 8学时 教学方式 实验室讲授,电子课件,上机实践。如 遇突发事件,采用企业微信/腾讯会议/ 中国大学MOOC远程教学平台等线上形 式上机实践,或者采用线下线上融合上 机实践。 教学内容 重点 难点 1 在词法分析器实践基础上,设计实现一个高级语言语法 分析器。 2 借助词法分析程序提供的分析结果,编写一个算符优先 语法分析程序。 √ 3 掌握算符优先语法分析程序中进行语法结构分析和错 误检查,并产生相应的归约信息,同时给出出错信息和 错误类型的方法,从而加深对语法分析的理解。 √ 考核要点 算符优先语法分析程序的编程实现、能进行语法结构分析和错误 检查、能产生归约信息,并能给出出错信息和错误类型。 三、课程安排与要求 1.课程安排 1)根据实践指导书中的实践任务,在实践前认真复习实践涉及的相关知识 和算法; 2)熟悉实践环境,并独立完成算法设计。 2.实践报告要求 1)实践报告封皮:实践题目、班级、学号、姓名、完成日期。 2)实践目的和要求、实践内容。 3)实践的实现,包括主要设计思想、实现算法及程序流程图、主要技术问 题的处理方法、源程序(包括必要的注释)、实践运行结果及分析(包括测试用 例源程序,运行结果截图,以及对运行结果的分析)。 4)本次实践总结体会,以及对本次实践过程及方法、手段的改进建议。 四、本课程与其它相关课程的联系与分工 《编译原理实践》是培养计算机专业人才的重要实践类基础课,该课程是与 理论课程《编译原理》同步的实践课程,基本内容的理论知识来源于《编译原理》 理论课,《编译原理实践》课程是理论的具体实现过程。两门课程内容相互交叉, 完成对学生实践能力的培养
五、课程教学设计与教学组织 1.教学设计 根据教学内容,学生设计词法分析和语法分析算法,并编程实现。 2.教学组织 课前将实践指导书发放给学生。学生课前需通过实践指导书了解实践要求, 并完成算法设计,课上根据学生理解情况进行集体讲解或个别答疑,并由学生独 立完成程序的实现。 六、教材、实践指导书及教学参考资料 1.教材 无 2.实践指导书 自编讲义《编译原理实践指导书》 3.参考书 [山陈火旺,刘春林,谭庆平,赵克佳,刘超,程序设计语言编译原理(第 3版),国防工业出版社,2006. [2)刘春林,王挺,周会平,钟求真,编译原理:学习指导与典型题解析, 国防工业出版社,2004. 七、知识单元对课程目标的达成度设计 1.知识单元支撑课程目标情况表 围绕每一个具体的课程目标,从相关支撑知识单元的角度设计不同的考核方 式,如表3所示。 表3知识单元支撑课程目标情况表 课程目标 知识单元 考核方式设计 实践一:词法分析器构造(设计性) 目标1 以验机进行考核。 实践二:语法分析器构造(设计性) 目标2 实践一:词法分析器构造(设计性) 以实践报告进行考核。 目标3实践二:语法分析器构造(设计性)以实践报告进行考核。 2.课程的总体考核方法及量化评定标准 依照每部分知识单元对课程目标的支撑情况设计考核方法与成绩评定。本课 程采用100分制考核方式,其中实践实现的验机成绩占50%、实践报告占50%, 如遇突发事件,采用企业微信/腾讯会议等线上形式验机,或者采用线下线上融 合形式验机
4 五、课程教学设计与教学组织 1.教学设计 根据教学内容,学生设计词法分析和语法分析算法,并编程实现。 2.教学组织 课前将实践指导书发放给学生。学生课前需通过实践指导书了解实践要求, 并完成算法设计,课上根据学生理解情况进行集体讲解或个别答疑,并由学生独 立完成程序的实现。 六、教材、实践指导书及教学参考资料 1.教材 无 2.实践指导书 自编讲义《编译原理实践指导书》 3.参考书 [1] 陈火旺,刘春林,谭庆平,赵克佳,刘超,程序设计语言编译原理(第 3 版),国防工业出版社,2006. [2] 刘春林,王挺,周会平,钟求真,编译原理:学习指导与典型题解析, 国防工业出版社,2004. 七、知识单元对课程目标的达成度设计 1.知识单元支撑课程目标情况表 围绕每一个具体的课程目标,从相关支撑知识单元的角度设计不同的考核方 式,如表 3 所示。 表 3 知识单元支撑课程目标情况表 课程目标 知识单元 考核方式设计 目标1 实践一:词法分析器构造(设计性) 实践二:语法分析器构造(设计性) 以验机进行考核。 目标2 实践一:词法分析器构造(设计性) 以实践报告进行考核。 目标3 实践二:语法分析器构造(设计性) 以实践报告进行考核。 2.课程的总体考核方法及量化评定标准 依照每部分知识单元对课程目标的支撑情况设计考核方法与成绩评定。本课 程采用 100 分制考核方式,其中实践实现的验机成绩占 50%、实践报告占 50%。 如遇突发事件,采用企业微信/腾讯会议等线上形式验机,或者采用线下线上融 合形式验机
八、其它类别问题的说明 无。 大纲撰写人:杨建、张永梅、束劼 大纲审阅人:方英兰 系负责人:段建勇 学院负责人:马礼 制(修)订日期:2021年8月
5 八、其它类别问题的说明 无。 大纲撰写人:杨建、张永梅、束劼 大纲审阅人:方英兰 系负责人:段建勇 学院负责人:马礼 制(修)订日期:2021年8月