《数据结构课程设计大纲》课程教学大纲(本科)_第1页
《数据结构课程设计大纲》课程教学大纲(本科)_第2页
《数据结构课程设计大纲》课程教学大纲(本科)_第3页
《数据结构课程设计大纲》课程教学大纲(本科)_第4页
《数据结构课程设计大纲》课程教学大纲(本科)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构课程设计大纲

(CurriculumDesignofDataStructures)

课程代码:06460044

学分:1.5

周数:1.5周(其中:讲课2学时;设计学时;上机30学时;答辩学

时)

先修课程:程序设计基础、离散数学、数据结构A

适用专业:计算机科学与技术

教材:无

一、课程性质与目标

(一)课程性质

数据结构课程设计》是必修的实践性教学环节之一,是学习了《数据结构A》

课程后的综合性实验课程,是对该课程所学知识进行的一次全面的综合训练。《数据结

构课程设计》着眼于原理与应用结合点,使学生学会如何把书上学到的知识用于解决实

际问题,培养软件工作所需要的动手能力;另一方面,能使书本上的知识变“活”,起

到深化理解和灵活掌握教学内容的目的。数据结构课程设计的题目是软件设计的综合训

练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧、以至一

整套软件工作规范的训练和科学作风的培养。

(二)课程目标

课程目标L知识方面

1.1全面梳理所学的数据结构的相关知识,进一步深入理解数据结构的基本概念、

逻辑特性、存储表示方法、算法描述及其性能分析方法。

1.2熟悉软件开发的基本过程,初步掌握软件开发过程的问题分析、系统设计、

程序编码、测试等基本方法和技能。

课程目标2.能力与素质方面

2.1具备利用数据结构相关知识解决实际问题的初步的独立分析和设计能力。

2.2具有针对实际问题的特点选用合适的数据结构、设计相应的算法并加以实现

的能力。

2.3具有撰写比较完善的课程设计报告进行论述的能力。

二、课程目标与专业毕业要求指标点的对应关系

本课程支撑专业培养计划中毕业要求指标点1.4、3.3、3.4、6.3、12.2。

毕业要求指标点L4能够应用专业知识解决工程计算问题;

毕业要求指标点3.3能够针对特定软件需求、可复用模块或组件完成数据结构和

算法的设计;

毕业要求指标点3.4能够在设计中体现创新意识;

毕业要求指标点6.3能够撰写各类软件工程文档并进行评价;

毕业要求指标点12.2能够养成主动惯并表现出不断探索的成效,能够自我评价。

毕业要求

指标点1.4指标点3.3指标点3.4指标点6.3指标点12.2

课程目标

课程目标1.1VV

课程目标L2V

课程目标2.1VVV

课程目标2.2VVV

课程目标2.3VV

二、内容与进度安排

1.内容及要求

a.设计内容

课程设计选题和一般要求参见附录1,课程设计选题可以由任课教师根据实际情

况适当安排。

要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算

法的设计及其实现等方面加深对课程基本内容的理解和综合运用。

b.其他要求:

(1)认真上机编程,不得从事与课程设计无关的活动。

⑵课程设计报告包括封面、目录、报告正文、参考文献。报告正文中要给出对课程

项目功能的简要介绍、总体设计(功能模块结构)、详细设计(采用的逻辑结构

和存储结构的分析与设计)、算法设计以及关键算法的描述或流程图、程序测试

(测试用例和程序运行结果)。报告需打印提交,代码无需打印。

(3)报告提交要求。每位学生需将报告和代码程序代码压缩,文件名命名格式为:学

号+姓名+专业班级.rar,如:3140602026+张三+计算机1401.rar,并上传到指定的

ftp服务器,班长收齐所有同学的课程设计报告后一起提交给指导教师。

c.实验环境

普通PC机,软件要求安装VS.net开发环境。

2.进度安排

本课程设计为1.5周,共7天,上机为30学时,学生需在上机前做好准备工作,

最后两天为现场检查时间,每位学生需现场演示并回答老师提出的问题。

序号设计内容时间支撑的课程目标

1环境搭建和系统需求1天1.1,1.2,2.1,2.2

分析

2系统数据结构分析选1天1.1,1.2,2.1,2.2

择与设计

3系统数据结构相关算1天1.1,1.2,2.1,2.2

法功能设计与实现

(一)

4系统数据结构相关算1天1.1,1.2,2.1,2.2

法功能设计与实现

(-)

5系统数据结构相关算1天1.1,1.2,2.1,2.2

法功能设计与实现

(三)

6系统联调与测试1天1.1,1.2,2.1,2.2

7系统总结及演示以及1天1.1,1,2,1.3,2.1,2.2,2.3

对指导教师提出的关

键问题进行分析汇报

三'考核与成绩评定

1.考核材料

平时考勤情况,预习准备情况,程序实现与演示情况,回答问题情况,课程设

计报告、程序。

2.考核要求及权重

考核内容考核要求考核权重备注

平时考勤共考勤5次,每缺勤1次扣1分5%

预习准备情况根据上机前的准备情况评分25%

功能实现与演示根据现场演示功能情况评分50%

根据现场演示对提问问题的回答情况

回答问题10%

评分

课程设计报告根据设计报告格式和内容情况评分10%

注:具体评分细则详见附录2

四、大纲说明

1.学生在本课程设计前应学习了《程序设计基础》、《离散数学》、《数据结构A》

等课程,时间上可安排在《数据结构A》课程学习结束之后。

2.参考文献

[1]《数据结构:C++实现》,缪淮扣,科学出版社,2014年第2版。

[2]《数据结构(C语言版)》,严蔚敏,清华大学出版社,1997年第1版。

[3]《数据结构(用面向对象方法与C++语言描述)》,殷人昆,清华大学出版

社,2007年第2版。

[4]《数据结构、算法与应用:C++语言描述数据结构、算法与应用:C++语言描

述(DataStructures,Algorithms,andApplicationinC++)^>(美)Sartaj,Sahni

著,王立柱等译,机械工业出版社,2015年第2版。

2017年8月

附录1课程设计建议选题

选题一、学生信息管理系统

问题描述:

设计一个学生信息管理系统,实现对学生基本信息的添加、删除、修改和查询等操作。

要求:

程序采用文本界面或图形界面下进行交互的工作方式,完成如下功能:

(1)多种方式建立学生信息

•每个学生信息由学号、姓名、数学、英语和语文组成;

•可以通过手工录入每个学生信息,并在C盘下以StudentFile.txt保存;

•也可以导入某个路径下存放学生信息的文本文件。

(2)浏览所有学生信息。

(3)按照学号对所有学生信息进行升序、降序排列,并输出

•可选用冒泡、选择等算法;

•不仅输出屏幕显示,还需要写入存放学生信息的文件。

(4)按姓名、学号等方式,实现对学生信息精确查询、模糊查询,并输出屏幕显示

•精确查询结果演示

查询“姓名是王五”同学信息,则输出

学号姓名高数英语离散数学.......

2007112011王五889078...........

•模糊查询结果演示

查询姓“刘”的同学信息(输入“刘”),则输出

学号姓名高数英语离散数学

2007112011刘梅889078........

2007112011刘强878098........

2007112011刘星867058........

•能够实现连续多次查询

(5)学生信息的插入、删除、修改。

•通过插入、删除和修改后,保持所有学生信息的有序性;

•插入、删除和修改后,对存放所有学生信息的文件及时更新。

(6)数据的统计功能

•统计每个学生的平均分和总分;

•统计每个科目的平均分和最高分、最低分;

•将上述统计结果,写入存放学生信息的文件。

选题二'银行业务的模拟系统

问题描述:

设计一个银行业务模拟系统,模拟银行的业务运行并计算一天中客户在银行逗留的平均时间。

银行有N(N的取值自己定义)个窗口对外接待客户,从早晨银行开门起不断有客户进入银行。由

于每个窗口在某个时刻只能接待一个客户,因此在客户人数众多时需在每个窗口前顺次排队,对于

刚进入银行的客户,如果某个窗口的业务员正空闲,则可上前办理业务;反之,若N个窗口均有客

户所占,他便会排在人数最少的队伍后面。

要求:

(1)在界面上可以设定银行的对外营业时间(银行的开门时间以及银行的关门时间)。

(2)用人机交互的方式来输入客户的到达时间以及客户的离开时间,用队列来存储客户的到

达事件和客户的离开事件。

(3)可以友好的显示出在某一天中整个银行系统中客户在银行逗留的平均时间。

选题三'停车场管理系统

问题描述:

设计一个停车场管理系统,模拟停车场的运作。

要求:

(1)要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行

模拟管理;

(2)要求处理的数据元素包括如下数据项:汽车“到达”或“离去”信息、汽车牌照及“到

达”或“离去”的时刻;

(3)若是车辆到达,就输出汽车在停车场内或便道上的停车位置;若是车离去,就输出汽车

在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。

(4)完成该停车场的一些信息统计功能(如每天到达/离开的车次,停车总时数、每天的停

车费用等)。

选题四'哈夫曼编码/译码器

问题描述:

设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(后

缀名.cod);反过来,可将一个编码文件还原为一个文本文件(.txt)。

要求:

(1)输入一个待压缩的文本文件名,统计文本文件中各字符的个数作为权值,生成哈夫曼树;

(2)将文本文件利用哈夫曼树进行编码,生成编码文件(后缀名cod);

(3)输入一个待解压的压缩文件名称,并利用相应的哈夫曼树将编码序列译码;

(4)显示指定的编码文件和文本文件;

选题五'最小生成树问题

问题描述:

已知一个无向连通网表示n个城市以及城市间可能设置的通信线路,其中网的顶点表示城市,

边表示两个城市之间的线路,赋于边上的权值表示相应的代价。对于n个点的连通网可以建立许多

不同的生成树,每一棵生成树都可以是一个通信网。现在,我们要选择这样一棵生成树,使总的耗

费最小。即构造连通网的最小生成树的问题。

要求:

(1)建立城市交通网的存储结构。(注:数据输入可以是键盘输入或文件输入两种方式)

(2)分别用Prim算法和Kruskal算法构造最小生成树,并输出最小生成树的代价及生成树的

边。(注:结果的输出可以是屏幕输出和文件输出两种方式)

选题六、二叉排序树的操作演示

问题描述:

设计一个二叉排序树的各种操作的演示系统,完成对二叉排序树的建立、插入、删除和查找操

作的演示。

要求:

(1)给出一组关键值,建立相应的二叉排序树,并显示建立的二叉排序树;

(2)删除一个结点的操作。要求可以实现删除根结点、叶子结点以及其它任意结点的功能,

并显示操作前、后的二叉排序树;

(3)插入一个新结点的操作,并显示操作前、后的二叉排序树;

(4)对给定的值在二叉排序树进行查找,并给出查找结果。

选题七、内部排序算法的性能分析

问题描述:

设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。

要求:

(1)对起泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;

(2)待排序表的表长不小于1000,表中数据随机产生,至少用3组不同数据作比较,比较指

标有:关键字参加比较次数和关键字的移动次数(关键字交换记为3次移动);

(3)输出比较结果。

附录2数据结构课程设计评分细则(按100分计算)

项目优秀良好中等及格不及格

(100-90)(80-89)(70-79)(60-69)(60以下)

预习准备情况预习准备内预习准备内预习准备内有一定的预预习准备内容

25%容很充分容充分容较充分习准备内容没有或极少

实现所有功实现所有功有1个必须有2个必须有2个功能未实

能,并有所增能;提示清实现的功能实现的功能现;基本没有提

功能实现与演

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论