a
当前位置: 课程信息 >  微电子科学与工程

| 微电子科学与工程

[2017-12-05]

  编译技术与算法设计引论  课程教学大纲

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)

教学内容

学时

教学方式

作业及要求

基本要求

考查方式

课程简介及计算的本质

2

课堂

 

了解

课堂

词法分析

4

课堂

作业1

掌握

作业

上下文无关文法

2

课堂

 

熟悉

课堂

自顶向下分析

2

课堂

作业2

掌握

作业

自底向上分析

2

课堂

作业3

熟悉

作业

Parser构造及应用

2

课堂

大作业1

掌握

大作业

算法设计与分析基础

2

课堂

作业4

掌握

作业

分治算法

2

课堂

作业5

掌握

作业

动态规划算法

2

课堂

作业6

掌握

作业

贪心算法

2

课堂

 

熟悉

课堂

均摊分析

2

课堂

 

了解

课堂

随机与近似算法

2

课堂

作业7

了解

作业

最大值最小值方法

2

课堂

作业8

了解

作业

树搜索策略

2

课堂

作业9

了解

作业

现代优化算法

2

课堂

大作业2

了解

大作业

*考核方式

(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字;课程大纲以表述清楚教学安排为宜,字数不限。

访问数量:
 a