分享

数据结构课程设计

 时意 2007-01-28

“ 数据结构 ” 是计算机类各专业的核心课程,也是其他诸多类专业的重要选修课。开设这门课可以为理解、应用和开发程序提供技术和方法支持,为后续课程的学习提供重要思想和方法基础。同时对于学生逻辑思维培养和程序设计思想体系的建立有着重要的影响。

学好 “ 数据结构 ” 仅仅通过课堂教学或自学获取理论知识是远远不够的,还必须加强实践,亲自上机输入、编辑、检查、修改、调试和运行各种典型算法。在实际的学习和应用实践中,很多同学认为 “ 数据结构 ” 难学,碰到实际问题不知从何处下手,缺乏针对性的实践训练是主要原因。

通过本课程的课程设计,应使学生达到以下的基本要求 :

1. 能根据加工数据对象的特征,选择适当的数据结构、存贮结构及相应算法,初步掌握各种算法在时间和空间的分析技巧。

2. 能够进行算法设计和程序设计,并且使所设计的程序结构清楚,正确易读,并上机调试通过。

3. 较强的实习、实践能力。

4. 较强的分析问题、解决问题的能力。

课程设计正是依照教学目的,在数据结构课程将要结束时进行的,整个设计过程包括选题、分析数据的逻辑结构、存储结构、算法、编程以及上机调试等几个方面。

1 .课程设计题目是由指导教师选出一部分题,再由学生自主选一部分题,一共涉及到链、栈、串、二叉排序树、排序、查找、树、图等题目:学生成绩管理、工资管理、寻找迷宫路径、关键路径、最短路径、基数排序模拟、五子棋、离散事件模拟、进程管理以及通讯录的管理等等。

2 .为了充分利用时间,提前一周下达课程设计任务,查阅资料和编写代码是利用考试周中考试完后的剩余时间和双休日进行的。在上机调试过程中,要求学生严格遵守作息时间;指导教师精心指导,经过一周的紧张工作,每位同学的设计题目都达到了理想的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想。

设计要求:

1. 有明确的设计思路;

2. 有完整的界面(最好是图形界面);

3. 能够完整实现算法;

4. 有图形辅助说明;

5. 有适当的帮助功能;

6. 设计完成后写出设计报告,对整个设计过程做出总结。

课程设计报告要求 :

1. 每一项设计要求都要用子程序实现,用菜单选项;

2. 每个过程或函数要有算法;

3. 有程序流程图;

4. 有程序清单;

5. 课程设计中遇到的难点及解决方法;

6. 收获总结。

7. 做好设计期间的记录。

课程设计效果

经过一周多时间的课程设计,从设计结果看,大多数学生能够按设计要求完成任务,达到了预期的目的,设计、演示效果较好。本次设计与往年比较有以下特点:

1. 严格按照算法的要求完成作品,体现出了数据结构和程序设计的思想。达到了预期的目的。

2. 设计质量高,工作量饱满。比如工资管理系统涉及两极菜单,功能选择用菜单条实现;停车场管理系统编程达到了上千条语句。

3. 对c语言程序设计是一个很好的补充。对于在c语言教学中未涉及到的图形、文件等操作进行了系统的学习。

4. 少数同学由于 c 语言基础较差,对较大程序调试没有信息,致使或多或少的影响了设计质量。
 
 
 
 
 
 
 
 
 
 
 
 

教学目的:“数据结构”是计算机程序设计的重要理论技术基础,是计算机学科的核心课程,它的教学目的是:学会分析、研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构以及相应的算法,并初步掌握算法时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。

教学内容及要求:了解数据结构研究的对象、数据结构的发展及地位,掌握实际问题抽象成数学模型的概念、数据结构中使用的基本术语和算法描述的语言反对算法分析的方法。

掌握顺序表的定义、向量 ( 或一维数组 ) 的存储、运算,掌握栈、栈在计算表达式中的应用和队列的基本运算、循环队列;熟悉栈与递归的过程。

掌握链式队列、链式栈串的定义及基本运算、串的存贮结构、串基本运算的实现

掌握排序中的各种算法、时空要求。

掌握线性表的检索方法。

掌握树形结构的概念、树的存储方式、二叉树周游算法 二叉排序树、最佳二叉排序树、了解平衡的二叉排序树的概念及操作方法,掌握 Hufman算法及其应用。

掌握 图的定义、图的存贮结构、图的遍历、最小生成树、拓扑排序、最短路径、关键路径的概念、操作方法。

在授课中使用了电子课件,开始情况学生不太适应,其主要原因是讲课节奏有些块,讲义上的内容不易被记忆和纪录,在讲课中教师及时注意到了这一点,注意有意识地留给学生纪录笔记的时间,或提醒学生教学内容在教科书的什么位置上,同时下课后将电子讲稿拷贝给学生,以便课后复习。

实践环节:开出的实验为:

实验一 线性表顺序存储结构的基本操作

实验二 单链表的基本操作和队列的基本操作

实验三 栈和队列基本操作

实验四 二叉树的建立与遍历

实验五 图的遍历

实验六 排序实验

实验七 查找实验

实验八 二叉排序树(计算机专业选做)

实验主要是用来验证基本操作的,但是对于数据结构课程来说,实验对教学内容的验证也是有一定难度,主要表现为:教学内容中数据结构的基本运算只是说明算法实现思想,而离编程实现还有一段距离,如果构成很规范的程序更有一定的难度了。当实现了对教学内容的验证实验后,进而再进一步进行综合性实验。

为了使学生能够尽快地将数据结构基本运算编程实现,我们将入门的 ] 实验进行了组织,将程序框架和一少部分基本运算在实验指导书中给出,让学生模仿编程,最后完善整个实验,同时还给出实验选项,学生可根据自己的能力、爱好进一步选择实验内容,学生的编程能力有高有低,这样做的目的就是使所有学生通过实验都有所收获:差一点的完成验证性实验,学得好的则完成高质量的、规范的可选实验。

通过改革实验方法,从实验结果看,学生的实验水平有所提高。

课程设计正是依照教学目的,在数据结构课程将要结束时进行的,整个设计过程包括选题、分析数据的逻辑结构、存储结构、算法、编程以及上机调试等几个方面。( 1 )课程设计题目是由指导教师选出一部分题,再由学生自主选一部分题,一共涉及到链、栈、串、二叉排序树、排序、查找、树、图等九个方面的 18 个题目,如:学生成绩管理、寻找迷宫最短路径、各种内部排序算法交换次数的比较、平衡二叉树的操作、图的操作、基数排序的改进等等,之后由师生双方共同研究各题目的解决方案及确定工作量的大小。( 2 )查阅资料和编程是利用双休日进行的,个别难度较高、不常见的题目和算法可再给半天到一天时间的斟酌,然后再上机调试。在上机调试过程中,学生严格遵守作息时间,指导教师和实验室教师密切配合,精心指导,经过一周的紧张工作,每位同学的设计题目都达到了预期的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想。

考试情况:

从考试结果分析得出:学生基本上掌握了本课程所要求的知识点,达到了教学目的。考试结果呈正态分布。
 
 
 
 
 
 
 
 
 
 
 

教学目的:“数据结构”是计算机程序设计及信息处理的重要理论技术基础,是计算机学科的核心课程,它的教学目的是:学会分析、研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构以及相应的算法,并初步掌握算法时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。

教学内容及要求:

了解数据结构研究的对象、数据结构的发展及地位,掌握实际问题抽象成数学模型的概念、数据结构中使用的基本术语和算法描述的语言反对算法分析的方法。

掌握顺序表的定义、向量 ( 或一维数组 ) 的存储、运算,掌握栈、栈在计算表达式中的应用和队列的基本运算、循环队列;熟悉栈与递归的过程。

掌握链式队列、链式栈串的定义及基本运算、串的存贮结构、串基本运算的实现。

掌握排序中的各种算法、时空要求。

掌握线性表的检索方法。

掌握树形结构的概念、树的存储方式、二叉树周游算法 二叉排序树、最佳二叉排序树、了解平衡的二叉排序树的概念及操作方法,掌握 Hufman算法及其应用。

掌握 图的定义、图的存贮结构、图的遍历、最小生成树、拓扑排序、最短路径、关键路径的概念、操作方法。

理论学习情况:绝大多数学生对本门课程重视程度较高,课堂纪律、听课时能够追寻教师的教学过程和启发积极主动思考,互动较好。但是学生对课后作业和复习不是和积极,不善于动脑筋,有的作业存在抄袭现象;课外答疑时只有少数学生与老师交流,从学生对问题的探讨深度看不是十分深入,存在着应付作业和考试的心理,不求慎解,学习较被动,在某种程度上影响学习效果。

实践环节:开出的实验为:

实验一 线性表顺序存储结构的基本操作

实验二 单链表的基本操作和队列的基本操作

实验三 栈与队列的基本操作

实验四 二叉树的建立与遍历运算实现

实验五 图基本运算实现

实验六 排序 实验

实验七 查找 实验

实验过程教师指导认真,学生也较认真,必竟本课程实验存在较高难度,尤其是入门的实验,包括结构、数据的输入输出、链式结构等,学生从简单的 C语言程序设计到数据结构中复杂结构的数据处理存在着一定跨度,经过师生的共同努力,在教后面的实验做得较顺利。可以说是学生在数据结构程序设计和调试中得到了较好的训练。

课程设计正是依照教学目的,在数据结构课程将要结束时进行的,整个设计过程包括选题、分析数据的逻辑结构、存储结构、算法、编程以及上机调试等几个方面。( 1 )课程设计题目是由指导教师选出一部分题,再由学生自主选一部分题,一共涉及到链、栈、串、二叉排序树、二叉平衡树、排序、查找、树、图等九个方面的 18 个题目,如:学生成绩管理、寻找迷宫最短路径、各种内部排序算法交换次数的比较、平衡二叉树的操作、图的操作、基数排序的改进等等,之后由师生双方共同研究各题目的解决方案及确定工作量的大小。( 2 )查阅资料和编程是利用双休日进行的,个别难度较高、不常见的题目和算法可再给半天到一天时间的斟酌,然后再上机调试。在上机调试过程中,学生严格遵守作息时间,指导教师和实验室教师密切配合,精心指导,经过一周的紧张工作,每位同学的设计题目都达到了预期的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想。

考试情况:

优秀者占百分之六左右,中等占百分之七十,不及格的占百分之十五左右。从考试结果分析得出:学生基本上掌握了本课程所要求的知识点,达到了教学目的。

项目

班级   人数

优秀≥ 90

良好≥ 80

中等≥ 70

及格≥ 60

不及格 <60

缺考或无成绩

人数

%

人数

%

人数

%

人数

%

人数

%

人数

%

期末考试

信息 0201

32

0

0

3

9

6

20

13

40

10

31

0

0

信息 0202

32

1

3

3

9

10

31

9

28

8

25

1

3

学期成绩

信息 0201

32

0

0

6

20

10

31

8

25

8

25

0

0

信息 0202

32

2

7

9

28

7

23

7

23

5

15

1

3

学期成绩:优秀者占百分之十左右,中等占百分之七十,不及格的占百分之十左右。

存在的问题:本学期是第五学期,学生学习主动性不够强,可能受到就业压力的影响,考试分数偏低。
 
 
 
 
 
 
 
 
 
 
 
 
 

教学情况:教学内容包括:

第一章知识点:数据结构研究的对象、数据结构中使用的基本术语和算法描述的语言反对算法分析的方法。

第二章知识点及要求:掌握顺序表的定义、向量 ( 或一维数组 ) 的存储、运算;

补充内容:丰富特殊矩阵的内容、广义表、串、模式匹配。

第三章知识点及要求:掌握栈、栈在计算表达式中的应用和队列的基本运算、循环队列;熟悉栈与递归的过程。

第四章知识点及要求: 掌握树形结构的概念、树的存储方式、二叉树遍历算法、 了解平衡的二叉排序树的概念及操作方法,掌握 Hufman算法及其应用。

第五章知识点及要求: 掌握 图的定义、图的存贮结构、图的遍历、最小生成树、拓扑排序、最短路径、关键路径的概念、操作方法。

第六章知识点及要求: 掌握排序中的各种算法、时空要求。

第六章知识点及要求: 掌握线查找的概念、方法、 hash 函数的构造方法、解决冲突的方法、最大和平均查找时间等。

这学期理论课程的讲授全部使用多媒体教学课件,经过进一步对课件的优化,课件的使用更加方便、适用,学生已经适应多媒体教学环境,课堂纪律良好、听课时能够追寻教师的教学过程和启发积极主动思考,互动较好。

本学期对课后作业和复习做了改革,要求学生在完成作业的同时,还要求学生在学习完一章后及时对本章进行学习总结,教会学生学习。

课外答疑要求学生积极主动思考、主动与老师交流,老师有目的找一些学生进行答疑,这样是学生与老师的交流增加,同时也从另一方面起到了督促学生学习的目的。

按照教学计划开出的实验 7 个, 实验过程教师指导认真,学生也较认真,必竟本课程实验存在较高难度,尤其是入门的实验,包括结构、数据的输入输出、链式结构等,学生从简单的 C语言程序设计到数据结构中复杂结构的数据处理存在着一定跨度,经过师生的共同努力,在教后面的实验做得较顺利。可以说是学生在数据结构程序设计和调试中得到了较好的训练, 实验效果比以往更好。

考试情况:

优秀者占百分之六左右,中等占百分之七十,不及格的占百分之十五左右。从考试结果分析得出:学生基本上掌握了本课程所要求的知识点,达到了教学目的。

项目

人数

班级

优秀

≥ 90

良好≥ 80

中等≥ 70

及格≥ 60

不及格 <60

缺考货无成绩

人数

%

人数

%

人数

%

人数

%

人数

%

人数

%

期末考试

多媒 0301

31

3

10

8

28.8

12

38.7

4

12.9

4

12.9

0

0

多媒 0302

29

4

13.8

11

32.9

10

34.5

2

6.9

2

6.9

0

0

网络 0301

36

13

36.1

9

25

10

27.8

3

8.3

1

2.8

0

0

网络 0302

35

16

17.6

12

34.3

16

45

1

2.9

0

0

0

0

学期成绩

多媒 0301

31

4

12.9

9

29

13

41.9

1

3.2

4

12.9

0

0

多媒 0302

29

8

27.6

9

31

9

31

1

3.4

2

6.9

0

0

网络 0301

36

13

36

12

33.3

9

25

2

5.6

0

0

0

0

网络 0302

35

11

31.4

9

25.7

13

37.1

2

5.7

0

0

0

0

学期成绩:优秀者占百分之十左右,中等占百分之七十,不及格的占百分之十左右。

存在的问题:本学期是第五学期,学生学习主动性不够强,可能受到就业压力的影响,考试分数偏低。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

理 论 课 总 结 5

授课时间: 2005/2006 年第一学期。

授课班级: 计算机 0301/02 。

教学周数: 19 周,周学时 4 ,其中实验为 14 课时。

教学情况:教学内容包括:

第一章知识点:数据结构研究的对象、数据结构中使用的基本术语和算法描述的语言反对算法分析的方法。第二章知识点及要求:掌握顺序表的定义、向量 (或一维数组、二维数组)的存储、运算;补充内容:特殊矩阵的内容、广义表、串、模式匹配。第三章知识点及要求:掌握栈、栈在计算表达式中的应用和队列的基本运算、循环队列;熟悉栈与递归的过程。第四章知识点及要求: 掌握树形结构的概念、树的存储方式、二叉树遍历算法、 了解平衡树的概念及操作方法,掌握 Hufman算法及其应用。第五章知识点及要求: 掌握 图的定义、图的存贮结构、图的遍历、最小生成树、拓扑排序、最短路径、关键路径的概念、操作方法。第六章知识点及要求: 掌握排序中的各种算法、时、空要求。 第六章知识点及要求: 掌握线查找的概念、方法、 hash 函数的构造方法、解决冲突的方法、最大和平均查找时间等。 课堂教学纪律良好、听课时能够追寻教师的教学过程和启发积极主动思考,互动较好。

三年级学生学习已经具有针对性,主动性较强,课外答疑时主动与老师交流,老师也有目的找一些学生进行沟通,这样是学生与老师的交流增加,同时也从另一方面起到了督促学生学习的目的。通过互相促进,教学效果较好。有些学生也将所学知识用到具体的项目设计中。

实验情况:按照教学计划开出的实验 7 个: 线性表的顺序存储结构基本运算实现 ; 线性表的链式存储结构基本运算实现 ; 栈与队列基本运算实现 ; 二叉树的建立与基本运算实现 ; 图基本运算实现 ;内部 排序 和查找 。由于实验环境用 C,对学生来讲从简单的C语言程序设计到数据结构中复杂结构的数据处理存在着一定难度,所以入门的实验安排两个,即 线性表的顺序存储结构基本运算实现 和 线性表的链式存储结构基本运算实现,同时从实验指导书中给出具体指导,这样使学生尽快的将精力投入到算法的实现中,提高实验效率和编程解决实际问题的兴趣。 实验过程教师指导认真,学生也较认真,经过师生的共同努力,使学生得到了较好的训练, 实验效果较好。

考试情况:

优秀者占百分之六左右,中等占百分之七十,不及格的占百分之十五左右。从考试结果分析得出:学生基本上掌握了本课程所要求的知识点,达到了教学目的。

项目

班级     人数

优秀≥ 90

良好≥ 80

中等≥ 70

及格≥ 60

不及格 <60

缺考货无成绩

人数

%

人数

%

人数

%

人数

%

人数

%

人数

%

期末考试

多媒 0301

31

3

10

8

28.8

12

38.7

4

12.9

4

12.9

0

0

多媒 0302

29

4

13.8

11

32.9

10

34.5

2

6.9

2

6.9

0

0

网络 0301

36

13

36.1

9

25

10

27.8

3

8.3

1

2.8

0

0

网络 0302

35

16

17.6

12

34.3

16

45

1

2.9

0

0

0

0

学期成绩

多媒 0301

31

4

12.9

9

29

13

41.9

1

3.2

4

12.9

0

0

多媒 0302

29

8

27.6

9

31

9

31

1

3.4

2

6.9

0

0

网络 0301

36

13

36

12

33.3

9

25

2

5.6

0

0

0

0

网络 0302

35

11

31.4

9

25.7

13

37.1

2

5.7

0

0

0

0

学期成绩:优秀者占百分之十左右,中等占百分之七十,不及格的占百分之十左右。

存在的问题:本学期是第五学期,学生学习主动性不够强,可能受到就业压力的影响,考试分数偏低。

任课教师:马秋菊

2006年1月12日   

<<返回顶部

课 程 设 计 总 结 1

授课时间: 2004/2005 年第二学期。

授课班级: 网络 0301/02 ,多媒体 0301/02 。

任课教师:马秋菊,教学周数: 15 周,期中实验为 14 课时。

教学情况:教学内容包括:

第一章知识点:数据结构研究的对象、数据结构中使用的基本术语和算法描述的语言反对算法分析的方法。

第二章知识点及要求:掌握顺序表的定义、向量 ( 或一维数组 ) 的存储、运算;

补充内容:丰富特殊矩阵的内容、广义表、串、模式匹配。

第三章知识点及要求:掌握栈、栈在计算表达式中的应用和队列的基本运算、循环队列;熟悉栈与递归的过程。

第四章知识点及要求: 掌握树形结构的概念、树的存储方式、二叉树遍历算法、 了解平衡的二叉排序树的概念及操作方法,掌握 Hufman算法及其应用。

第五章知识点及要求: 掌握 图的定义、图的存贮结构、图的遍历、最小生成树、拓扑排序、最短路径、关键路径的概念、操作方法。

第六章知识点及要求: 掌握排序中的各种算法、时空要求。

第六章知识点及要求: 掌握线查找的概念、方法、 hash 函数的构造方法、解决冲突的方法、最大和平均查找时间等。

这学期理论课程的讲授全部使用多媒体教学课件,经过进一步对课件的优化,课件的使用更加方便、适用,学生已经适应多媒体教学环境,课堂纪律良好、听课时能够追寻教师的教学过程和启发积极主动思考,互动较好。

本学期对课后作业和复习做了改革,要求学生在完成作业的同时,还要求学生在学习完一章后及时对本章进行学习总结,教会学生学习。

课外答疑要求学生积极主动思考、主动与老师交流,老师有目的找一些学生进行答疑,这样是学生与老师的交流增加,同时也从另一方面起到了督促学生学习的目的。

按照教学计划开出的实验 7 个, 实验过程教师指导认真,学生也较认真,必竟本课程实验存在较高难度,尤其是入门的实验,包括结构、数据的输入输出、链式结构等,学生从简单的 C语言程序设计到数据结构中复杂结构的数据处理存在着一定跨度,经过师生的共同努力,在教后面的实验做得较顺利。可以说是学生在数据结构程序设计和调试中得到了较好的训练, 实验效果比以往更好。

考试情况:

优秀者占百分之六左右,中等占百分之七十,不及格的占百分之十五左右。从考试结果分析得出:学生基本上掌握了本课程所要求的知识点,达到了教学目的。

项目

班级     人数

优秀≥90

良好≥ 80

中等≥ 70

及格≥ 60

不及格 <60

缺考或无成绩

人数

%

人数

%

人数

%

人数

%

人数

%

人数

%

期末考试

媒体 0301

32

0

0

3

9

6

20

13

40

10

31

0

0

媒体 0302

32

1

3

3

9

10

31

9

28

8

25

1

3

学期成绩

媒体 0301

32

0

0

6

20

10

31

8

25

8

25

0

0

媒体 0302

32

2

7

9

28

7

23

7

23

5

15

1

3

学期成绩:优秀者占百分之十左右,中等占百分之七十,不及格的占百分之十左右。

存在的问题:本学期是第五学期,学生学习主动性不够强,可能受到就业压力的影响,考试分数偏低。

教师:马秋菊

2005年7月15日

<<返回顶部

课 程 设 计 总 结 2

课程设计时间: 2003/2004 年第一学期的最后一周。

课程设计班级: 计算机 0101 、 0102.

课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证,从而有着极其重要的意义。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容;《数据结构》从课程性质上讲是一门专业基础课,它的目的和任务就是训练学生对计算机加工的数据对象进行分析的能力,选择适当的数据结构及相应算法的能力,训练学生的编码以及调试能力,进而增加其对学习和应用相关专业课的兴趣。

通过本课程设计的实践教学,应使学生达到以下的基本要求 :

(1)掌握数据的基本结构:线性表、枝、队列、串、数组、树和图等逻辑结构,并给出相应的存贮结构和类型描述。

(2)能根据加工数据对象的特征,选择适当的数据结构、存贮结构及相应算法,初步掌握各种算法在时间和空间的分析技巧。

(3) 能够创造性地进行算法设计和程序设计,并且使所设计的程序结构清楚,正确易读,并上机调试通过。

课程设计目的:“数据结构”是计算机程序设计的重要理论技术基础,是计算机学科的核心课程,它的课程设计目的是:学会分析、研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构以及相应的算法,并初步掌握算法时间分析和空间分析的技术。另一方面,本课程的学习过程也是复杂程序设计的训练过程,要求学生编写的程序结构清楚和正确易读,符合软件工程的规范。

课程设计正是依照教学目的,在数据结构课程将要结束时进行的,整个设计过程包括选题、分析数据的逻辑结构、存储结构、算法、编程以及上机调试等几个方面。

1.课程设计题目是由指导教师选出一部分题,再由学生自主选一部分题,一共涉及到链、栈、串、二叉排序树、二叉平衡树、排序、查找、树、图等九个方面的18个题目,如:学生成绩管理、寻找迷宫最短路径、各种内部排序算法交换次数的比较、平衡二叉树的操作、图的操作、基数排序的改进等等,之后由师生双方共同研究各题目的解决方案及确定工作量的大小。

2.为了充分利用时间,提前一周下达课程设计任务,查阅资料和编写代码是利用考试周中考试完后的剩余时间和双休日进行的。在上机调试过程中,要求学生严格遵守作息时间,记录当天设计和调试细节;指导教师和实验室教师密切配合,精心指导,经过一周的紧张工作,每位同学的设计题目都达到了预期的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想。

3 . 设计要求:

( 1)有明确的设计思路;

( 2)有完整的界面(最好是图形界面);

( 3)能够完整实现算法;

( 4)有图形辅助说明;

( 5)有适当的帮助功能;

( 6)设计完成后写出设计报告,对整个设计过程做出总结。

4.课程设计 报告 要求 :

( 1)每一项设计要求都要用子程序实现,用菜单选项;

( 2)每个过程或函数要有算法;

( 3)有程序流程图;

( 4)有程序清单;

( 5)课程设计中遇到的难点及解决方法;

( 6)收获总结。

( 7)做好设计期间的记录。

5 .课程设计过程监控

除了教师检查设计时间内的考勤外,还要求学生在设计期间认真做好设计纪录,包括设计的详细内容,调试过程和结果,调试中出现的问题、解决的方法等。其目的是为了让学生对课程设计引起足够的重视,遵守设计纪律,使学生通过课程设计更进一步掌握本课程所学的知识,将理论知识的学习和实践环节紧密结合,理论联系实际,提高学生将数据结构课程知识运用到解决实际中去的能力,使学习收获落到实处。

6 .课程设计效果

经过一周多时间的课程设计,从设计结果看,大多数学生能够按设计要求完成任务,达到了预期的目的,设计、演示效果较好。但是也有少数学生受就业形势的影响,或急于回家、或急于去找工作,或对复杂算法调试没有信心,对自己要求不严,或多或少地影响设计质量。

任课教师:马秋菊、刘延岭、张清涛

2004 年 1 月 12 日

<<返回顶部

课 程 设 计 总 结 3

课程设计时间: 2005/2006 年第一学期第 20 周。

课程设计班级: 计算机 0301 、 0302.

《数据结构》 课程设计 的目的和任务就是训练学生对计算机加工的数据对象进行分析的能力,选择适当的数据结构及相应算法的能力。课程设计对学生而言是其对所学课程内容掌握情况的一次自我验证。通过课程设计能提高学生对所学知识的综合应用能力,能全面检查并掌握所学内容;培养其独立思考、刻苦钻研的精神;在分析问题、解决问题的过程中,使其获得一种成功的喜悦,进而增加其学习和应用的兴趣。

通过本课程的课程设计,应使学生达到以下的基本要求 :

(1)能根据加工数据对象的特征,选择适当的数据结构、存贮结构及相应算法,初步掌握各种算法在时间和空间的分析技巧。

(2) 能够进行算法设计和程序设计,并且使所设计的程序结构清楚,正确易读,并上机调试通过。

课程设计正是依照教学目的,在数据结构课程将要结束时进行的,整个设计过程包括选题、分析数据的逻辑结构、存储结构、算法、编程以及上机调试等几个方面。

1 .课程设计题目是由指导教师选出一部分题,再由学生自主选一部分题,一共涉及到链、栈、串、二叉排序树、排序、查找、树、图等题目:学生成绩管理、工资管理、寻找迷宫路径、关键路径、最短路径、基数排序模拟、五子棋、离散事件模拟、进程管理以及通讯录的管理等等。

2 .为了充分利用时间,提前一周下达课程设计任务,查阅资料和编写代码是利用考试周中考试完后的剩余时间和双休日进行的。在上机调试过程中,要求学生严格遵守作息时间;指导教师精心指导,经过一周的紧张工作,每位同学的设计题目都达到了理想的效果,使学生对数据结构课程所学的知识有了更深入的理解和掌握,巩固了理论教学所学到的知识,扩展了学生编程思想。

3 . 设计要求:

( 1)有明确的设计思路;

( 2)有完整的界面(最好是图形界面或用菜单选择);

( 3)能够完整实现算法;

( 4)有图形辅助说明;

( 5)设计完成后写出设计报告,对整个设计过程做出总结。

4.课程设计 报告 要求 :

( 1)每一项设计要求都要用子程序实现,用菜单选项;

( 2)每个过程或函数要有算法;

( 3)有程序清单;

( 4)收获总结。

5 .课程设计效果

经过一周多时间的课程设计,从设计结果看,大多数学生能够按设计要求完成任务,达到了预期的目的,设计、演示效果较好。本次设计与往年比较有以下特点:

( 1)题目种类多,涉及数据结构值得难度高:要求使用菜单选择,尽量使用图形方式,图形结构题目占一定比例等;(2)设计质量高:比如郝志远同学做的工资管理系统涉及两极菜单,功能选择用菜单条实现;杨宇同学设计的用扑克牌点数模拟基数排序,其中使用了图形方式;史云凤同学的基数排序的位数课选择;景焕军同学的 离散事件模拟题目使用了 OPENGL 技术 等。

但是也有少数学生受就业形势的影响,或急于回家、或急于去找工作,或对复杂算法调试没有信心,对自己要求不严,或多或少地影响设计质量。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多