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

| 微电子科学与工程

[2017-12-05]

C程序与算法设计课程教学大纲

 

课程基本信息(Course Information

课程代码

Course Code

MR100

*学时

Credit Hours

48

*学分

Credits

3

*课程名称

Course Name

(中文)C程序与算法设计

(英文)C Program and Algorithm Design

课程性质

(Course Type)

选修

授课对象

Audience

             微电子科学与工程专业(本科生)一年级学生

授课语言

(Language of Instruction)

                         中文

*开课院系

School

电子信息与电气工程学院 微纳电子学系

先修课程

Prerequisite

 

授课教师

Instructor

绳伟光

课程网址

(Course Webpage)

 

 

*课程简介(Description

本课程是面向微电子专业本科生的选修课程。课程主要教学内容围绕C语言程序设计(可能穿插部分C++内容)、算法设计两个方面。本课程致力于培养微电子学生在科研与工程实践中所需要的高级语言程序设计能力、算法设计与分析的基本思想,为后续微电子科研软件编写、SoC系统建模、嵌入式开发、EDA相关算法设计等方面打好基础。

本课程重点面向应用,通过本课程的学习,预期学生可掌握基于C语言的结构化程序设计能力、基于C语言的软件设计的工程方法;掌握基本的算法分析思想,掌握数据结构课程很少涉及的分治、动态规划、贪心算法等以及算法复杂度的基本概念,为本专业与算法相关的研究与应用打好基础。

课程考核采用课上表现+实验/作业/Project+考试的方式,总的考核重点是关注知识体系的掌握及思维能力的考核。

*课程简介(Description

The “C Program Design and Algorithm” is an optional course for Microelectronic undergraduate students. The main contents of this course include C program design  (may supplement some C++ contents) and algorithm design. The course endeavors to train the programming ability to use high level programming language, and the fundamental theory of algorithm design and analysis, for the research and engineering of Microelectronic students. Through this course, one can build up better basis for microelectronic research program design, SoC system modeling, embedded software development and EDA algorithms design and implementation.

This course is application oriented and can provide following abilities for the students: C-based structural program design ability, software engineering methodologies based on C programming language, grasping the fundamental theory of algorithm analysis, etc. The algorithms rarely covered in data structure class, such as divide and conquer, dynamic programming, greedy algorithm and complexity analysis will also been taught in this class, preparing for the future application of algorithms in the research work.

Hybrid course examining will be adopted in this class, while the evaluation criterion include class performance, experiments/homework/projects, and the final test. The emphases of the evaluating are focused on the grasping of the knowledge system and the ability of thinking in the C programming and algorithm design.

课程教学大纲(course syllabus

*学习目标(Learning Outcomes)

1.了解高级语言程序设计、算法设计的工程能力及其与微电子科学的关系

2.掌握C高级语言程序设计能力和算法设计与分析能力

3.通过课程的实验与项目实践,培育认识和发现问题的能力和团队协作解决工程问题的能力

*教学内容、进度安排及要求

(Class Schedule

&Requirements)

教学内容

学时

教学方式

作业及要求

基本要求

考查方式

1. 课程简介

2. 冯诺依曼模型

3. 程序运行原理

2

课堂

 

了解

课堂

1. C语言概述

2. C开发环境简介

2

课堂

自主实验

熟悉

课堂

1. C的数据类型

2. C运算符

4

课堂

自主实验

掌握

课堂

1. C的表达式

2. C的控制流

3. C输入输出系统

4

课堂

自主实验

掌握

课堂

实验一:简单C程序设计

2

实验

实验报告

掌握

报告

函数与程序结构

6

课堂

自主实验

掌握

课堂

C指针

4

课堂

自主实验

掌握

课堂

C数组与结构

4

课堂

自主实验

掌握

课堂

实验二:复杂C程序设计

2

实验

实验报告

掌握

报告

1. C内存泄漏检测

2. C程序调试

3. 性能剖析及优化

2

课堂

自主实验

熟悉

课堂

实验三:C程序内存泄漏检测/调试/性能剖析/优化

2

实验

实验报告

熟悉

报告

操作系统C API

2

课堂

大作业1

了解

课堂

算法简介

2

课堂

 

了解

课堂

算法分析基础

2

课堂

作业1

掌握

作业

搜索与遍历

2

课堂

作业2

掌握

作业

分治算法

2

课堂

作业3

掌握

作业

动态规划与贪心策略

2

课堂

作业4

掌握

作业

难解问题

2

课堂

大作业2

了解

作业

*考核方式

(Grading)

本课程的成绩构成分三部分:课堂表现10%、实验/平时作业/大作业50%、期末考试40%

*教材或参考资料

(Textbooks & Other Materials)

(必含信息:教材名称,作者,出版社,出版年份,版次,书号)

1.      C程序设计语言(2), Brian W.Kernighan, Dennis M.Ritchie, 机械工业出版社, 2004. ISBN7111128060.

2.      算法设计与分析基础(3), Anany Levitin, 清华大学出版社, 2015. ISBN9787302386346.

其它

More

 

备注

Notes

 

备注说明:

1.带*内容为必填项。

2.课程简介字数为300-500字;课程大纲以表述清楚教学安排为宜,字数不限。

访问数量:
 a