| 微电子科学与工程
编译技术与算法设计引论 课程教学大纲
Course Outline
课程基本信息(Course Information) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
课程代码 (Course Code) |
MR327 |
*学时 (Credit Hours) |
32 |
*学分 (Credits) |
2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Course Title) |
(中文)编译技术与算法设计引论 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(英文)Introduction to Compiler Techniques and Algorithms Design |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*课程性质 (Course Type) |
专业选修 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
授课对象 (Target Audience) |
微电子科学与工程专业(本科生)本科大三下 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*授课语言 (Language of Instruction) |
中文 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*开课院系 (School) |
学院概况 微纳电子学系 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
先修课程 (Prerequisite) |
数据结构、程序设计方法 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
授课教师 (Instructor) |
绳伟光 |
课程网址 (Course Webpage) |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*课程简介(Description) |
(中文300-500字,含课程性质、主要教学内容、课程教学目标等) 本课程是针对微电子方向的本科高年级专业选修课程。 本课程重点面向应用,主要教学内容包括编译原理、算法分析与设计两项核心内容。编译原理部分主要涉及编译器前端设计的基础知识,包括词法分析技术、语法分析技术、正则表达式、上下文无关文法、编译器构建工具等内容。这些内容对于微电子方向学生在仿真、测试生成、文本分析、编译器设计等方面具有重要作用。算法设计与分析部分主要包括算法渐进复杂度、算法分析,以及相关课程较少涉及的分治、动态规划、贪心算法、搜索策略等内容,为微电子方向学生打好算法方面的基础。 课程教学目标在于以硬件设计者的角度,围绕编译原理、算法设计与分析的主线,培养微电子方向学生的形式化思维以及算法思维能力,为未来面向新型语言(比如新型硬件描述语言、并行体系结构)以及大规模计算硬件时需要的算法设计、分析与优化能力以及编译工具构建的基本思路和方法,为硬件设计者提供软件能力方面的补充。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*课程简介(Description) |
This course is specialized elective for senior undergraduate students of Microelectronic major. This course is application oriented, and the course contents has two main parts: compiler theory, algorithm analysis and design. The compiler theory part mainly concerned the basic knowledge of compiler frontend design, including lexical analysis, syntactic analysis, regular expressions, context free grammars, compiler construction tools, etc. These contents have important role in simulation, test generation, text analysis and compiler of Microelectronic major. The contents of algorithm design and analysis contain asymptotic complexity, algorithm analysis, and the divide and conquer, dynamic programming, greedy algorithm, search strategy that few concerned in related courses, building up better algorithmic basis of Microelectronic major students. The teaching purpose of this course is formulating formal thinking and algorithm thinking ability from a hardware designer perspective for Microelectronic major students, focusing on the compiler theory and algorithm design and analysis. It can also help the students to grasp the basic methods of algorithm design, analysis and optimization, compiling tools construction when they counter new programming language (new HDLs or languages for parallel architectures) or new massively computing hardware. This course will be a better software ability supplementation for hardware designer. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
课程教学大纲(course syllabus) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*学习目标(Learning Outcomes) |
1.形成良好的形式化思维与算法思维能力; 2.了解编译器基本原理及算法,掌握初步的编译工具设计能力,了解编译技术与微电子科学的关系; 3.掌握算法复杂度分析的基本方法与技术,熟悉常见算法的设计,了解算法设计与分析技术与微电子科学的关系; 4.通过课程的实验与项目实践,培育认识和发现问题的能力和团队协作解决工程问题的能力。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*教学内容、进度安排及要求 (Class Schedule &Requirements) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*考核方式 (Grading) |
(成绩构成)最终成绩由平时作业、课堂表现、大作业组合而成。各部分所占比例如下: 上课参与程度:20%,主要考察出勤情况,考核对知识点的掌握程度、口头及文字表达能力。 作业/大作业:80%,主要考察文字表达、独立思考、创造性工作、分析解决问题等方面的能力。每次作业批阅完均有分数,最后汇总最终成绩。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*教材或参考资料 (Textbooks & Other Materials) |
1. 编译原理(第2版), Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, 机械工业出版社, 2009. 2. 算法导论(第3版), Thomas H. Cormen , 机械工业出版社, 2013. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
其它 (More) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
备注 (Notes) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
备注说明:
1.带*内容为必填项。
2.课程简介字数为300-500字;课程大纲以表述清楚教学安排为宜,字数不限。