《数据结构与算法》(Python语言版)课程教学大纲
一、课程性质和教学目标
?课程性质
数据结构和算法是计算机科学的核心领域、是计算机程序的基础。正确、恰当地使用数据结构和相应
的算法决定了程序的性能和效率。数据结构和算法课程的重要性和意义不仅仅在于学习知识技能,同时涵
盖了提高编程能力、增强解决实际问题的能力、提高协作能力等诸多方面,一直是计算机科学与技术、软
件工程等专业的一门重要的专业必修课程。
?教学目标
通过本课程的学习,达到下列目标。
1.夯实基础
让学习者掌握每种数据结构的特点,恰如其分的使用好相应地数据结构和算法,熟悉基础算法的
特点、并能通透理解和正确使用这些基础算法。
2.注重能力
该课程强调数据结构和算法课程的重要性和意义不仅仅在于学习数据结构和算法本身,同时注重
训练、提高学习者的编程能力。教学目标的重要目标之一就是强调怎样正确的使用相应的数据结构和
算法、恰如其分的来解决问题,使用一些经典和实用性强的算法思想并结合一些经典的问题来使得学
习者掌握如何设计和实现高效、优秀的算法,提高解决实际问题的能力。
3.强调实用
数据结构和算法与计算机科学紧密关联,常常应用于解决现实中的问题,课程注重结合一些经典
问题和某些实际问题,使得学习者通过学习该课程,能加深对实际问题的了解,并具有解决某些实际
问题的能力。
4.面向对象
课程体现Python语言实现数据结构的的特色。
二、教学内容
1.数据结构简介8.队列与deque类
2.算法复杂度9.二叉树与set类
3.递归算法10.散列结构与unordered_map类
4.数组11.集合与unordered_set类
5.链表与list类12.常用算法与algorithm库
6.顺序表与vector类13.图论
7.栈与stack类14.经典算法思想
《数据结构与算法》(Python语言版)课程教学大纲
三、教学环节
教学环节包括:课堂讲授、上机实践、课外作业。通过本课程各个教学环节可以培养学生的自学能力、
动手能力、分析解决问题的能力。
1.课堂讲授
(1)教学方法上尽量采用启发式、讨论式教学,在课堂上多提问题,安排一些自学内容,鼓励学生自
学、培养学生的自学能力。结合实际问题,更新教学内容,改进教学方法,通过上机实践,培养学生的动
手能力和创新能力。
(2)利用多功能教室,结合黑板讲解,演示较大程序的结构及其运行效果,以提高课堂信息量,增加
教学的直观性。
2.实践课
根据教学需要,要适当安排实践课。
3.考核
采取期末考试和平时考核相结合的方式。
四、学时分配
本课程总学时是56学时,其中包含课内上机10学时。上机学时的主要目的是针对教材相应的知识点
进行基本训练。其中上机内容安排的时间和内容见学时分配建议。5次上机(10学时),教师可更具实际
情况确定上机实践的具体内容(也可参考作者提供的上机参考教案)。通过上机实践环节可以加深学生对
理论知识的理解和掌握,同时提高学生分析问题、解决问题的能力,培养学生实践能力与创新能力。
整个知识架构分成三大模块-算法基础(基础模块),结构及其算法(重点模块),专项算法(难点
模块),如下列三大模块图(不含上机实践)。
算法基础模块(8学时)结构及其算法模块(30学时)专项算法模块(8学时)
?数据结构简介?数组