《数据结构与算法课程设计》教学大纲
一、基本概况
环节名称 | 数据结构与算法 课程设计 | 实践环节代码 | 400802010 |
英文名称 | DataStructures and Algorithms Course Project | 周数/学分 | 1/1 |
环节类别 | 必修 | 考核方式 | 课程设计报告 |
先修课程 | 数据结构与算法 | 适用专业 | 计算机科学与技术(实验班) |
实习指导书 | 数据结构教程 上机实验指导 | 开设院系 | 数据科学与大数据 |
大纲执笔人 | 朱珣 | 审核人 | 曾鹏 |
课程简介
数据结构与算法课程设计是数据结构与算法的配套课程,主要目的是通过课程设计的综合性的训练,培养学生分析问题、解决问题和编程等实际动手能力,最终目标是通过这种形式,帮助学生系统掌握数据组织和数据处理技术。本课程的前导课程有《程序设计基础》、《数据结构与算法》等。
DataStructures and Algorithms Course Project is a supporting course ofdata structure andalgorithms.It is beneficial to students to consolidate the basic principles andmethods of data structure, master data organization and dataprocessing technology, and cultivate the ability to analyzeand solveproblems efficiently. The guide courses ofthis course include “program designing”, "DataStructure and Algorithm" and so on.
课程目标
《数据结构与算法课程设计》课程的学习有利于加强学生对数据结构与算法课程的深入理解,进一步提升程序设计能力。该环节蕴含着复杂问题的抽象能力、解决问题的分析思路和方法等分析问题能力的培养和通过自身劳动创造社会财富的价值观,为学生毕业后从事复杂软件设计及计算机科学研究等相关工作培养理论学习基础以及实践技能的训练。
本课程的教学目标是:
课程目标1:掌握各种数据结构的特点、存储表示、运算的原理和方法,学会从问题入手,分析研究计算机加工的数据结构的特性,以便为应用所设计的数据选择适当的逻辑结构、存储结构及其相应的操作算法,并初步掌握时间和空间分析技术。
课程目标2:具备数据抽象能力和程序设计能力,计算机软件系统相关的工程实现能力,能针对特定工程问题研究相关专业文献,设计研究方案,构建实验系统,并具体实现。增强诚实劳动意识,不断提高创新学习、独立分析和解决问题的能力,以适应社会的变化和发展。
1本课程目标与毕业要求指标点的对应关系如下表所示:
表1课程目标与毕业要求指标点的对应关系
毕业要求及指标点 | 课程 目标1 | 课程 目标2 | |
毕业要求2 | 2、问题分析能力 2-2能够运用专业知识与方法、工程科学的原理分析与表达计算机科学领域复杂工程问题的主要构成、影响因素及其相互关系,确认问题解决方案的合理性和可行性。 | √ | |
毕业要求4 | 4、研究 4-1能够基于科学原理和科学方法,针对计算机软/硬件系统和复杂工程应用问题进行系统建模,设计科学合理的研究方案。 | √ | |
课程设计内容与要求
24.1 课程设计内容
运用所学的数据结构与算法知识,基于VC、DevC等程序设计编辑环境,完成一个完整的数据结构与应用程序的设计,最终提交设计文档和工程文件。提交的设计文档内容必须包括:任务概述、需求分析、概要设计、物理设计与功能实现和调试分析;工程文件需要提交程序源码和可执行文件。
设计文档的内容要求:(1)在需求分析中需要按照理论课讲授的方法,形成数据流图、数据字典以及相应的功能说明;(2)在概要设计中,需要明确每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义;(3)在详细设计中,包含各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)。源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释;(4)在调试分析中,包含测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考,算法的改进设想等。
思政融入点:在课程设计中融入数据结构与算法的设计思想,理解设计者的创作灵感。
任课教师可自拟难度适当的课程设计题目由学生完成。
建议教学安排
序号 | 主要内容 | 完成时间(天) | 课程目标 | 教学方式 | 考核方式 |
1 | 任务概述和需求分析 | 1 | 1 | 上机 | 设计报告 |
2 | 数据结构设计 | 1 | 1 | 上机 | 设计报告 |
3 | 功能设计 | 1 | 2 | 上机 | 设计报告 |
4 | 物理设计与功能实现 | 1 | 2 | 上机 | 设计报告 |
5 | 调试分析 | 1 | 2 | 上机 | 设计报告 |
本环节采用设计报告进行考核,在课题实现和撰写环节报告时,需尽可能地把数据结构与算法课程中所学的内容反映在大作业报告中,在这一系列创新训练活动中实现对学生劳动技能的培养。大作业评分标准参考以下标准:
(1)【10分】要求按照规范的系统设计报告格式来撰写报告。报告包括封面(项目的题目、姓名等)、课程设计内容和要求、设计思路、采用的数据结构、模块功能与实现和测试结果分析及截图。。
(2)【20分】报告内容要根据课题详细撰写。仅仅把程序代码复制一遍当作设计内容的,不得分。
(3)【20分】根据课题要求选用合适的数据结构,并能正确使用相应算法完成功能需求。
(4)【30分】程序有符合题目要求的输入和正确的输出,达到课题的功能要求。
(5)【20分】答辩环节中,能准确阐述课题的设计思想和实现方法,思路清晰,能正确回答问题。
各项评分合计100分,并将总分换算成不及格、及格、中等、良好、优秀等成绩等级。具体的评分要求参考当年的《数据结构与算法课程设计》评分标准。
教材、参考文献与其他教学资源
教材
[1] 李春葆等,数据结构教程(第6版),上机实验指导,清华大学出版社,2022。
[2]李春葆等,数据结构LeetCode在线编程实训(C/C++语言)—全程视频讲解,清华大学出版社,2022。
执笔团队(人):朱珣 审核人:曾鹏
