1 .课程指导思想与定位

“数据结构与算法设计 ”是为信息科学技术学院信息类非计算机专业学生的开设的一门公共基础课程。该课程计划 48 学时,其中理论学时 36 ,课内实验学时 12 。每年修课人数约 700 人。
  该课程是 1999 年立项的北京理工大学电子工程的教改项目。开设该课程的目的主要使学生了解数据抽象的目的和意义,学会分析研究计算机加工的数据对象的特征,选择合适的数据结构和存储结构以及相应的算法。初步学会各种算法时间和空间开销的分析方法,同时学习本课程也是进行面向对象程序设计的训练过程。因此,要求学生能用 C++ 程序设计语言编写程序,进而能书写结构清晰正确的算法。通过上机实验,使学生受到严格的基本技术训练,以便为后续的程序开发与实践打下良好的基础。

“数据结构与算法设计” 以算法为中介,使学生学习 C++ 程序设计语言和学习数据结构并进。因为语言只有满足算法的需求,才能被更好的认识和掌握,数据结构只有依赖语言的发展才能拓展其应用领域。

  对于信息类非计算机专业的本课生,有必要在学习“ C 语言程序设计”的基础上,进一步学习、掌握面向对象的 C++ 程序设计和有效组织各种数据在计算机中的存储、传递和转换的方法,从而提高程序设计和软件开发能力。本课程正是为了满足这种需求而开设的。

通过几年来教学和实践证明,本课程花费较少的学时,使信息类非计算机专业的学生能力得到了很大的提高,对本科生继续深造和就业起到积极的作用。

2 .教学内容

本课程以 C++ 程序设计语言为工具,在学生已先修了“ C 语言程序设计”课程的基础上,首先学习面向对象的 C++ 程序设计方法。然后采用面向对象方法与 C++ 描述,通过对数据抽象,研究数据的逻辑结构、存储结构及相应的算法。教学过程中,强调基本概念和基本算法,强调算法设计与实现。

“数据结构与算法设计 ”包括以下内容:

( 1 )理论讲授

第一部分 面向对象的 C++ 程序设计基础

主要包括:面向对象的概述、类及其对象的封装性、友员、重载和引用、继承与派生、虚函数与多态性、模板等。

第二部分 数据结构的 C++ 抽象类及其实现

主要包括:数据结构基本概念、线性表、堆栈、队列、树和二叉树等

( 2 )上机实验

课内机时部分:

•   类及其对象的封装性、友员、重载和引用、继承与派生、虚函数与多态性、模板

•   线性表、堆栈、队列、树和二叉树   。

课外机时部分:

•   输入输出流

•  Visual C++ 开发环境下的可视化编程

•  其他一些数据结构的相关实验

通过上述的实验,加深了学生对使用 C++ 进行面向对象程序设计概念和方法的理解和掌握,同时,也将数据结构融合到面向对象的方法中。

3 .教师队伍

本课程教学团队是一支学历、年龄结构合理,教学经验丰富,创新意识强的队伍。教学团队共有教师 9 名,其中具有高级职称的人员占 60% 以上,青年教师均具有硕士或博士学位,具有国外求学和研究经历。

教学团队教学思想活跃、学术气氛浓厚,承担了多项基金课题和研究项目,发表了多篇学术论文,取得了多项校级优秀成果奖。在理论与工程实践结合上、把握学科前沿和发展方向上具有较大的优势。

4 .教学条件和方法

本课程教材配备齐全,满足教学要求,教学效果良好。

广泛采用多媒体教学,具有良好的实验环境。

5 .课程特色

本课程的主要特色是,在有限的学时内,即介绍了面向对象的程序设计,又将系统的数据结构的思路融合到面向对象的方法,力求以算法为中介,使学习程序语言和学习数据结构共进,符合信息技术发展对信息类非计算机专业类学生的需求。同时强调应用,注重培养应用能力,针对大多数学生的认知能力,尽量采用通俗易懂的方法说明复杂的概念,使学生易于学习。

每学期定期组织课程组的全部人员进行研讨会和交流会,讨论课程的建设,提高教学质量。

课程组教师均采用统一课程的教学课件,每年更新内容,保证本课程的基础性、前沿性和时代性。

6 .考核方式

考核成绩卷面占 80% ,实验课成绩占 20% 。