公务员期刊网 精选范文 数据结构课程设计范文

数据结构课程设计精选(九篇)

前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的数据结构课程设计主题范文,仅供参考,欢迎阅读并收藏。

数据结构课程设计

第1篇:数据结构课程设计范文

关键词:数据结构课程设计;教学过程;实施方法;评价标准

中图分类号:TP311.12 文献标识码:A 文章编号:1009-3044(2013)22-5101-02

数据结构是计算机科学与技术专业的一门必修的专业基础课,是计算机理论与技术的重要基石。该课程的主要特点是实践性很强,不仅要学习基本理论知识,更要注重上机实践,通过上机实践验证算法的正确性,掌握和巩固所学理论知识。该课程的主要目的是通过学习,使学生学会分析研究计算机加工的数据结构的特性,以便为涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术;另一方面,通过算法设计和上机实践的训练,培养学生的数据抽象能力和程序设计的能力,为后续课程,特别是软件类课程打下坚实的基础。

数据结构课程要求学生掌握各种常用数据结构的逻辑结构、存储结构,及相关操作的算法,而学生在算法设计或程序设计方面还不具备足够的技巧,因而会感到难以理解和掌握。学生理解教材上的基本概念并不难,然而,他们在解决具体问题时就会感觉到力不从心,特别是对那些有一定难度的算法设计题更显得无从下手[1-2]。因此,培养学生的学习兴趣和自信心,提高其学习的主动性、创新性及应用能力,是数据结构课程教学中的重要任务。

数据结构课程一般是在大学二年级上学期开设,而数据结构课程设计在大学二年级下学期开设。作为一个重要的实践教学环节,该课程是数据结构课堂理论教学的延续与补充,其基本目标是运用所学知识,对实际问题进行分析,选取合适的数据结构,独立地进行设计相对应的存储结构,并用算法加以实现,从而解决所提出的问题[3-4]。在此过程中,进一步巩固、加深和融合所学的专业课程知识,锻炼学生独立思考的能力、分析问题和解决问题的能力、综合设计能力、开拓创新能力、自学能力,以及团队协作能力等。因此,课程设计对全面提高学生综合素质具有重要意义。

笔者在多年的教学实践中体会到,数据结构课程设计的教学要循序渐进,如何让学生理解课程内容与较好地解决实际问题两者相结合是本门课程教学的主要目标。为了让学生准确理解并巩固所学的基本概念、原理和方法,将所学的基本知识、基本技能用于解决实际问题,达到具备今后软件了开发工作所需的能力,最重要的是让他们勤加苦练。经过循序渐进地练习,使学生掌握更多的程序设计技巧和方法,提高他们分析、解决问题的能力,培养他们的团队协作精神。接下来,笔者就如何激发学生的兴趣,提高数据结构课程设计的教学效率和效果,阐述几点感受与体会,与同行一起探讨。

1 课程设计教学过程中的体会

数据结构课程设计比教学实验复杂一些,涉及的深度更广些,而且更加实用一些。教学过程中,教师根据学校的特点和教学计划选择相应的课程设计内容,帮助学生系统掌握数据结构这门课的主要内容,从而顺利完成教学任务。为实现课程教学目标,笔者结合自身的教学经验和研究成果,就教学过程中课程设计内容的选题,实施方法,以及评价标准等方面谈谈自己的一些体会。

1.1 课程设计内容的选题

数据结构课程设计应遵循以下原则:坚持以能力为本位,以学生为主体,教师角色转换为倡导者。选题时尽量达到以下特点:新颖性、实用性、难度适中、各有所需。

一个好的选题既可以反映课程设计大纲的要求,又能反映本学科新技术的发展前沿,还能通过本课程设计训练,培养学生分析问题、解决问题的能力,从而掌握数据结构这门课程的主要内容。首先,选题要新颖,因为新颖的选题能进一步激发学生的学习兴趣,调动其学习的积极性。其次,选题应具有实用性,接近实际工程的需要,引导学生根据需求分析,利用所学知识去解决与日常生活中密切相关的问题。再次,选题难易程度要适中。课程设计的内容基本上能让大多数同学接受,难度过大会让学生产生一种消极,甚至是抵触的情绪;难度过于简单也同样达不到预期目标。最后,选题范围要足够广泛,让不同层次水平的学生都有问题可想,为学生提供发挥其创新性思维的平台;同时,工程大的选题在一定程度上更能锻炼学生独立思考的能力和团队协作能力。对某些课程设计提出部分需要改进或进一步完善的要求,供那些学有余力的学生来拓宽自己的设计思路,提高自身的解题能力及水平。当然,学生也可以自主设计一些有挑战性的题目。

1.2 课程设计的实施方法

本课程是在保证基础理论教学质量的前提下,进一步加强学生解决实际问题的动手实践能力的培养。根据课程设计的实际情况,给出一些具有一定规模的问题,并对课程设计内容做系统安排,具体实施过程如下。

1.2.1 分组

以设计小组形式,每3~5人组成一组,同一班级自由组合;如需要跨班组合,可向指导教师提出申请。每个小组选出一名基础较好且具有一定组织能力的学生担任组长,组长负责本小组的选题,系统模块划分和任务安排,使每位小组成员负责一部分功能的实现。

1.2.2 选题与分工

各小组成员共同协商选择合适的题目,然后进行分工。小组之间也可以相互合作,将各自的系统模块进行整合,以解决更大规模的问题。指导教师根据各个学生的实际情况作适当调整,保证工作量的合理分配,以确保各小组设计工作的顺利进行。

1.2.3 定期检查

定期检查或抽查每个学生的完成情况,了解各个小组的课程设计进展;督促学生积极思考,比如,描述要解决的问题,根据操作对象选择相应的数据结构,建立模型,定义抽象数据类型,画出算法流程图,引导他们锻炼自己的分析问题和解决问题以及编程实现的能力。

1.2.4 提交实验报告

实验报告的正文必须至少包括以下内容:

1)问题描述:根据自己的理解,描述选题要实现的功能。

2)数据结构:为处理所需要的功能,自己设计数据结构,包括各自完成的有关数据类型,操作的定义,以及存储结构。

3)算法描述:根据问题的要求和所设计的数据结构,描述算法过程。

4)效果与测试情况:给出系统的测试情况与最终效果,可通过截取一些界面用于解释说明。给出测试数据结构的使用手册,以及完成其他数据类型的测试与测试报告。

5)分析与讨论:分析所采用算法的优缺点,时间复杂度,算法实现过程中遇到问题,所采用的解决方法,自己提出的算法的改进方案。本课程设计的不足之处,改进思路,以及实验过程体会。

6)参考资料:文中所引用的参考资料撰写格式参照国家标准(GB-T 7714-2005)。

7)致谢:感谢在完成本课程设计报告过程中对自己提供帮助的个人/集体。

8)附录:附上结构完整的程序,带有详细注释的源程序清单。

1.3 课程设计的评价标准

课程设计完成后,应对每位学生提交的课程设计报告进行评价,可分为小组互评和指导教师评价两个过程。

1.3.1 小组互评

小组互评包括自评和组长评价两部分。首先,每位组员根据各自参与程度、完成的工作量、效果在小组内自评,自评分值占50%。其次,组长在报告封面上描述组内每位组员的具体工作,并为组内各成员打分,组长评分值占50%,同时规定:组长100分,排名靠后的组员的成绩与前一位组员的成绩分数差距为6~10分。课程设计采用分组形式的宗旨是鼓励合作,但反对挂名。

1.3.2 指导教师评价

小组互评之后,由指导教师组织学生进行课程设计报告的现场答辩,答辩过程包括:以小组为单位进行现场演示,解答教师或其他组的同学所提出的问题。现场演示检查可以提高学生对课程设计方法的理解,锻炼他们对相关问题的表达能力。而在现场提问环节中,小组成员可以通过协商共同解答他人的提问,以此提高学生的临场应变能力和相互协作能力。指导教师对课程设计报告要进行认真的评判,评分时各部分的分值比例如下:选题难度,包括完成目标的难度,占20%;完成质量,主要考虑其设计方法和实现技术,占30%;实验报告撰写质量,占30%;演示效果,占20%。上述分值比例及评定方法可根据实际情况适当调整。

指导教师评价学生的设计时采用如下标准:

1)若完成的课程设计特别优秀,且创新性强,可给予90分以上,但严格控制90分以上的数量。

2)若能保证程序完全正确,则可获得80~84分;如果学生设计算法有自己独特的见解,并通过代码实现,而且具有一定的创新性,则可考虑加分到85~89分。

3)若在设计算法和代码实现的过程中出现极少的错误,则应给予70~79分。

4)若设计错误不算太多,大部分算法与实现程序都能通过,则应给予60~69分。

5)若程序中有比较多的错误,不能达到规定的要求,则其成绩给予不及格。

2 结论

课程设计是让学生综合运用所学知识解决实际问题的重要教学实践环节。如何通过课程设计环节实践,培养学生分析并解决具有一定规模的实际问题的能力,提高数据结构课程设计的教学效率和效果,是教师一直在不断研究和探讨的问题。笔者根据自己在教学中的体会,介绍并探讨了对课程设计内容的选取,组织与实施,以及评价标准,并将其应用到本校数据结构课程设计的实际教学中,取得了较好的教学效果,为同行提供一定的可参考价值。

参考文献:

[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2006.

[2] 苏仕华.数据结构课程设计[M].北京:机械工业出版社,2005.

第2篇:数据结构课程设计范文

1 前言

《数据结构》课程是高职计算机专业重要的专业基础课。该课程通过学习程序设计中常用的基础数据结构,介绍一些重要的程序设计思想,提高学生的逻辑思维能力和编程技能,培养学生的分析问题、建模与解决问题能力。同时,该课程的学习内容能够促进学生对后继课程的学习内容的理解。例如,高级编程语言C#或Java中有一些库函数实现了对集合元素排序的功能。而这些功能正是以数据结构课中介绍的排序算法为基础的。

根据我们多年的教学经验,在高职计算机专业的课程体系中,数据结构普遍被学生认为是比较困难的一门课程。造成困难的原因大致有以下几个。首先,由于高职计算机专业学生就业的特点,决定了高职学生很少从事基础和底层程序设计,或者从事与数据结构以及程序设计相关的理论研究。因此,数据结构课的学习内容在工作中直接应用的机会很少。这导致部分学生甚至教师对学习数据结构课的必要性存在疑惑,对该课程重视程度不足。其次,数据结构课的概念和算法抽象,理论性强,对学生逻辑思维能力要求高,学习的门槛较高。最后,高职学院学制较短,导致一学期内的专业课程密度高,学生学习时间不足。

现有的高职教材或本科应用型教材例如参考文献[1-4]的内容编排,多沿袭自传统本科数据结构课。一般依线性结构,树结构和图结构的顺序编排,逐次介绍各种数据结构,给出其定义,详细介绍其物理存储结构和基本性质,并穿插其应用的一些例子。其覆盖的知识面广,内容和体系较为完整,条理清晰。但是由于高职计算机专业数据结构课程学时较少,其专业学习的实践性强,学生逻辑思维能力稍弱等特点,这种沿袭自本科教学的授课内容组织方式不完全适合高职学生。虽然针对课时偏少的情况,一般高职课本会对本科课本作一些删减或简化,但其内容构成仍没有本质上的改变。因此,课程内容的选择、组织与编排增加了高职学生学习数据结构课的难度,而未能解决上述造成困难的几个问题。

我们认为,数据结构课程能够训练学生的逻辑思维能力,促进学生深入理解与专业相关的基本编程思想,且其内容与多门后继专业课程相关,因此对计算机专业的学生而言,学习数据结构课的必要性毋庸置疑。而针对高职教育学时少,实践性强的特点,对课程大纲、课程标准、教学内容和教学方式进行改革,使得高职学生能够更好地学习该门课程,改进学习体验,改善学习效果,则势在必行。数据结构课的改革,结合当前高职教育改革的方向,在课程设计方面应该以突出能力培养,以项目为载体,以任务训练岗位职业能力,以及知识理论实践一体化为原则[5-6]。

本文总结了我们在高职计算机专业数据结构课上进行的教学设计改革。我们在课程中引入任务驱动教学方式,设计若干项目供学生在课堂上练习,以项目覆盖课程的各知识点,通过项目引入相关的概念,并作讲解。在课堂教学方式上,以解决问题,完成项目代替抽象的理论教学。由于避免了繁琐的基本概念讲解,缩短了理论教学用时,学生能够投入更多的时间与精力到编程实践练习。而通过练习,能够更好地理解抽象的概念。我们的课程改革,应用于计算机应用专业两届学生的教学实践中,取得了良好的效果。

2 教学项目设计实例

数据结构课程的主要内容大致可以分为三部分,即线性结构、树结构和图结构。其中,线性结构包含了几种重要的数据结构,如栈、队列、数组和串等。树结构的内容一般以最常用的二叉树结构为主。图结构是最为复杂的结构,涉及算法的内容比较多,如图的最短路径算法,图的最小生成树算法和图的连通分支算法等。除此以外,课程还包括查找和排序算法等重要内容,这两类算法同时涉及线性结构和树结构。通常还会介绍递归、指针等重要的编程思想和内容。

我们的教学项目设计思路,是选取相对简单而具有代表性的算法题目,结合一些应用的背景,构成我们的项目,内容力求覆盖基础的数据结构,如线性结构、队列、栈和二叉树等。学生通过完成项目中的一个个任务来学习数据结构的抽象概念。有些方向内容丰富,我们从中选取少量相对简单,然而具备代表性的例子作为任务,使得学生更易上手,尽快建立对一些抽象概念的认知。例如查找和排序操作既可以在线性结构上,也可以在树结构上进行。但我们不考虑树结构,仅仅以线性结构上的问题组成我们项目。又如从图结构的多个算法求解问题中,我们选取容易理解的连通分支求解算法作为教学项目。

作者从事高职计算机应用专业的数据结构课教学。该课程的学时大约为4学时×16周,一般在一年级第二学期开设。根据课时和学生的具体情况,我们在一学期的课程中为学生设计三至四个项目,并主要以学生完成项目的情况作为学期总评的依据。以下以我们为2014级学生设计的项目为例,对课程教学项目设计作一个详细介绍。

我们一共设计了四个项目,具体如下。

迷宫:以一个n×m的{0,1}-矩阵表示一个迷宫。其中,0表示可以通行,1表示有障碍,左上角和右下角均为0,分别表示入口与出口。编写程序判断此迷宫是否存在一条从入口到出口的路径,如存在则输出该路径。

二叉树的构造和遍历:对教师以绘图形式给定的一棵二叉树,编写程序构造该二叉树并输出该二叉树的前序、中序和后序遍历的结果。可以结合一个具体应用进行教学。例如,可采用二叉树的一个典型应用,即表达式的几种表示法。教师输入一个表达式,学生根据其建立一个二叉树,并通过三种遍历方式输出表达式的波兰表示法,逆波兰表示法和中缀表示法。

(1) 查找和排序:对教师给定的一个有序整数序列,编写程序接收用户输入的一个整数,使用二分查找法在序列中查找该整数。对教师给定的一个无序的整数集合,使用插入排序、冒泡排序和选择排序中的至少两种为该集合排序。此问题的一个典型的应用情景是学生的考试分数排序。

(2) 图的连通分支:某班级有n位同学。现组织外出旅游,并拟将全班同学分成若干小组集体行动。现在给定一个图表示本班同学之间的朋友关系。其中以结点表示同学,且若两位同学为朋友关系,则对应的两个结点以边连接。请根据朋友关系将全班同学分成若干个小组,使得有朋友关系的两位同学在都同一个小组中。此题目等价于求朋友关系拓扑图的最大连通分支。

可以看到,这四个项目均具有丰富的理论意义和具体的应用背景。它们覆盖了现有数据结构课本的大部分知识点。表1中列出了数据结构课的大部分知识点以及它们被各个项目覆盖的情况。课程中常见的数据结构,除了串以外,大部分为我们设计的项目所覆盖。同时我们的项目还覆盖了递归,指针,广度优先搜索和深度优先搜索等重要的程序设计思想。

为了引导学生分步完成练习,我们还为比较困难的项目设定预备任务。预备任务不同于一般的习题。它们有一定的独立性,可以提出来作为一个习题,但是又与我们的项目有机地结合在一起,可以认为是相关项目的一项任务。

对于迷宫问题,我们设定以下两个预备任务。

(1.1)写一个栈结构处理程序。每一个栈元素是含有3个整数(这里规定栈元素由3个整数组成,是为了迷宫项目做准备,见下文)的一个结构体。写出栈的初始化,入栈,出栈和判断栈空的操作。在main函数里面建立一个这样的栈,测试它。比如说,入栈若干个元素,例如 (1,1,0) 和 (2,2,0) ,然后出栈,并依照出栈顺序打印这些元素。

(1.2)围障。给定一个以n×m矩阵表示的迷宫,用全一把原迷宫包围起来,创建出一个新的 (n+2)×(m+2) 迷宫。打印出新的迷宫。

迷宫问题采用栈结构存储回溯的结点,每一个栈元素存储迷宫内一个结点的x、y坐标和回到该结点以后下一个可以探索的方向,共3个整数。第一个任务栈处理程序既是一个线性表的练习,也为迷宫问题准备好要使用的栈。我们允许迷宫第一行、最后一行、第一列和最后一列除了出、入口以外,还有其他0元素。但是这些0元素实际上不是在所有的方向上都可以通行。在第二个任务中,我们在迷宫四边添加全1,称之为围障,围障能够使得迷宫求解程序中的一些条件判断大为简化。该任务可以看成一个矩阵练习,并为我们即将探索的迷宫作了初始化。

对于图的连通分支问题,我们也设定了两个预备任务。

(4.1)图的表示。用矩阵表示教师用绘制方式给定的图,并在屏幕上打印出图的结点和边。具体内容包括定义和初始化一个矩阵,表示一个图,输出图的结点列表和图的边的列表。其中,图的结点以数字0,…,n-1 编号,图的每一条边以 (x,y) 的形式表示,x和y是边的两个端点的编号。

(4.2)队列的操作。编程实现一个整数队列的初始化,入队和出队的操作。程序里面定义和初始化一个整数队列;然后入队至少三个元素,按顺序打印出队列里面的所有元素;再出队至少两个元素,又按顺序打印出队列里面的所有元素。

第一个练习非常基本。它完成图在程序中的表示,学生学会把一个图转换为一个矩阵,同时从矩阵中读取出图的顶点和边。第二个练习是为了对图作广度优先遍历时使用队列结构作准备,同时也是一个线性表的练习。

3 教学内容的组织与课堂教学实践

依授课时间顺序,我们的教学内容组织为

一、线性结构;

二、预备任务(1.1)和(4.2):队列和栈;

三、项目(1)迷宫问题,包括预备任务(1.2);

四、树结构;

五、项目(2)二叉树遍历;

六、项目(3)查找和排序;

七、图结构;

八、项目(4)图的连通分支,包括预备任务(4.1)。

教学内容的组织以线性结构、树结构到图结构为主线索。

在线性结构部分,对线性表的基本概念作一些介绍后,我们布置预备任务(1.1)和(4.2),通过这两个练习介绍栈和队列的概念。同时,向学生介绍项目(1)迷宫问题和项目(4)图的连通分支,并说明预备任务(1.1)和(4.2)跟这两个项目的关系。在完成了预备任务(1.1)和(4.2)以后,布置项目(1)迷宫问题。迷宫求解问题的讲解,重点要解释清楚深度优先搜索的思想。

接下来是树结构的内容。我们介绍树结构相关的一些概念和重要性质。然后布置项目(2)二叉树遍历。二叉树遍历有先序、中序和后序三种方式。除了树结构内容,我们以递归方式实现二叉树遍历程序,通过这个项目向学生介绍递归思想。所以,此项目教学的重点之一是讲解递归的原理。教师可实现其中一种遍历方式作为例子,而让学生完成其他形式的遍历。如前所述,为了帮助学生更好理解二叉树的思想,可结合二叉树的典型应用,即表达式的三种不同表示方法来讲解。

随后的内容是线性表的查找和排序。完成项目(3)查找和排序方法。其中,查找算法以线性表的二分查找为例,讲解的时候我们与顺序查找作对比。二分查找必须应用于有序数组,而对于无序的数据则只能采用顺序查找,这说明了数据结构对算法设计的影响。

排序算法种类繁多([7]),其中部分高效算法的时间复杂度能够达到O(nlogn)。但是这些算法对学生而言有相当难度,我们仅选取时间复杂度达到O(n2),而实现思路相对简单的几种算法作为项目的内容,教师可以在课堂上部分或全部实现要求的排序算法,然后让学生再重新自行完成。

最后是图结构部分。我们首先介绍一些和图相关的概念和基本性质。然后以(4)求图的连通分支为教学项目。项目(4)直接以一个实际问题的形式提出,揭示出图算法的强烈应用背景。在求解算法中,我们要求学生掌握使用广度优先搜索来访问图的结点。广度优先搜索的实现需要以队列作为待搜索结点的存储结构。因此,项目又结合队列的设计、实现与应用进行。有助于对理解线性表的相关知识,掌握其应用。

4 小结与展望

第3篇:数据结构课程设计范文

摘要:结合研究型课程教学的基本理念,阐述了研究型教学的指导思想和教学原则。在分析《数据结构》实验教学特征的基础上,指出开展研究型《数据结构》实验教学的重要性和必要性,并对具体的实施过程进行了设计与探讨。实践证明,研究型的实验教学活动,不仅为学生提供了创新活动的条件和机会,而且能够有效地引导学生掌握学习方法,对于培养学生的智力和能力,具有明显的作用。

关键词:研究型教学;实验教学;智力能力培养;教学方法;数据结构

社会的发展对当前我国高等教育提出了具体的要求,所培养的学生必须具备全面发展的素质,包括掌握科学的学习方法和具有会学习的本领,具备积极创新的能力和生动活泼的特征。这一特征,使得高校教育改革应该不断地向更高、更深刻、更全面的层次上发展。教学改革是教育改革中最为重要的一部分。如何创造良好的学习环境和条件,革新教学手段和方法,全方位地培养学生的智力和能力,关键是要转变教育观念,改革人才培养模式,改进教师的教学方式,增强学生学生的学习的主观能动性,积极采取启发式、研讨式等研究型教学方式。

但是在高等教育过程中对研究型教学的认识程度还不够高,开展的深度与广度都还不够,从而成为制约教学质量进一步提高的一个瓶颈而引起了各高校的普遍关注。本文结合我们开展研究型教学的实践,对《数据结构》课程的实验教学改革进行了一定的尝试,取得了初步的教学效果。

一、研究型课程教学的基本理念

国内研究型教学的实践,一方面是对国外先进教育方式的借鉴,另一方面也是对国内实施已久的高校学习与科技兴趣小组活动乃至启发式、讨论式、发现法教学方式等经验的系统提升。

1、赫尔巴特“主知主义”课程理论。赫尔巴特的课程理论被称为“主知主义”,它是以知识作用为本位的课程论,同时还明确主张学生从总体上对教师保持被动状态,强调教师的权威意志和主导责任。因而,人们把赫尔巴特视为“教师权威论”或“教师中心论”的代表人物。

2、杜威的“实用主义”课程。杜威主张教育要“以学生为中心”,要求教育的一切措施围绕着学生来组织,以促进学生的个性发展。他认为学生的学习不应是被动接受知识的过程,而类似科学家研究发现知识的主动探究过程。杜威的教育思想深刻地影响了20世纪初至当代的全部教学论的发展。教育家陶行知先生是杜威的学生,他将社威的教育思想引入我国,并在国内进行了卓有成效的教学实践,创立了“知行统一”的课程理论,至今对我国教育界仍产生着深刻影响。

3、研究型课程理念。研究型课程教学的基本理念是:对历史上传统的教育学派的“主知主义”、“教师中心论”和进步教育学派的“实用主义”、“学生中心论”中合理的部分加以有机的整合,扬弃其狭隘、刻板僵化的部分,注重发挥教师的主导责任和学生的主体作用。它以促进学生的个性发展为宗旨,以改变学生单纯地、被动地接受知识传授的学习方式为着眼点,构建一种开放的学习环境,为学生提供一个多渠道获取知识,理解自然、个人、社会等问题,并将学到的知识综合应用于实践的机会。它在帮助学生进行接受式间接学习的同时,形成一种对知识的主动式直接探索,以提高其解决实际问题的能力的研究型学习形式。

二、研究型课程教学的指导思想和教学原则

《数据结构》实验教学是一种验证型的教学模式,将课堂上所学的理论知识与计算机上机实践相结合,通过利用高级语言环境对书本上的算法进行验证,从而达到巩固理论知识的目的。而研究型实验教学的指导思想,不仅仅在于验证书本知识和巩固理论知识,而是更加重视理论知识的综合应用,强调整个过程的参与和学习,发挥学生学习的主动性,激发学生的学习兴趣和创造力,培养学生的团队精神和协作意识。因此,全面培养学生的智力和能力,是研究型实验教学的指导思想。

在上述教学思想指导下,在实验教学过程中必须坚持的教学原则是:

1、教师指导与学生动手并重。虽然有效快捷的学习离不开教师的指导,但指导只是一种手段。在现代教学过程中,教师的指导旨在教会学生学会学习,这不仅是今后终身教育的要求,而且只有学会学习,掌握了科学的学习方法,学习主体才会真正具有一种参与到教学过程中去的能力。

2、面向结果的教学和面向过程的教学并重。面向结果的教学是指教师在教学活动中以使学生获得令人满意的结论作为教学的直接意义,它是传统教学所强调的教学形式。面向过程的教学则是教师在教学活动中重视引导学生对知识形成过程的理解与实践,并在理解和实践中仔细体验获得这一知识的基础和条件,以及它与其他知识的相互关系等。从主动学习的角度看,面向过程的教学会给学生主体带来一种更高的价值。

3、一般能力的培养与创造品质的形成并重。学生能力的培养已成为现代教育的重心,然而在促进学生的一般能力有较全面提高的同时,教师应该对学生的创造能力的发展给予特别关注,因为创造品质已成为现代人素质结构中最重要的组成部分。

4、理论学习与实践活动并重。理论来源于实践,反过来又指导实践。只有坚持理论联系实际,才能有所发现,有所创造。

5、接受式学习与探究式学习并重。接受式学习是一种被动的学习过程,而探究式学习则是一种主动的学习过程,只有发挥了学生主体的积极性,才能使得学习收到事半功倍的效果。近年来,我们对《数据结构》实验教学的研究型教学模式的探究,正是坚持了以上这些教学原则。

三、研究型《数据结构》实验教学环节的设计与实施

研究型教学依据其内容的不同可分为认知理解类和实践应用类。研究型《数据结构》实验教学属于实践应用类。主要凭借算法构造思维方式,从具体操作规范入手,通过操作过程的构造实施,解决特定问题,理解、习惯、掌握算法思维方法是一个构造性、研究型方式的训练过程,其核心内容就是通过学习结构技术的过程,培养学生算法设计能力以及创造性思维,培养举一反三、触类旁通的能力,以达到提高学生应用知识解决复杂问题的素质能力和的目标。计算机的程序设计是一项创造性的智力劳动,让学生深刻掌握这一套算法构造思维方法,是实践环节所要解决的核心问题。因此,我们注重为学生创设智力发展的环境与条件,设置智力因素和非智力因素相结合的条件。我们根据研究型《数据结构》实验教学的指导思想和教学原则,考虑到培养计划的安排,我们对每一次实验课都进行了精心地策划,并要求写出实验报告。主要分为确立问题阶段、实践体验阶段和成果交流阶段等三个阶段来进行。这三个阶段并不截然分开,而是相互交叉推进的。实施流程通常为:“引出问题,建立假设”——“研讨探究,验证假设”——“得出结论,切磋交流”——“归纳总结,形成评价”。

⑴确立问题阶段。教师介绍上机环境及算法在相应数据结构中的地位和作用,包括使用的编程环境,在验证算法过程中需要注意的问题,讲解如何查找相关资料,并展示历届学生的实验报告样本。学生3—4人自由组合成立研究课题小组,选出组长;通过查找相关资料,扩展相关算法,提出研究课题,写出实施计划。在此基础上,教师组织各小组进行答辩,组长对研究课题的目的、背景资料、理论依据、技术方法、计划和目标等进行解答,并回答教师提出的有关问题。

⑵实践体验阶段。教师根据实验室条件、答辩情况和课题难易程度等,有重点地抽查6—7组作为本次实验教学课的指导对象,并强调在上机实践过程中的注意事项与具体要求,讲解实验报告格式和撰写方法,并要求各组人员进行具体分工。学生利用4节课的时间上机实践,并记录编程调试过程中的相关数据和出错信息。

⑶成果交流阶段。实验完毕得出结果后进行资料整理,并开始撰写实验报告。教师对各组的实验报告进行初审,提出具体修改意见。各组学生对实验报告认真修改和补充,做到报告格式化、标准化,并正式提交给教师再次审查,教师根据情况评定成绩,作为期末成绩总评的参考依据,并在课堂上组织学生交流实验感受及取得的成果。

通过实验实践内容的训练,突出构造性、研究型思维训练的特征,提高了学生组织数据与进行编写大型程序能力;更好地理解和掌握了算法设计所需的技术,为整个专业学习打下了良好的基础。学生通过完成《数据结构》实验课程的设计任务,不仅把设计优良算法与掌握面向对象的编程技巧结合起来,而且能培养综合运用所学知识来独立解决实际问题的能力,给学生发展个性化以更加广阔的天地。实验教学的改革与实践结果证明,贯穿于实验教学环节的研究型实验教学,使得理论教学与实验教学有机的整合,收到了良好的教学效果。

四、研究型《数据结构》实验教学在人才培养过程中的作用

1、研究型《数据结构》实验教学有利于学生的智力开发和能力培养。

教学的目的不仅要使学生获得知识,而且更要使学生获得智力的发展,要使学生掌握点石成金的方法。能力与智力是两个相对独立的概念,二者有区别,又有密切联系。二者之间不一定成正比例关系。智力属于认识活动的范畴,而能力属于实际活动的范畴。智力是保证人们有效地认识客观事物的较稳定的心理特征的综合,能力是保证人们成功地进行实际活动的较稳固的心理特征的综合。智力结构由注意力、观察力、记忆力、想象力和思维力5部分组成,能力结构由组织能力、定向能力、适应能力、操作能力和创新能力5部分组成。研究型《数据结构》实验教学是全过程的教学,从给定的算法到算法扩展、从选题到实验报告及其答辩的所有过程中,几乎都是以学生为主体开展活动,教师仅仅负责组织和教学引导。特别是在科学研究方法和科技文献的查找、科技报告的写作训练等方面,让他们在低年级就能得到很好地锻炼,为今后写好毕业论文打下了坚实的基础。所以,这种新型的教学方式对于全面培养学生的智力和能力是十分有利的。

2、研究型《数据结构》实验教学可激发学生的求知欲和创造力。

教师要善于采取相应的改革措施,创设智力发展的环境与条件,用生动的实践活动来巩固和强化学生的求知欲,激发学生的好奇心、兴趣、想象力和创造力。因为兴趣是推动学生求知欲的强大内在动力,兴趣往往是创造的先导,同时想象在人的智力活动中也占有极重要的地位。由于研究型《数据结构》实验教学与中小型软件开发结合起来,使学生们很感兴趣。他们本来对软件开发充满了好奇与想象,在学习了《数据结构》以后,有了一定的算法理论基础,可以根据自己的兴趣,充分发挥想象力和创造力,对软件开发进行有益的尝试。

3、研究型《数据结构》实验教学有利于培养学生动手动脑、理论联系实际的能力。

研究型《数据结构》实验教学要求学生动手动脑,手脑并用,既应用了已掌握的知识,又促进了思维力、理解力和创造力的发展。所以,我们认为知识与智力上的综合训练是发展智力的重要条件。在实验教学活动中,学生们不仅动手编制了相关的应用程序,而且还掌握了使用相关编程工具的方法,并通过实践和反复总结后,理解了对同一算法可以从多种不同的角度来实现的深刻内涵。

4、研究型《数据结构》实验教学能培养学生的团队精神和协作意识。

学生积极参加研究型《数据结构》实验教学活动,不仅促进智力和能力的发展,而且能很好地培养学生的团队精神和协作意识。由于我们的整个教学活动是以小组进行的,无论是在上机编程,还是在查阅资料、撰写和修改实验报告,各小组成员都能认真参与,并很好地配合组长工作,表现出良好的团队精神和协作意识。最后,当顺利完成实验报告并通过教师验收时,他们感到有一种来之不易的集体成就感和荣誉感。所有这些,使他们更加坚定了自信心,激发了学习兴趣,锻炼了能力,提高了智力。

当然,同传统的实验教学相比,研究型《数据结构》实验教学对教师的要求更高了,付出的也更多了,同时得到的也更多。因为这是一种过程的学习和参与,学生和教师都从中受益匪浅。因此,只要我们提高了对研究型实验教学的认识,端正了态度,掌握了科学的指导方法,就会去不断地创新,必将能培养出智力和能力全面发展的一流人才。

参考文献

[1]文辅相. 素质·方法·创新[J].高等教育研究,1999.

[2]陆国平,江莹,李松.研究型大学与思想库[J].高等教育研究,2001.

[3]沈显生,尹路明,李树美,杨捷频. 研究型野外实习教学的设计与实践[J].教育与现代化,2002.3.

[4]姜芳,杨晋明.浅析研究性教学在高校教学中的运用[J].教育与现代化,2004.

第4篇:数据结构课程设计范文

关键词:在线评测系统 算法与数据结构 实验设计

【中图分类号】G【文献标识码】B【文章编号】1008-1216(2015)08C-0078-02

一、引言

“算法与数据结构”课程是计算机学科的专业核心基础课程,具有承上启下的重要作用。本课程上承“程序设计”(包括C语言程序设计、C++面向对象程序设计),下启“操作系统”“数据库概论”“计算机图形学”等专业课程。

学生通过本课程的学习,能够掌握各种常用的数据逻辑结构、存储结构、基本操作以及算法设计,同时能够根据具体问题选择适合的逻辑结构、存储结构及相应的处理算法。培养学生数据抽象能力和复杂程序设计能力,为今后软件开发打下坚实基础。因此,本课程是计算机专业本科教学的重中之重。

然而,目前内蒙古大学计算机学院“算法与数据结构”课程的师生比大体为1:60。在上机实验的过程中,教师查验程序所花费的时间占实验总学时的80%左右,导致教师辅导学生解决实验中遇到各类问题的时间非常有限,使得实验教学效果大打折扣。因此,为了提高实验教学质量,保证教师有更多的时间用于辅导学生,有必要改进实验教学查验程序的方式。

二、在线评测系统概述

ACM/ICPC是由美国计算机协会(Association of Computing Machinery,ACM)主办的世界范围内规模最大、水平最高的国际大学生程序设计大赛(International Collegiate Programming Contest,ICPC)。

在线评测(Online Judgment,OJ)系统源于ACM/ICPC。在国际大学生程序设计大赛过程中,参赛选手按问题提交代码,在线评测系统能够自动评判代码的正确性,并将评判结果返回参赛选手。在线评测系统评判代码的流程如图1所示。

在线评测系统的评判结果包括以下几种:

(1)正确(Accepted,AC):程序正确。

(2)编译错误(Compile Error,CE):代码编译错误。

(3)超时错误(Time Limit Exceeded,LTE):程序运行时间超过限制。

(4)超空间错误(Memory Limit Exceeded,MLE):程序运行所需内存超过限制。

(5)结果错误(Wrong Answer,WA):程序运行结果不正确。

图1 在线评测系统评判代码流程图

(6)格式错误(Presentation Error,PE):程序运行结果与结果文件不完全一致,主要是间隔符存在问题,如空格、逗号、分号等。

当在线评测系统返回的结果不为AC时,学生可根据在线评测系统反馈的错误提示,对源代码进行修改和完善,直至反馈结果为AC为止。

在线评测系统具有如下优势和特点:

1)实验教学在网络上进行,不受时间和空间的限制。

任课教师通过在线评测系统实验题目和要求,学生可全天候提交代码,因此学生可根据自身情况合理安排时间,在截止日期之前完成题目即可。

2)减轻教师查验程序的负担。

由于在线评测系统能够自动评测学生提交代码的正确性,因此能够有效减少教师查验程序的时间。教师可将更多时间用于辅导学生解决实验中遇到的各种问题和困难,提高实验教学效果。

3)有利于营造“你追我赶”的学习氛围。

学生通过在线评测系统能够查看每道题目的提交情况以及何人、何时解决了该题目。这样,可在学生之间营造“你追我赶”的学习氛围,提高学生的积极性和主动性。

因此,如何按照在线评测系统的具体要求,设计“算法与数据结构”课程的相关实验,是本文所关注的主要问题。

三、基于在线评测系统的实验设计

在线评测系统的每道题目均需设定测试数据文件和结果文件,其中测试数据文件为程序提供输入数据,结果文件用于与程序运行结果的一致性比较。此外,在题目描述中还需指明测试数据的上、下限,以及输出结果的格式等内容,以便让学生在程序中定义符合要求的变量,控制程序运行结果的输出格式等。

为了能够让学生更好地掌握和巩固“算法与数据结构”课程所学知识,本课程分别为“线性表”、“栈与队列”、“二叉查找树”、“最小生成树”、“内排序算法”等核心内容配套相关实验。下面将以“栈与队列”的配套实验为例,介绍如何将该实验设计成满足在线评测系统要求的题目。

【题目描述】:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入停车场;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场;每辆停放在车场的车在它离开停车场时,必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。

【程序输入】:输入数据的第一行包含两个正整数n和m(n, m<=10)分别表示停车场的容量和每小时停车费用。从第二行开始,每行表示一组输入数据,由三项内容构成:

(1)一个大写英文字母,表示汽车“到达”或“离开”信息,输入'A'时,表示汽车达到,输入'D'时,表示汽车离开,输入'E'时,表示程序结束;

(2)一个正整数X,表示汽车牌号;

(3)一个正整数T,表示汽车到达或离开的时刻。这三项内容之间以一个空格间隔。

【程序输出】:对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离开,则输出汽车在停车场内停留的时间(单位是小时)和应交纳的费用(在便道上停留的时间不收费),假设停车费为每小时m元。具体分为如下几种情况:

(1)如果汽车X到达,且停车场未满,则输出如下信息:“汽车X停靠在停车场Y号位置”(其中:X为汽车牌号,Y为停车场车位序号,1≤Y≤n);

(2)如果汽车X到达,但停车场已满,则输出如下信息:“汽车X停靠在便道的Z号位置”(其中:X为汽车牌号,Z为便道的车位序号,1≤Z);

(3)如果汽车X离开,且X在停车场内,则输出如下信息:“汽车X停车H小时,缴纳停车费M元”(其中:X为汽车牌号,H为停车时间,M为停车费用);

(4)如果此时便道上的停车队列不为空,则将便道上的第一辆汽车停入停车场,并输出如下信息:“汽车X停靠在停车场Y号位置”(其中:X为汽车牌号,Y为停车场车位序号,1≤Y≤n);

(5)如果汽车X离开,但停车场没有牌X的汽车,则输出如下信息:“汽车X不在停车场”(其中:X为汽车牌照号)。

四、结语

面对实验教学中繁重地查验工作,通过将在线评测系统融入“算法与数据结构”课程的实验设计中,充分利用在线评测系统的优势,有效减轻了教师的查验工作量,保证教师有更多地时间用于辅导学生,为学生解决实验中遇到的各种困难和问题,提高了实验教学质量。

在线评测系统也可以融入与“算法与数据结构”类似的其他课程的实验设计中,既能有效减轻教师查验程序的工作量,同时也能改善实验教学效果,提高教学质量。

项目信息:内蒙古大学“卓越教学团队”建设项目(2013-05),数据结构与程序设计系列课程教学团队。

参考文献:

[1] 张铭,赵海燕,王腾蛟,等. 北京大学“数据结构与算法”教学设计[J]. 计算机教育,2008,(20).

[2] 赵玉兰,王俊义,周建涛,等. 数据结构与算法[M]. 北京:清华大学出版社,2008.

[3] 武建华. 基于ACM模式的数据结构实践教学改革与探索[J]. 计算机教育,2007,(12).

第5篇:数据结构课程设计范文

关键词:数据结构;教学改革;立体式教学资源模式

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)26-7474-01

Research on Three-Dimensional Education Resources Model Establishing on Data Structure

ZUO Xu-hui

(College of Computer Science & Technology, SouthWest University of Science & Technology, Mianyang 621010, China)

Abstract:A new integer-resolve for Data Structure course(DS) is proposed in this paper, and a Three-Dimensional education resources model(TERM) is established as well. At first we introduce the concept of TERM. Then we design a implement resolve of TERM.With the new resolve carried out, the Triple- Platform teach environment and Four-Multi results can be expected to maximize the benefit of DS.

Key words: DS; teaching reformation; TERM

《数据结构》是计算机程序设计的重要理论技术基础,是计算机专业的核心基础课程,也是其他相关理工专业的热门选修课,旨在使学生了解数据的特性,学会数据组织方法和现实世界中的问题在计算机内部的表示方法[1]。该课程涉及大量概念、模型及操作算法,理论性强、抽象、深奥。因此,建立立体式教学资源模式使教学内容条理化、形象化,使学生易于掌握,并激发学生学习的积极性是该课程改革的有效途径。

1 《数据结构》课程教学主要存在的问题

1.1教学方法传统化

传统的教学方法单一、僵化,教师习惯于“一言堂”、“满堂灌”。有些教师在教学的各个环节中,只从教师的角度出发,从组织内容、备课到讲授,很少关注学生的反应,课堂缺乏互动,更谈不到学生参与其中,变被动学习为主动学习。教师首先必须树立现代化的教育观,把“以教师为主体”、“以课程为中心”的传统教育观转变为“以学生为主体”、“以能力为中心”的新的教育观。教师的职责不仅要“授人以鱼”,更重要的是“授人以渔”,把学生创新能力的培养放在重要的地位,在教学的各个环节,充分体现“以教为主导”、“以学为主体”的教学原则。

1.2教学内容单一化

传统教学中,对内容的传授往往分散化,学生不清楚整个数据结构课程的体系结构。教学只从本学科角度阐明知识,很少在学科之间进行交叉、渗透、综合。然而,数据库原理与应用是一门与其他学科关系密切。如:1) 高等数学和离散数学。这是因为在作算法分析时,就必须有一定的数学理论作基础,如作非线性结构的分析时,就必须用到一定的图论和树形结构的知识。2) 程序设计语言。“数据结构”中的算法大都由类PASCAL 或类C、C++语言描述而成,但、由于学生对计算机语言的很多知识点理解不是很透彻,用计算机解决问题就不可能得心应手,更谈不上把所学的知识融会贯通[2]。

2建立数据结构TERM的探索

建立数据结构TERM,简言之就是将数据结构教学资源从不同角度、不同层次出发,建立饱满、立体的内容体系,创造“三坛”式(即“讲坛、网坛、论坛”) 教学环境,产生“四多”化(即“多层次化、多结构化、多途径化、多角度化”)教学效果,从而实现教学方法现代化、教学内容多元化目标。

TERM建立借助多媒体技术使课堂教学更为生动,结合网络教学平台对课堂教学进行补充,使得教学媒介既有纸质教材, 又有音像制品,还有网络出版物,是纸质教材、电子与网络出版物有机结合的产物。按此原则教学资源应包括:教学大纲、授课计划、教材、参考书、课件、教案、讲稿、实验、课程设计,题库、习题解答、程序源代码、演示软件等。TERM提供一种综合性的教学资源,最大限度地满足教学需要,满足教育市场需求,促进教学改革,从而形成教学支持平台,提供自主学习空间;形成教学管理平台,实现信息化智能化管理;形成教学服务平台,提供资料、信息综合辅导[3]。

3建立TERM的设计方案

方案将上述教学资源分为教材、课件、网络教辅资源、题库建设、实践教学五模块,各模块相辅相成,方案见图1。

每个模块的建设方案如下:

3.1教材

包括先修课程教材(C语言、高等数学、离散数学),外文原版教材,国内优秀教材,双语教材,自编教材,参考书等,而不仅仅只是上课使用教材,为学生学习数据结构提供立体纸质教材体系,反映了知识是由认知主体积极建构的,建构是通过新旧经验的互动实现的,学习内容是螺旋式上升的,非直线式的,目的是让学生建构性地获得数据结构知识,而不是被告知的。

3.2课件

提供了教案(包含了教学大纲、授课计划等教学文件)、教学案例、多媒体课件、算法动态演示、关键知识点Flash、算法素材、图解素材、双语词汇表等丰富的教学素材,体现“多角度”效果及构建“讲坛”式教学平台。

3.3题库建设

需要建设习题库、上机题库、课程设计题库、模拟考试题库、考试题库、案例题库六种题库和典型题解、课后习题详解、习题解答,每个题库都要求有难度系数区别供不同层次的学生选择,体现出方案的“多层次”效果。

3.4实践教学

其中包括实验指导书、课程设计指导书、上机题库、课程设计题库、案例库方面内容的建立,其中案例库可以为上机题库和课程设计题库提供依据。该模块提供了数据结构的C实现、分章案例、综合案例及C实现、实验的一般过程、实验项目(验证实验、设计实验、综合实验)等。贯彻“点――线――面”实践教学模式,按“验证实验、设计实验、综合实验”三个层次组织各章的实验,循序渐进提高实践技能,在案例教学别是课程设计过程中可以和学生很好的进行交流,该模块构建了“论坛”式教学平台。

3.5网络教辅资源

提供了学生电子笔记、知识结构、教学难点和重点、学习要点、重点整理、重点难点释疑、学习自测等全面的学习资料,体现出多途径性效果和构建了“网坛”式教学平台。(本文所提网络教辅资源是课程教学网站的一部分,上述所有内容皆可放到课程网站中。)

4结束语

建立TERM遵循高等教育的规律和适应现代高等教育的发展趋势,可以克服以往纸质教材形式的单一,满足学生个性化、自主性和实践性的要求,为教学提供整体解决方案,促进优秀教学资源有机整合与合理运用,提供了教师备课平台、课堂讲授平台、学生学习平台、师生交流平台,实现了教学效果的最大化。

参考文献

[1] 严蔚敏,吴伟民.数据结构[M] . 北京:清华大学出版社,1997.

第6篇:数据结构课程设计范文

关键词:建构主义;重点课程建设;弹性内容体系;网络化协作学习;基于兴趣的学习

近年来,随着军队信息化建设步伐的加快,各军校都致力于信息类专业的建设[1]。作为信息类专业基础课程和专业课程的结合点,“数据结构”的重要性不言而喻,我院也于2009年确定了“数据结构”重点课程建设,教学对象主要是生长军官学历教育指挥类学员。以建构主义教学理念[2]为指导,将“教员引导下的学员自主学习”教学思想贯彻于课程建设的全过程,把握合理的课程教学体系建设,是本重点课程建设的主要特色。下面,我们将就体现该特色的具体实践过程及其所包含的教学内容体系建设、教学方法改革以及教学团队建设等组成环节进行阐述。

1教学内容体系建设

在课程教学体系中,教学内容是基础,不同的教学内容决定着不同的教学形式与方法,对于学员的知识能力建构的效率和效果也有着不同的影响。目前,各高校普遍压缩了专业基础课教学课时,因此,为了让学员在有限的学时内进行有效的学习,我们必须首先考虑课程教学内容体系建设问题。

一般讲,“数据结构”课程包括线性结构、树型结构、图状结构、查找与排序等内容,并以抽象数据类型、算法度量与评价贯穿其中[3]。各类院校根据其人才培养方案及学员特点,在课程内容组织上也有明显区别:有突出数据逻辑结构的,有侧重算法实现及度量的;有用C语言描述的,有用C++或Java描述的。结合我院信息类专业课程体系设置以及学员特点,根据ACM/IEEE CC2005[4]和教育部CCC2006[5]学科规范,我们在课程内容体系建设方面主要实施了以下几点措施。

1.1采用弹性课程内容体系

由于“数据结构”课程课时有限,本院数据结构课程仅为50学时,课程内容设置不可能面面俱到,必须结合建构主义思想及学员的具体特点确定教学内容。在此次课程建设中,我们在课堂讲授和实践教学环节中均采用了弹性内容体系,在课程讲授内容设置上,我们主要采用了“基本模块”+“扩充模块”的体系,其中“基本模块”包括算法度量基础、线性结构、字符串与模式匹配、树、图、排序、检索等7个模块共16个二级知识点,要求教员必须全部讲解完成;“扩充模块”则包括广义表、AVL树、倒排序及一些前沿应用譬如XML的DOM树、OWL的分类树等,由教员根据学员学习情况灵活掌握实施。

在实践教学环节,我们采用分层次的实验内容体系,自主编写实验教程,设立验证性实验、提高性实验、课程设计等三层次实验要求。其中最基础的验证性实验指课本知识点的具体实现,譬如,线性表存储结构以及其插入、删除、替换、检索等算法的实现等,侧重加深学员对基本数据结构的理解以及基本编程能力的培养;提高性实验则从实际问题解决出发,综合2至3个数据结构的应用或对相关数据结构的算法扩展等,譬如银行的多窗口排队服务,多叉路口车辆调度等问题,需要将现实世界抽象成数据模型并应用相关数据结构的知识解决,有一定建模与实现难度;实验内容体系的顶层是课程设计,以一定规模的实际问题解决为目标,以具体任务为驱动,覆盖数据结构的多种模型,锻炼学员抽象建模和解决问题的能力。根据学时的要求及数据结构教学目标的把握,共计设计了20个实验,其中验证性实验12个,提高性实验7个,课程设计性实验1个,要求学员在数据结构实践过程中至少完成15个实验,包括12个验证实验,任意4个提高性实验以及参加课程设计。

1.2采用C++结合STL(Standard Template Library)框架的描述方法

根据CCC2006的建议,选择面向对象语言C++作为数据结构描述语言,从数据结构的逻辑描述到物理存储及算法实现过程均采用面向对象的分析与设计思路;同时考虑到主流编程语言C++、JAVA及C#等都不同程度地应用了STL框架并提供了常用的数据结构类,譬如Vector、List、Set、Stack、Queue等,在数据结构课程内容中增加了对于主流语言中常用数据结构模板类的分析与编程,以增强学员对数据结构应用的理解。例如,对于STL中的Vector类,其实现功能为大小可动态增长的数组。教学中不仅仅要求学员能够应用该类型,同时要求能够分析理解该类型,譬如要求学员找出其动态增长性实现的代码段,并对其插入、删除算法进行归纳总结等。通过分析STL框架相关类的实现,扩展讲解面向对象思想与概念在实现该类过程中的应用,以提高学员面向对象分析与设计能力。

1.3规范化的教学文档建设

教学是否符合先进的教学理念,是否采用了合理的教学方法,我们从教学文档中就可以看出来,教学文档的形式十分重要,而更重要是教学文档的内容。在本次课程建设中,我们采用了规范化的模板,对课程标准、课程设计、教学计划、教学大纲、教案等进行了统一的设计与规范。譬如,在教案设计中,哪些内容易于CAI展现,哪些内容适合传统板书,我们都进行了仔细研究。譬如概念定义、背景知识、计算结论等,可以拟制要点并进行文本展示;公式定理推导过程如二叉树的性质推导,必须进行板书;原理与过程展示如递归过程分析、树的遍历、排序过程等,推荐使用动画。同时,我们要求教员授课时必须将教材、课件、教案、教学实施表(包括课程标准、大纲、计划)等文档备齐并通过教学组审核。课建组认为:严格规范的教学文档看似传统的要求,实则是课程教学是否成功的前提条件。譬如,课程标准体现了课程的知识体系,即知识建构的基础;教学计划、课程设计与教案则体现了知识的传递体系,即合理地引导学员完成知识的掌握与新知识的建构。通过教学文档建设,提高了课程教学的规范化。

2教学方法改革

在本次“数据结构”重点课程建设中,教学方法改革是研究重点。传统“教员教,学员学”的方法已不能适应“以学员为中心”的学习需要;而照本宣科式的“PPT课件播放朗读”已严重束缚了学员学习过程中的主动性与创造性,与素质教育目标背道而驰。对此,我们在本次课程建设中以建构主义理念为指导,结合“信息化教学”的特点,提出了“网络化协作学习方法”、“基于兴趣的学习模式”两种教学方法并进行了研究尝试。

2.1网络化协作学习方法

“网络化协作学习”是一种以WEB网站和信息资源为依托的新型学习方式[6],在信息资源平台面前,教员和学员、学员和学员之间更加平等,它提高了学员的学习自主性,有利于以学员为中心的学习。在“数据结构”重点课程建设中,我们通过引入“网络化协作学习”,引导学员在课后进行有效的自主学习,从而达到能力培养的要求。在“网络化协同学习”教学方法实施过程中,我们始终把握两个要点:网络课堂的开设与网络化协同学习的实践。

2.1.1信息资源建设与网络课堂开设

开设网络课堂主要依赖网络教学平台和课程信息资源。此次“数据结构”网络课堂建设采用了总部统一配发的网络课程教学平台,该软件平台不仅提供了章节知识点的构建、关联、、检索,而且可以通过公共信息、小组信息、点对点的信息支持交互,该平台能够较好满足教员与学员之间、学员与学员之间的协同学习。基于该网络教学平台,以“数据结构”课程的内容体系为依据,课题组将该课程的章、节、知识点进行了统一的组织,不仅设定了章、节、知识点的隶属关系,还以数据的逻辑结构为线索,将相关知识点进行了关联,形成了“数据结构”课程的知识网,这样做有利学员整体把握该课程;同时,为每一章、节都设置了教学目的、学习方法、学习进度、习题参考、实验练习等栏目,这有利于学员进行自主学习。

2.1.2网络化协同学习方法实践

信息资源的建设是基础,而基于信息资源的“网络化协作学习”实践则是该教学方法改革的重点。 “网络化协作学习”方法实质上是一种建构主义理念指导下的信息化教学方法,它即不同于远程教育模式,也有异于绝大多数的自学网站,“网络化协同学习”强调在教员引导下的学员自主学习和协作学习。在该方法学习中,教员是“导演”,是“总指挥”,教员需要完成学习场景组织、学习进度管理、学习效果评价等活动;学员则可扮演“演员”与“分队指挥”双重角色。作为“演员”,学员需要提出学习计划、实施自主学习;作为“分队指挥”,学员需要组织学习小组、分解学习任务、合成工作成果。

例如,针对模拟实现XML解析器这样的实际应用问题,教员的活动应包括:1)提出应用问题:模拟实现XML文件的DOM存储机制(要求模拟程序能读入、存储XML文件并将XML文件中节点关系按树型显示);2)提示讲解内容:XML文件的DOM存储原理;3)提示学习任务:树型结构的逻辑表示与存储方法、树型结构的遍历、树型结构的显示;4)分配任务给各学习小组,明确学习进度要求;5)验收并讲评学员实验报告等。学员的活动应包括:1)学习任务计划;2)树型结构相关知识学习与交流;3)XML解析器设计;4)XML解析器实现;5)撰写并提交实验报告和相关代码。以上学习活动,主要通过网络课堂所提供的信息、信息浏览、BBS、文件传送进行支持,并通过教员策划组织、学员协作实施的方式完成,是一种有效的“网络协作学习”方法。

2.2基于兴趣的学习模式

“基于兴趣的学习模式”以教育心理学为理论基础,结合“数据结构”课程内容特点,从课程引入、课程展开以及课堂气氛营造等方面进行以提高学员学习兴趣为目标的相关方法研究。该模式的详细论述见文献[7],此处作一简介。

在课程引入阶段,我们将“数据结构”与学员所学专业领域问题相结合,让学员认识到学习“数据结构”课程的现实意义,引发学员的学习兴趣。在课程展开阶段,我们采用“循序渐近式教学”与“任务驱动式学习”两种方法增强学员学习兴趣。“循序渐近式教学”主要指重视先导课与当前课程的衔接,让学员“能够学”;而“任务驱动式学习”则通过应用情景创设提高学员学习知识、解决问题的兴趣,让学员“有兴趣学”。“基于兴趣的学习模式”的第三个主要措施即课堂气氛营造,通过多种方法譬如小组竞赛、知识竞答、结对互助活跃课堂学习气氛,使学员“乐于学”。

3教学团队建设

加强教学团队建设是重点课程建设一项重要内容。教学队伍建设的质量,直接关系到课程教学的质量和人才培养的水平。因此,在课程建设初期,我们根据教研室和课建设小组的具体情况制定了“引进

来,走出去”的教学团队建设策略和具体的教员培养计划,在两年内引进教员2~3名,送学培养2~3名。目前,我们已引进3名具有硕士学位的教员,其中1名教员加入课程建设小组;选送2名教员攻读博士,1名教员攻读硕士学位,其中,1名脱产2名在职;我们还通过短期培训的方式选送教员学习相关专业知识,拓宽视野;通过参加学术会议的方式选派教员参与交流,学习兄弟院校的先进经验。上述措施使教员整体业务水平有了明显提高,教员队伍培养计划圆满完成。此外,通过课程建设活动,我们培养了一批年轻教员,其中有些教员已成为教学骨干。在两年的课程建设中,我们大胆启用年轻教师,每年都有意识地安排部分年轻教员承担“数据结构”的课程教学任务,积极推荐和支持他们参加院举办的各类教学竞赛活动,并指派经验丰富的老教员进行跟踪指导。在这些年轻教员中,先后有5人在课件制作、教学研究以及优质授课比赛中获奖,并取得了一定成绩。

4结语

此次“数据结构”重点课程建设以建构主义教学理念为指导,在教学内容、教学方法、考核方式及教学团队等方面进行了改革与实践,特别是一些改革后的、具有通用性的内容和方法,如“数据结构”课程弹性内容体系、基于兴趣的“数据结构”学习模式以及网络化协作学习方法在本次课程建设得到应用,它为下一阶段的软件基础类课程群的建设打下了基础。

参考文献:

[1] 候喜贵. 军队信息化建设研究[M]. 北京:出版社,2002:17-19.

[2] 张建伟,陈琦. 从认知主义到建构主义[J]. 北京师范大学学报:社会科学版,1996(4):75-82.

[3] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社,2001:2-3.

[4] ACM/AIS/puting Curricula 2005[EB/OL].(2007-05-08)[2010-12-20]./education/

curric_vols/CC2005-March06Final.pdf.

[5] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行) [M]. 北京:高等教育出版社,2006:38-40.

[6] 陈文汉,张建奇. 高等教育网络化教学研究综述[J]. 比较教学研究,2003(9):46-52.

[7] 张立,王伟嘉,石岩,等. 基于学习兴趣开展数据结构教学[J]. 计算机教育,2010(13):95-97.

Key Course Construction for Data Structure Base on Innovative Teaching Ideology

ZHANG Li,SHI Yan,ZHANG Hongping,WANG Weijia,YU Congbin

(Department of Logistical Information Engineering, Logistical Engineering University, Chongqing 401311, China)

第7篇:数据结构课程设计范文

摘要:本文从政策支持、课程规划、教学内容、教学条件和教学方法等各个方面介绍了烟台大学在建设“数据结构”省级精品课程过程中的一些体会。

关键词:数据结构;精品课程;课程规划

中图分类号:G642

文献标识码:B

烟台大学“数据结构”课程组在多年的教学实践中踏踏实实地做了许多有益的工作,取得了一定的成绩。课程组承担的“‘数据结构’课程的教学改革创新与实践”课题,获得了2004年烟台大学优秀教学成果一等奖,并获得2005年山东省优秀教学成果二等奖;“数据结构”课程在2002年被烟台大学评为首批校级优秀课,并于2004年被山东省教育厅评为烟台大学首批三门省级精品课之一;2007年又被烟台大学作为学校唯一一门推荐课程参加国家精品课的评选。在精品课程的建设过程中,我们有如下一些体会。

1学校各级各部门高度重视

各级领导高度重视和支持是精品课程建设的关键。在一系列相关文件的基础上,早在2004年学校又出台了《烟台大学关于开展精品课程建设工作实施意见》。在此基础上,制订了国家、省、校、院(系)四级精品课程十年建设规划,积极组织精品课程建设立项,全面推进精品课程建设工作,以精品课程建设全面带动课程建设,推进教学改革,为本科教学提供高水平的课程教学平台。

根据精品课程建设规划,学校有计划、有目标、分阶段、分层次地开展精品课程建设工作,形成并执行了行之有效的政策和措施。学校对各级精品课程建设项目实行目标管理,定期聘请专家评估。精品课程重点建设项目实行激励滚动机制。学校投入大量的专项经费,支持精品课程建设特别是精品课的网络建设、网络维护与资源共享。此外学校在职称评聘、岗位津贴等各个方面也向精品课教师做出倾斜,学校的这一系列相关政策,充分调动了教师参加精品课建设的积极性。

2抓住切入点及早规划

“数据结构”是计算机科学专业的一门核心课程,在80年代初,“数据结构”课程才逐步在国内高校计算机专业开设,并成为国内计算机专业教学计划中的核心课程。ACM/IEEE CC-2004仍将“数据结构”课程列为核心课程之首,“数据结构”愈显出其在计算机学科中的重要地位。正是在这样的背景下,在学校的支持下计算机系把“数据结构”课程确立为计算机专业的重点课程之一,并有计划、有目的的给予重点扶持。

“数据结构”课程在我校的发展沿革可以分为以下几个阶段:

学习、初创阶段:烟台大学是一所80年代在清华大学、北京大学的支援下新创建的地方性综合大学,1984年开始招生。“数据结构”是烟台大学计算机系成立伊始即开设的课程。当时计算机专业的核心主干课程都由清华大学的骨干教师担任。在此期间,烟台大学计算机系就有目的选择了具有敬业精神、教学效果优良的本系几位年轻教师组成了“数据结构”课程组,全面接受清华老师的帮助,接受他们的教学新理念、好经验和好方法。

初始发展阶段:1990年清华援建老师返回清华后,“数据结构”课的全面教学由烟台大学教师担任。由于学习、初创阶段的良好基础,这一阶段基本上形成了我校“数据结构”的课程体系结构,从教学大纲的制定、教学内容和实验内容的确定等一系列教学环节上都认真严格按照计算机人才培养的高标准要求。

初级提高阶段:1999年学校提出了百门优秀课建设规划,“数据结构”课程进入了一个全面建设和提高的阶段。首先从教师队伍建设着手,一方面派教师出去攻读博士学位,另一方面吸取教学认真、效果好的老师进入到课程组,进一步充实课程组教师队伍。其次从教材建设和实验体系结构等方面做了精心的准备,并把课程建设的目标定位在:2002年达到校优秀。在此阶段,课程组进行了一系列教学内容和教学法的研究,发表了多篇课程教改论文,取得了优异的成绩,实现了2002年达到校优秀课程的目标。

提高阶段:随着“数据结构”的发展,算法在“数据结构”中的重要作用越来越被人们认识。为了把算法与数据结构紧密联系,2004年课程组教师在多年使用的教材和讲义的基础上编写了系列教材(《算法与数据结构》、《算法与数据结构实验与习题》、《算法与数据结构考研试题精析》)3部,2004年9月由机械工业出版社出版。教材把算法放在了“数据结构”教学中的重要位置。该系列教材覆盖了从课堂授课、课后复习和练习到考研复习材料等多个方面,满足了我校“数据结构”课程的各层次学生的需要,因此2005年至今开始采用自编教材。

从1984年至2003年,采用课堂讲授和实习相结合的方式,实习时间为16个机时。从2004年开始,增加了“数据结构”课程设计,学时为24学时。在授课学期结束后采用集中的形式用一周的时间让学生设计一个综合性的数据结构设计题,通过此环节让学生对数据结构的应用有了更为深刻和良好的理解,效果较为显著。从2002年开始,制作电子教案,采用多媒体教学方式教学,并在每一轮授课过程中进行更新,确保在课件中体现新的技术和理论。从2004年开始,使用自编教材配备的多媒体课件。同时在学校多方帮助下建立了“数据结构”教学网站,网址为,将课程的教学大纲、教案、习题、网络课程、网络课件、考研试题等教学资料上网开放,实现优质教学资源共享。同时设立了网上答疑系统,为学生自主学习、个性化学习提供了方便的平台。

2006年,在学校各级单位的支持下,64学时的全程教学录像工作完毕,并且全部都挂到网上,实现了教学资源的全方位共享。

这一阶段又吸收更加年轻的教师进入课程组,使教学队伍进一步壮大和年轻化。

通过各阶段不断的改革和建设努力,课程组取得了显著的成绩。“‘数据结构’课程的教学改革创新与实践”获得2004年烟台大学优秀教学成果一等奖,并获得2005年山东省优秀教学成果二等奖。在此期间,课程负责人被评为“数据结构”课程群首席教师。2004年“数据结构”课程被评为我校首届山东省精品课立项课程,2007年该课程被推荐参评国家级精品课立项。

纵观“数据结构”课程在烟台大学的发展历程,可以明显的看到正是由于首先选好了切入点并及早做好长期规划,课程组有计划地从一开始就得到了名校高水平教师的传、帮、带,课程组基本功扎实,师资队伍力量雄厚,为课程改革和建设的进一步发展和提高奠定了坚实的基础。

3重点抓好课程教学内容的改革

“数据结构”课程一直是计算机科学与技术专业的一门理论性和实践性并重的核心课程。课程的目标是使学生掌握数据的基本的逻辑结构和存储结构、一些典型的数据结构算法及程序设计方法和技巧,要求学会分析数据对象特征,掌握数据组织方法和计算机的表示方法,为数据选择适当的逻辑结构、存储结构以及相应的处理算法;要求具备算法分析的基本技术和能力,并培养良好的程序设计风格,掌握开发复杂、高效程序的技能。课程组主要从课程内容体系结构、教学内容组织方式和实践性教学的设计等几个方面进行了重点建设。

根据课程的重点(如线性表、二叉树、排序等)和课程的难点(如图、集合等),课程组提出了相应的解决办法:采用多媒体授课的方法,将算法思想通过CAI课件进行动态的演示,使学生通过直观的认识掌握抽象的理论。坚持理论联系实际,观察分析实例,让学生通过各章的基本实验理解抽象数据类型的概念,在此基础上设计复杂的程序,培养学生的学习兴趣和实践动手能力,从而激发创造力和想象力,从实践中理解并掌握本课程的重点与难点。课程组进一步提出了“以理论学习为主线,以课程实验、项目设计为补充”的数据结构课程体系的构建方案,让学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力。为了便于学生掌握基本知识,实践活动通过两个环节来实现,第一个环节为课程实验(16机时),较偏重于对课程内容的理解,实验题目与章节内容相呼应,随课堂授课内容分散在整个学期进行。第二个环节为课程设计实习,用集中的一周时间(24学时)进行。课程设计是进行软件设计的综合训练的第一门课,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,以至一整套软件工作规范的训练和科学作风的培养。课程设计规定若干难度较大的题目,学生可在这些题目中任选一题或两题完成。

通过实验实践内容的训练,提高了学生组织数据和编写较大型程序的能力;更好地理解和掌握了算法设计所需的技术,为整个专业学习打下了良好的基础。课程设计课从设立以来,受到了学生的普遍欢迎,学生普遍反映通过课程设计才更加真正了解了数据结构,对课程期末考试的算法设计题目也更加胸中有数。

4积极创造良好的教学条件

学校和院系各级部门为本课程提供了大力支持,从教材、配套实验教材、实验设备以及实践性教学环境和网络教学环境等各方面都为课程建设提供了良好的条件。

本课程在教材的选择上,一直选用获国家级优秀教材奖的教材。对于应用型高等学校,教材的应用性和实践性尤为重要。本着有利于培养学生获取知识的能力、运用知识的能力和科学创新能力的原则,课程组根据多年教学经验的总结和教学实际编写了“数据结构”系列教材三部。其中的《算法与数据结构(C语言版)》在每章最后都单独增加一节算法设计举例,这个内容实际上把本章进行了一个高度的概括,使得学生能够从更高层次理解本章的内容。三部教材是课题组多年教学研究结果的结晶,在教材教学的内容安排及顺序以及所选的例子等方面都做了精心的安排,覆盖了从课堂理论授课和学习、课后练习和作业、实验课到考研复习材料等有关教学的各个方面,把理论学习和实践环节融为一体,满足了我校“数据结构”课程各层次学生的需要。通过三年的教学实践和考研成绩的检验,证明我们所编写教材的科学性。通过不断的教学实践,课程组教师对所编教材多次开会进行研究,对教材中出现的疏漏之处进行了修订,到目前为止教材均已重印多次,并于2008年出版了第一部教材的第二版。

实验环节采用自编教材《数据结构实验与习题》,该教材详细列出了具体的实验要求和内容,使学生充分了解每次课的实验目的和步骤,消除了学生实验的盲目性,使学生有预习和编写静态代码的时间,增强了知识的系统性。同时将每次的实验内容上网,在实验结束后将程序代码放到网上供学生参考。经过各学期的教学检验表明教学效果良好。

实践教学一直在我校的实验中心机房进行,做到了人手一台机器,指导实验采取教师加实验员加学生小教员相结合的方法,尽最大程度保证指导的时间和质量。2005年计算机学院创建了本院的开放性实验室,该课程的实验采取了在开放性实验室进行的方法,提高了实验的效果和质量。

网络建设方面,在学校、学院和网络中心的大力支持下,课程的网络建设有了一定的成效。课程网络主页的内容十分丰富,包含了教学文件、教学系统、辅助教学系统、考研辅导、远程教学系统等不同的模块。目前课程的全程教学录像也已经上网,学生可以随时在线或者下载收看学习。该课程网站的访问点击率已经达到近16万人次。经常有不少兄弟院校的教师或学生通过不同的渠道向课程组教师索取相应资料并进行探讨。该课程网络主页在学校服务器无故障的情况下全天24小时对校内外开放。这些网络资源对增加学生学习的主动性和实现个性化学习起到了非常重要的作用。

课程组同时还创造条件让学生进行各种实践活动。计算机学院与大型企业东方电子集团公司合作建立了“东方电子实习基地”,通过在基地的参观和实习,使学生学到了很多在课本上学不到的东西。尽管或许和课程内容看上去没有什么直接的联系,但通过参观学习开拓了他们的视野,丰富了他们的想象,进一步激发了他们的学习兴趣。

5充分应用多种教学方法和教学手段

在教学方法上:从传统的粉笔+黑板模式为主过渡到“计算机+大屏幕”为主的授课模式。授课的电子教案开始时使用以静态文字为主的Powerpoint幻灯片方式提供,现在采用以动态算法演示为主的CAI和多媒体课件;对于一些重点和难点算法用形象的动画在屏幕上展示这些抽象算法的执行过程,辅之以板书交流,大大增加了从教师到学生传递的信息量和信息种类,有助于建立从感性到理性的深入理解与掌握。

在教学手段上:通过研制和引入课程辅助教学软件CAI,融入新的教学理念。通过采用模拟方法、单步显示、自动演示多种方式,突出实质观察算法实现过程。在CAI个性、针对性和交互性的基础上,渗透模块化、抽象和信息隐蔽等新观点、新技术,使教师在讲课中可以对内容进行重新组合,为教师教学的个性化发挥提供基础。课件和CAI教学已在我校5届学生的教学中应用,课件作为远程教育的教学工具,便于学生课后的学习和答疑,使授课过程突出重点,发挥传统教学与多媒体教学的能力优势,提高了教学质量、效率与效果。

此外课程组还开发了计算机辅助教学系统――基于Internet的数据结构试题库系统。根据教学的需要,自主开发和建设了标准化试题库,将多年搜集的各个高校的考试试题和考研试题加入到该系统之中。该系统可以根据教师的需要,进行随机抽题或手工选题,能够生成完整的试卷和试卷答案。

教学辅导方式上:从传统的辅导老师面对面的辅导教学逐步过渡到教师辅导与通过校园网进行实时联网辅导相结合的方式。答疑系统开通后,收到了很好的效果,在同学中的影响也很大,现在许多同学都将自己的疑问提交到网上,教师基本上都能在第一时间给出问题的解答。网上答疑也是精品课建设的一个重点,让同学们将自己在学习过程中遇到的一些疑难问题提交到答疑系统,教师统一作出回答。开通答疑系统有三个好处:消除学生提问时的恐惧心理;避免重复回答;不受时间地点限制。

目前,学校已经投入专项资金建立起了Blackboard教学平台,学校将分期分批地把学校各级各类精品课和优秀课接入到该教学平台上,以实现真正意义上的网络教学和优秀教学资源的共享。”数据结构”课程将被首批接入到网络教学平台,课程组将很快在该平台上创建在线课程,并将使用该平台和学生开展在线讨论。该教学平台的使用必将为课程建设水平的提高提供强有力的支持。

6教学法研究常抓不懈

教学法研究在课程建设中始终不断线。课程组除了在教学过程中定期讨论、交流教学心得,共同探讨某个章节某个内容的教学方法以外,课程组在有关方面的支持下于2005年成功的举办了山东省高校首届“数据结构”课程建设研讨会,来自29所高校的教师代表们热烈的讨论了“数据结构”的教学内容和教学手段的改革、课程的教材建设、课程的课件建设、课程的实验教学改革、课程的考试改革以及建设精品课程的经验。大家普遍反映这次会议开得好,问题讨论得透彻,希望今后能定期召开。课程组也通过此次会议的成功举办在一定程度上扩大了该精品课的影响,同时也为该课程的进一步建设吸取了很多兄弟院校的很多有益的经验。此外,通过课程组积极协调,于2007年11月专门邀请全国“数据结构”课程知名教授、国家《数据结构》教材特等奖获得者、清华大学严蔚敏教授,到我院讲授了6学时的“数据结构”(集合一章)课,课程组全体教师全程聆听了严教授的讲课,课程组还和严教授进行了多次直接的面对面的交流,这对课程组的教学工作是一个巨大的促进。

第8篇:数据结构课程设计范文

教育部在文件中明确规定,精品课程是具有一流教师队伍、一流教学内容、一流教学方法、一流教材、一流教学管理等特点的示范性课程。按照这一标准,我们积极培养教学后备力量,注重教学内容、教学方法改革和教材建设,不断完善教学管理,努力将该课程建设成为国家精品课程。

一、课程主要特色

哈尔滨工业大学“数据结构与算法”课程经过近30年的建设,逐步形成为一门具有一定特色的核心课程。

1.以抽象数据型为核心的课程体系

早在1989年我们就采用抽象数据型的概念组织教学内容,这在当时是没有的。实践表明,当前广泛流行的面向对象技术就是抽象数据型的丰富和发展。由于采用抽象数据型的概念来组织教学内容,算法的C++描述更为自然。为保持课程体系的先进性,我们还充分吸纳了美国ACM和IEEE/CS联合发表的计算学科课程体系CC2001以及后来我国发表的CCC2002体系新内容,使学生能够及时掌握“数据结构与算法”的最新研究成果。

2.以实践为重点的研究型教学

我们认为,教学不仅要传授给学生知识,更重要的是培养他们分析问题和解决问题的能力,实践教学是培养学生相关能力的重点。实践性教学环节在强化和巩固所学的课程基础理论和基本知识的同时,培养学生综合运用多种数据结构解决实际问题的能力。实现从理论到实践,再从实践到理论的升华。实践性教学的设计思想如下:

理性实践。注意引导学生在所学理论知识指导下进行实践(实验和课程设计),即理性实践,使学生在理论与实践的每次循环中体会到欣喜和成就感,以此提高学习兴趣、增强信心,达到巩固基础知识和知识综合运用能力不断提高的目的。

面向问题求解能力培养的实践教学。面向问题求解能力是学生创新能力培养的基础。我们在实践课程中增加了设计型实验和课程设计,锻炼学生综合运用所学理论知识解决复杂问题的实践能力。

实践教学与科研相结合。课程设计指导教师大都来自科研一线,学生课程设计题目选自指导教师研究方向与本课程有关的部分。使学生提前受到科学研究方法的熏陶,训练提高了学生查阅资料和文献的能力,也锻炼了学生科技论文写作的能力。

3.以网络和多媒体为基础的数字化教学

以多媒体和课程网站为中心构建立体式的现代化教学平台,利用现代化教学手段,通过多媒体和网络教学促进师生的交流,提高师生间的互动。其中,多媒体课件丰富了课堂内容,增强了动态演示效果;学习辅导网站,为学生提供全方位的学习辅导支持,包括教学大纲、学习指导、电子教案、在线测试、学生论坛等。在教学过程中,我们也始终注意对学生主动探索能力的激发,采用多种辅助教学手段,如在辅助教学网站上不断引入课程相关的新内容并以讨论的形式激发探索,制作算法演示系统以及网上习题库等。这些内容可以帮助学生形象地理解各种基本算法,帮助学生认识课程前沿内容。

另外,为提高实验效果,在授课过程中有意识地将教学内容和实验内容有机结合,并配有实验教学辅助网站,指导并监控学生完成整个实验过程。

4.以教学梯队为主线的师资队伍建设

我们建立了由课程负责人、主讲教师、辅导教师和实验指导教师组成的教学梯队。对青年教师的培养采取以老带新,由经验丰富的教师带新入门的年轻教师。有计划、有目的地培养中青年教师。通过教学实践、实验教学的训练以及定期组织教学研究讨论,使青年教师的教学态度、教学水平和教学方法得到提高。

二、课程建设具体实施办法

1.教学队伍的建设

建立了由课程负责人、主讲教师、辅导教师和实验指导教师组成的教学梯队。逐步形成一支以主讲教授负责、结构合理、人员稳定、教学水平高、教学效果好的教师梯队。

课程组还让年轻教师通过科研的实际锻炼提高自己的研究能力,扩充知识面。许多教学实例都来自于第一线的科研项目。科研和教学的有机结合,有利于提高授课内容的先进性,也有利于锻炼年轻教师的创造性和责任感。我们已建立起一支强有力的教学梯队,形成了以高素质教师为骨干力量的教师队伍。

2.教学内容的组织

在教学内容组织方面,我们根据学科发展迅速的特点,逐步地、有计划地对教学内容进行了调整,删减了必要性不大、陈旧过时的内容,逐步增加了反映学科发展趋势的新内容,保持了教学内容的先进性和科学性,同时还充分考虑了与其他课程的衔接问题。

3.教学方法与教学手段

在教学方法和手段改革上,我们以多媒体技术和网络技术为依托,采用现代教学方法和实现手段,制作了高质量的多媒体课件、算法动态演示系统和教学网站。

处理好传授知识和培养能力的关系。课程教学既强调基本理论、基本知识的传授,同时更注意加强学生的实践能力和创新能力的培养。

4.多元化考核方法

改革了“一次定论”的判分制度,考试以学生完成日常作业和实验环节为必要条件,期末考试采用笔试方式。成绩评定由三部分组成:期末考试占总成绩的70%;平时作业占总成绩的10%;实验能力占总成绩的20%。课程设计的考核形式采用答辩方式,锻炼了学生的表达能力和做学术报告能力。

5.实践教学

在实践环节教学方面,设置了验证型、设计型和综合型三个层次的实验内容,分别在课程实验和课程设计中进行。课程组的教师都在实践环节中亲临指导,通过实验室的环境与合理的实验题目引导学生积极主动地学习,锻炼学生的动手能力、创新能力和表达能力。成绩根据预习、表现、报告、答辩等方式综合打分。为加强对学生的个性化指导,我们为每15名学生配备一名辅导教师或实验指导教师。

6.教学管理

我们建立一套完善的教学质量监控体系,从课前、课中和课后等教学环节进行全方位的质量监控。课前,新任教师在开课前必须试讲,合格后方可上台授课。课程组组织定期和不定期的具体备课,研究教学内容和教学方法。在上课过程中,对每一位教师做到100%听课,并对教学过程中存在的具体问题及时进行纠正。我们还重点检查实验教学,保证指导到位;课后,重点监督答疑、作业批改等环节。根据各个教学环节,对教师进行教学质量的综合评定。每位教师的教学质量直接影响到他的工作量计算、岗位聘任以及下一轮的教学任务分配等关键问题。因此,在教学质量监控体系下,每位教师教学态度认真,教学水平不断提高。

三、相关教材建设

第9篇:数据结构课程设计范文

【关键词】数据结构 重点课程 知识体系 模式

【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2012)02-0013-02

【Abstract】The Data Structure is the core course of computer science and technology, this article analyze the problem when study Data Structure and the knowledge system of Data Structure, put forward some key problem and the measure that the Course Construct for Data structure need to solve.

【Key words】Data Structure Key Course Knowledge system Mode

一、引 言

在人才培养中,课程建设是关键。教什么,如何教是教学过程中首先要解决的问题。在计算机科学与技术专业培养计划中有若干核心课程,“数据结构”是最重要的专业基础和核心课程之一。学习、理解和掌握好这门课程,对于学生个人编程能力的锻炼和编程风格的培养起着至关重要的作用。然而本课程具有一定的复杂性和抽象性,面对扩招后的学生,教学难度比较大。特别对培养应用型专业人才的地方院校来说,如何让学生更好理解“数据结构”的内涵及其相应的知识点,为相应的编程技能服务,是对“数据结构”课程进行重点建设的主要任务。

二、数据结构的知识体系[1、2]

把现实世界的问题用计算机来进行解决时,首先要解决现实世界如何用数据来描述。“数据结构”指的是数据之间的关系,包括数据之间的逻辑关系、数据在计算机中的存储方式及其相应的运算。因此“数据结构”的知识体系也围绕这三个方面而展开。如图1所示,分别是数据的逻辑结构、存储结构、基本运算、相应的算法以及算法复杂性分析。“数据结构”中具体的知识体系结构按三个基本知识点(数据的逻辑结构、数据的存储结构和运算实现)来组织知识,数据结构三点一线知识结构见图1,由此而构建的知识体系见图2。

在整个数据结构的知识体系中,在介绍线性表、串、数组和广义表(线性结构)、树和二叉树(树形结构)和图(图结构)知识点的基础上,以数据组织的两种存储结构顺序结构(连续存储结构)和链式结构(离散存储结构)为贯穿整个课程的两条主线,注重培养学生掌握各个知识点之间的联系,形成数据结构的理论教学;在数据结构的实验教学方面,同样采用顺序和链式两种存储结构为主线,实现线性表、树、图等各个知识点数据的组织和算法的设计来实现;最后将理论和实验两者结合起来进行数据结构课程的课程设计实践,进一步提高学生解决实际问题的能力。

三、数据结构重点课程建设

数据结构课程的建设应围绕学生学习中遇到的问题和数据结构所要传授的知识点和解决的问题进行展开,着重解决以下几个方面的问题:

1.分层次展开教学

分层次展开教学,包括教学内容的分层次,作业题目的分层次,实践环节的分层次。针对学生的兴趣、理解能力和接受能力不同,将来的工作岗位也不同,在教学内容上可以分层次对待。每一章节的内容都可以分成基础部分和提高部分,让不同程度的学生自主选择。其中基础部分是教学大纲上必须完成的重要内容,而提高部分可以供基础较好的学生选学。学习方式除了课堂教学之外,还可以尝试课后答疑、网络课件共享、网上论坛、自学等多种方式,充分调动学生学习的自觉性。在作业题目的分层次上,充分利用网络,在布置作业的过程中,可以根据学生的实际情况,布置一定量的基础习题,同时布置一定量的难度较高的习题。对于基础习题,可以要求每一位学生都要完成,而对于难度较高的习题可以供学习基础较好的学生选做。实践环节分层次,数据结构课程上机实践需要用程序设计语言来编写程序,对学生的编程能力有很高的要求。由于学生的编程能力不同,可以布置不同难度的课题供学生选做。比如对于“栈和队列”一章的上机实验,一般学生只要求做“数制转换程序”、“括号匹配程序”等比较基础的练习,让他们通过这些练习充分了解堆栈的特点和基本应用;而对于学习基础较好的学生可以选做“迷宫问题”、“算术表达式求解问题”、“八皇后问题”等难度较高的题目,充分训练他们的编程能力。

2.课程之间的协同教学[5]

数据结构的前导课程是高等数据和程序设计语言,其后导课程包括数据库原理、软件工程及系统开发等。在教学过程中,必须融合相关的知识点,因此要求教学过程实现协同教学,包括师师协同、师生协同、生生协同几个关键环节的协同。在师师协同教学的实践过程中,组成软件开发设计教师群,采用即时聊天工具和论坛等,交流教学习心得和对知识的连续性进行融合和沟通。采用“责任教授+主讲教师+实验辅导教师”的教师团队,采用“讲授+分析+案例+演示+大型作业+实验+查阅资料及撰写综述报告+小课题”的教学模式,改善这类综合性课程“难教”、“难学”的状况。

3.完整的实验体系教学

全面的实验内容、实验过程全程指导、严格的考核体系是本课程实践环节的亮点。整个实验课程体系由精心设计的基础性实验和鼓励学生创新的综合设计实验两部分组成。[3~4]基础性实验主要是一些预先设计好的实验,通过学生的实际操作,加深对课程所讲授的基本原理、技术和方法等知识点的理解,同时,能够让学生掌握一些具体的开发工具及环境。基础性实验是一组实验集,包括了必做的和根据个人的兴趣选做的。诸如线性表、栈和队列、串、数组和广义表、树和二叉树及图等。综合实验是启发式的引导性实验,主要目的在于培养学生对课程所学知识的综合运用能力和创新能力。由学生结合本课程内容以及前导实验,充分发挥主观能动性,独立设计并实现具有一定演示度的应用系统,原则上不限制硬件和软件平台。考虑到学生水平差异,给出了一些备选方向,鼓励和引导学生积极提出原创性的设计内容。对于基础性实验,要求每个学生独立完成,实验前要求提交实验预习报告,实验过程中给出实现结果,实验后要求提交实验报告。对于综合设计实验,以兴趣小组方式组织,每个小组3~4人,要求每个小组都要提交项目申请书,经过答辩、确认技术路线可行后,进入实现实验阶段,实验完成后,提供关于实验的课程设计和实验报告。在整个实验过程中由课程教师和助教一起完成实验指导。

4.建设的具体实施办法

(1)完善课程网站。实现所有教案和课件全部电子化,具有较好的多媒体效果,并放在网站上。实现教学手段的电子化与网络化,包括网上作业的与提交、网上小测验、网上辅导与答疑等。

(2)建设开放性实验室。在数据结构的教学实践中,加强了学生参加ACM比赛项目的教学和培训,提高了学生分析算法的能力,从这几年的教学实践来看,学生对以应用项目开发相结合的这种教学与实践相结合的模式非常感兴趣,尤其在综合实验中表现出很高的热情和积极性,所投入的精力和时间已远远超出课程的要求,教学效果非常显著。这促成了我们建设开放实验室的想法,即该课程的实验教学做到实验时间、实验内容和实验器材对学生的真正开放,使学生能够理论与实践相结合、验证型实验与设计型实验相结合、课内与课外相结合。当然在开放实验室下的课程辅导、监管、考核方式都需要新的探索。开放实验室将通过学校的教改项目支持来完成。

(3)逐步构建第二课堂――电子教室。数据结构学习的目的是为该项目开发服务,除了基本的数据结构描述,更重要的是数据处理的算法分析,由于课时等条件限制,课堂上不可能覆盖很多内容,为了保证课程的广度和深度,往往需要学生课外学习和掌握一定的知识。因此,我们计划逐步建立第二课堂――电子教室,该教室包括多个专题(如图像处理,ACM,智能机器),学生根据自己的时间和兴趣选择,并在网上交互学习。电子教室的建设将依托学院教改项目。

四、小 结

在数据结构课程建设中应该遵循:系统论、团队论、发展创新论和实践论原则。我们认为“数据结构”课程的建设不是孤立的事件,应将其放在系统中进行建设。还应将其与计算机专业建设相结合;课程建设应是课程组全体教师共同的事情,优秀课程或精品课程必须要提倡团队精神,建设一个优秀的团体。课程建设中所形成的基本资料:课程大纲、教学日历、实验大纲、教材和实验资料,不能一劳永逸、一成不变,课程建设应该在发展和创新方面下工夫,使课程内容跟上计算机科学技术发展的步伐,使教学手段、方法不断更新,使课程建设充满活力。数据结构是一门实践强的课程,注重实践应从两个角度来考虑,一方面要注重“数据结构”课程的实践教学环节,我们在实践教学的改革和实验方面作了大量实质性工作,如实验指导书的编写和不断改写、实验平台和程序设计语言的更新以及“数据结构实验教学系统”的开发等。另一方面课程建设也是一个艰苦细致的过程,仅有好的设想和主意是不够的,还需要教师去实践,如编写教案、教材、教辅资料,建设和维护网站,撰写论文等。还要在实践之后认真分析总结。

参考文献

1 严蔚敏、吴伟民.数据结构[M].北京:清华大学出版社,2005.4

2 张济础.数据结构课程的体系结构和学习方法[J].上海第二工业大学学报,2005(22):37~42

3 白伟华.数据结构课程教学方法的实践与探索[J].电脑知识与技术,2005(17):5~7