《数据结构实验》课程教学大纲
一、课程基本信息
1. 课程编码:U12P71035
2. 课程名称(中/英文):数据结构实验/Data Structure Experiment
3. 学时/学分:16/1
4. 实验项目数:4
5. 先修课程:数据结构
6. 开课单位:管理学院
7. 开课学期:秋
8. 课程类别:专业核心课程
9. 课程简介(中/英文):
本课程是与《数据结构》理论课配套的实验课,主要内容包括:线性表、栈和队列、树与二叉树以及图。学生通过独立设计和实现解决实际问题的算法,能够更加深刻地理解数据的逻辑关系结构和物理存储结构、算法的时间复杂度和空间复杂度等关键概念,更加牢固地掌握线性表、栈与队列、树和图等最核心的数据结构知识体系。
This course is an experimental course supporting the "Data Structure" theory course. Its main contents include: linear table, stack and queue, tree and binary tree as well as graph. By independently designing and implementing algorithms that solve practical problems, students can gain a deeper understanding of key concepts such as the logical relationship structure and physical storage structure of data, the time complexity and space complexity of the algorithm, and have a firmer grasp of linear table, stack and queue, tree and graph as well as other core data structure knowledge system.
二、教学目标
《数据结构》是众多计算机专业课的先修理论基础课,需要通过大量上机实践方能对所学知识融会贯通。本课程是与《数据结构》配套的实验课,对于学生牢固掌握并灵活运用数据结构知识至关重要。学生学完这门课后,针对各种非数值问题,应能够正确分析其数据对象的特征,为数据对象选择合理的组织和表示方法,独立设计数据对象的逻辑结构、存储结构及相应算法,初步掌握算法的时间复杂度和空间复杂度分析方法,养成良好的程序设计风格,具备一定的设计复杂算法程序的技能。
三、教学内容及教学要求
本课程由四个实验组成,各实验的教学内容及教学要求如下:
实验1:线性表实验。从教材第二章最后的实习题中任选一道,完成算法的设计与实现。本实验的难点与重点是理解和掌握线性表一对一的逻辑结构、顺序存储和各种链式存储结构。
实验2:栈与队列实验。从教材第三章最后的实习题中任选一道,完成算法的设计与实现。本实验的难点与重点是理解和掌握栈的先进后出特性和队列的先进先出特性,并能熟练运用到实际问题中。
实验3:树与二叉树实验。从教材第三章最后的实习题中任选一道,完成算法的设计与实现。本实验的难点与重点是理解和掌握树的一对多逻辑结构和各种存储结构、二叉树的各种特性及其与树和森林的关系、二叉树、树及森林的各种遍历方法。
实验4:图实验。从教材第三章最后的实习题中任选一道,完成算法的设计与实现。本实验的难点与重点是理解和掌握图的多对多逻辑结构、广度优先遍历和深度优先遍历、图的几种典型应用。
四、 思政育人
1. 目标:将价值塑造、能力培养和知识传授有机融合,贯穿于实验指导、实验答疑、实验点评等实验教学的各个环节。
2. 教学内容:挖掘和提炼蕴含在实验指导、实验答疑、实验点评等实验教学内容中的思想政治教育元素,包括爱国情怀、创新意识、科学精神等,强化学生价值塑造。
3. 教学方法:将思政元素引入实验指导、实验答疑、实验点评等环节,引导学生主动思考专业知识与思政元素的内在联系,将思政元素更好与专业知识相结合。
五、实验项目内容及学时分配
序号 |
项目名称 |
学时 |
实验类型 |
实验要求 |
1 |
线性表实验 |
4 |
设计 |
必修 |
2 |
栈与队列实验 |
4 |
设计 |
必修 |
3 |
树与二叉树实验 |
4 |
设计 |
必修 |
4 |
图实验 |
4 |
设计 |
必修 |
注:实验类型分为验证、综合、设计、创新。实验要求分为必修、选修。
六、实验安全事项
本实验不存在安全隐患。
七、主要教材及教学参考书(包括实验指导书)
序号 |
名称 |
作者 |
译者 |
出版社 |
出版时间 |
1 |
数据结构——用C语言描述 |
耿国华等 |
|
高等教育出版社 |
2015.7 |
八、实验报告要求
实验报告的开头应给出题目、班级、姓名、学号和完成日期,并包括以下7个内容:
1.需求分析
以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:
(1)输入的形式和输入值的范围;
(2)输出的形式;
(3)程序所能达到的功能;
(4)测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
2.概要设计
说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
3.详细设计
实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序);画出函数和过程的调用关系图。
4.调试分析
内容包括:
(1)调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;
(2)算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)和改进设想;
(3)经验和体会等。
5.用户使用说明
说明如何使用你编写的程序,详细列出每一步的操作步骤。
6.测试结果
列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格,最好多于需求分析中所列。
7.附录
带注释的源程序。
九、使用的主要仪器设备说明
序号 |
仪器设备名称 |
用途 |
1 |
个人台式计算机 |
设计、编写和调试算法 |
十、主要消耗材料
无。
十一、考核方式及成绩评定
成绩组成 |
考核/评价环节 |
分值(或百分比) |
考核/评价细则 |
教学目标 |
出勤率 + 实验态度 + 实验报告 |
出勤率 |
10 |
无履行请假手续旷课者,每次扣2.5分。 |
全勤 |
实验态度 |
40 |
实验过程中从事与实验无关的活动,发现一次扣5分。 |
全投入 |
实验报告 |
50 |
完全符合要求者满分,部分为达到要求者酌情扣分。 |
全达标 |
十二、其他说明和注意事项
无。
课程负责人签名:
专家组评审意见:
专家组组长签名:
审核日期:
开课单位教学委员会审核意见:
教学委员会负责人签名:
审核日期: