《数据结构与算法》课程标准
职业教育及专业拓展平台: 职业技术课
是否专业核心课程: 是
主编: 张扬 主审: 梁平
课程编码: 1102203 总学时: 64
适用专业: 计算机应用技术 实践比例(%): 15.6% 课程类型: (理论+实践)课 精品课程: 有 开设学期: 第二学期
学分: 4 考核方式: 考试 制(修)订日期: 2010年6月
一、课程描述
随着计算机软件和硬件的发展,计算机的应用已经深入到社会的各个领域,各行各业都需要对大量的非数值数据进行存储、加工和管理。如何根据实际应用研究的要求,对这些大量的表面上杂乱无章的数据进行有效地组织、存储和处理,编制出相应的高效算法,这就是《数据结构与算法》这门课程所要研究并加以解决的问题。
《数据结构与算法》是计算机科学中一门综合性的专业技术基础课,也是计
算机科学技术应用专业的必修课程,为计算机专业技术人员提供必要的专业基础知识和技能训练,同时也是计算机应用相关学科所必须掌握的课程。通过本课程的学习,使学生熟练掌握计算机程序设计中常见的各种数据的逻辑结构、存储结构及相应的运算,初步掌握算法的时间分析和空间分析的技术,并能根据计算机加工的数据特性运用数据结构的知识和技巧设计出更好的算法和程序,并进一步培养基本的良好的程序设计能力。
《数据结构与算法》课程适用于三年制计算机应用技术专业,在第二学期开设。
二、课程培养目标
本课程以培养学生的数据抽象能力和复杂程序设计的能力为总目标。通过本课程的学习,学生可以学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及其相应的运算,并初步掌握算法的时间分析和空间分析的技术;另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。
1.专业能力目标
(1)掌握各种主要数据结构的特点、计算机内的表示方法,以及处理数据的算法实现。
(2)使学生学会分析研究计算机加工的数据结构的特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。
(3)通过对本课程算法设计和上机实践的训练,培养学生的数据抽象能力和复杂程序设计的能力。
2.方法能力目标
(1)有初步的算法分析和设计能力。 (2)能够有效地获取、利用、传递信息。
(3)通过独立学习,不断获取新的知识和技能,能够在工作中寻求发现问题、解决问题的途径。
3.社会能力目标
(1)培养学生“爱岗、敬业、细致、求精”的职业道德与情感。
(2)培养学生良好的动手实践习惯,尤其注重挖掘学生的潜质。 (3)注重培养学生与社会接轨。 (4)培养学生严谨的行事风格。
三、与前后课程的联系
《数据结构与算法》课程为计算机应用技术专业的基础课,前修课程为《计算机应用基础》、《高级语言程序设计》,后续课程为:《C++程序设计》、《C#程序设
计》等。
四、学习内容与学时分配
本课程标准从计算机软件技术及应用技术专业的视角出发,以满足本专业就业岗位所必须具备的计算机软件技术基础知识为基础,教学内容设计通过岗位工作目标与任务分析,分解完成工作任务所必备的知识和能力,采用并列和流程相结合的教学结构,构建教学内容的任务和达到工作任务要求而组建的各项目,以及教学要求和参考教学课时数。通过实践操作、案例分析,培养学生的综合职业能力,基本达到程序员级职业技能鉴定标准。主要内容如下: (1)绪论
内容:数据结构的基本概念和术语,算法的概念、特点。 (2)线性表
内容:线性表的定义及运算,线性表的顺序存储结构和链式存储结构,循环链表和双向链表,链表的应用和算法举例。 (3)栈和队列
内容:栈的定义及运算,栈的顺序结构与链表结构,栈的应用,队列的定义及运算,队列的顺序结构与链表结构,栈和队列的算法实现。 (4)字符串与数组
内容:串的概念,存储结构和运算,数组的基本概念,稀疏矩阵。 (5)树
内容:树的基本概念,二叉树的遍历,线索二叉树,森林,树的应用。 (6)图
内容:图的基本概念和术语,图的存储结构,图的遍历,生成树的概念,最短路径,拓扑排序。
(7)查找
内容:静态和动态查找表,哈希表及其查找。 (8)排序
内容:插入排序、交换排序、选择排序法。
学时分配
学习单元编号 学时分配 学习任务 学习要求 一体化学时 实践比例(%) 备注 1 绪论 掌握数据、数据元素、数据对象、物理结构和逻辑结构、数据结构的概念。 掌握线性表的定义,向量的基本运算,单链表与指针的关系和基本运算,循环链表与双向链表,多项式相加问题的求解。 掌握栈和队列的定义、顺序结构与链表结构及相应的算法 掌握串的概念,顺序与链式存储结构和基本运算。 掌握数组的概念,稀疏矩阵的存储。 掌握树和二叉树的定义,二叉树的性质、存储结构、遍历算法,线索二叉树的概念与存储,树与二叉树森林的转换,二叉排序树和哈夫曼树。 掌握图的基本概念和术语,邻接表,图的建立与遍历,最小生成树的求法,最短路径的求法。 掌握顺序表、有序表、索引顺序表的查找,二叉排序树和二叉平衡树,哈希函数与哈希表,解决冲突的方法。 掌握几种基本的排序方法 2 15 2 线性表 10 15 3 栈和队列 8 15 4 字符串与数组 8 15 5 树 12 15 6 图 12 15 7 查找 8 15 8 排序 4 15 总计 64 15 五、考核方式与标准
本课程教学评价采用过程性评价与结果性评价相结合完成。注重对学生动手能力和实践分析问题、解决问题能力的考核,对学习和实践环节上有创新的学生应特别给予鼓励,综合评价学生能力。
本课程的过程性评价建议包括学生平时课堂表现、作业完成情况、考勤情况、单元测试成绩、实训成绩等,约占总评成绩的40%。
本课程结果性评价是指期末笔试。笔试全面考核本课程所学知识与技能,重点考核与实践能力紧密相关的知识,并与全国计算机二级考试紧密结合,约占总评成绩的60%。
六、教学与实践环境要求
教学环境:具备多媒体教学系统,能实现边讲边练。 设备条件:教师操作演示用机和学生操作用机须安装VC++。
七、课程实施建议
1.教材选用建议 (1)教材:
高职、高专规划教材《数据结构》,邓文华编著,清华大学出版社 (2)教学参考书:
《数据结构(C语言版)》,严蔚敏 吴伟民编著,清华大学出版社,2007.3 《数据结构(C语言版)》,胡学钢主编,高等教育出版社,2008.1 2.教学建议
(1)在教学过程中应结合现实生活中的具体实际应用实例,通过实验、实训应用与理论的结合以激发学生学习数据结构的兴趣。
(2)教学可在多媒体教室进行,借助于多媒体课件组织教学。
(3)教学过程中可参考计算机软件资格考试(初级、中级、高级)或全国 计算机等级考试(二级)规定的有关程序设计和数据结构的知识要求和技能等级职业标准。
3.教师要求
(1)担任本课程主讲教师应该熟悉各种算法的思想及软件开发流程,具有