普通高校“数据结构”实验教学问题与对策
摘要:本文针对三本院校实际情况,通过对数据结构实验教学的分析,发现实验教学过程中出现的问题并提出解决问题的相应对策。在解决对策的论述中着重讨论了实验教学环境的设计,为开发新的实验软件在需求上进行了探讨。
关键词:数据结构;实验;教学;问题;对策c语言游戏编程题经典100例
1数据结构实验的重要性
“数据结构”是计算机专业重要的专业基础课程与核心课程 [1, 2],内容包括数据的逻辑结构、存储结构以及运算。不论是存储结构的设计,还是运算的算法设计,都必须考虑存储空间的开销和运行时间的效率。因此,数据结构课程不仅讲授数据信息在计算机中的组织结构和表示方法,同时也训练高效地解决复杂问题程序设计的能力[3]。
专家指出,数据结构课程内容定位在以下两个方面:基本数据的描述与组织,基本数据处理方法的算法设计。这两个方面最终都要通过计算机语言来实现。目前在数据结构课程教学过程中大多采用C语言或者C++语言作为描述语言[4]。经过理论学习,学生在实验课上借助C语
言或C++语言编译器编写程序来描述并组织数据或者实现数据结构算法。实验着眼于原理与应用的结合点,使学生学会如何把书本上和课堂上学到的知识用于解决实际问题。有了理论课程学习的基础,再通过实验课程的练习,可使学生深化理解教学内容,掌握经典算法的精髓并将它们运用到程序设计的实践过程中。
要达到这样的实验教学目的,就要借助一门程序设计语言,通过编写程序来达到训练的目的。而编写程序过程中,上机实验对程序进行调试是必不可少的。但是在实际教学过程,数据结构课程的实验教学效果并不尽人意。
2数据结构实验教学存在的问题
独立学院与一本二本院校相比,学生知识层次低,而且大都没有系统地养成自主学习的良好习惯。加上数据结构课程本身具有一定的复杂性和抽象性,在理论教学中学生对理论知识理解较困难,在实践教学中学生的实验动手能力相对薄弱。目前在数据结构实验课程教学环节中多使用IDE环境,程序编译器相对比较复杂,如Boland C++ Builder,Microsoft Visual C++等。学生在程序设计课程中虽然有可能使用过这些编译环境,但是复杂的编辑、链接和编译过程仍然使学生在实验课堂上难以将注意力放在算法分析和实现上。这些
编译器在执行程序时,除了对程序语法本身进行提示外,对算法的运行过程没有任何提示或解释,学生只能通过编译器调试工具或程序执行结果的正确与否来判断算法实现是否正确。有的即便程序正确通过,但是学生仍然无法察觉算法上的不当。
另外,数据结构课程的核心是算法设计,不能等同于程序设计。算法是局部的,而程序设计是全局的。程序设计能力包括算法设计能力、全局组织能力和实际动手能力。数据结构强调的是基本数据组织与基本处理方法,应该注重基本算法设计能力的培养,用这些基本内容构成程序设计的核心。对于数据结构实验课程本身而言,很多实验都是基本数据结构的运用,学生也只希望编写一两个函数或者语句片段来实现算法。但是在普通的编译环境中要实现一个算法,就不得不把一个完整的程序编写出来,涉及了很多程序设计方面的知识。学生课堂时间有限,在课堂上完成实验往往时间紧张,而且这还是在程序设计非常熟练的情况下。这样就造成数据结构实验课上学生不能集中注意力来对算法进行分析和研究,而只着眼于怎么把程序调通,偏离了数据结构实验教学的方向,很难达到实验教学的目的。
3对策
3.1合理组织实验教学内容
根据应用型人才培养目标,在遵循教育部高等学校计算机科学与技术教学指导委员会对于数据结构课程教学提出的基本要求前提下,通过对计算机专业课程体系和教学目标的深入了解,对计算机应用需求和能力培养的研究,来合理组织理论教学和实验教学内容,编写合适的实验教学大纲。在实验教学大纲中,突出算法思想的重要性,强化经典算法,注重启发和思想训练,为学生留下思维创新的余地。
3.2设计实验教学软件
通过对数据结构实验课程中存在的问题进行分析,我们发现,要在有限的实验课时间内收到良好的效果,关键是要有一套专门针对数据结构实验的软件环境。有了专门的实验环境,可以使学生在实验课上越过程序设计的细枝末节。对于一些在特别数据存储结构上实现的算法,学生不必花费时间自定义存储结构,可由教师预先定义好,而学生只要编程实现实验任务要求的算法就可以了。这样就节约了学生上机实验的时间,能将注意力集中在算法的讨论、实现以及应用上,可大大提高实验教学的效率。另外,在专门软件环境下对数据存储状态的实时提示下,程序对数据的操作一目了然,便于学生对算法的分析以及算
法对数据操作过程的理解,使实验效果大大增强。
以C/C++语言版数据结构教学为例,据了解,目前国内高校数据结构课程的实验大都是依赖现有的商业程序设计软件,如Turbo C,Microsoft Visual C++等。2006年4月在北京举行的“全国高校计算机课程研修班”上,清华大学的严蔚敏等教授和专家向全国参会高校教师介绍了两套专门用于数据结构实验教学的软件系统。一套是基于B/S模式的“清华大学数据结构算法练习系统”,另一套是基于计算过程可视化交互集成环境的“数据结构编程作业系统Anyview C”。其中“清华大学数据结构算法练习系统”提供学生、教师和管理员三种角的操作。教师用户将需要由学生完成的算法练习题分解成题目部分和学生填写部分存入后台数据库。学生填写部分往往是算法实现的关键代码。学生用户使用浏览器打开题目,完成程序的编辑并提交。程序的编译、链接和执行都在服务器端完成。在程序执行过程中还能根据算法执行过程在学生用户端给出执行过程提示。这样,学生在做数据结构算法练习时就不必在意编译环境的具体使用而把注意力集中在算法实现上。另外,对于运用在特殊数据结构上的算法,学生也就不必花费时间去定义数据结构而由教师用户事先把用到的数据结构定义好,使实验有的放矢。“Anyview C”系统则是基于C/S模式。客户端软件把程序编辑器、编译器和调试器集成在一起,供学生利用C语言进行数据结构实验练习,并配有算
法执行过程的动画演示。该系统可供教师对学生的练习作业进行管理、批阅,有很好的教师管理功能。该系统结构复杂功能强大,在功能使用上可以说是同类软件的典范。
“他山之石,可以攻玉”。目前这两套软件还在推广试用阶段,而且都是基于C语言描述,以这两套软件为蓝本,综合两套软件系统的优点并结合自己院校的实际情况设计一套适用的数据结构实验教学软件,对于增强实验教学效果有着立竿见影的功效。新的软件系统可以以流行的程序设计语言C++或者Java为算法描述语言,基于瘦客户的B/S模式构建。这样利于网络教学的广泛开展,并和现有的网络教学平台结合,利用成熟的服务器技术以及多媒体和流媒体技术,构建具有良好交互性和趣味性的网络教学平台,操作简单,教师用户对学生用户和学生练习作业有完善的管理和控制功能,能灵活更新和共享软件系统中的题目,有利于教学内容的更新和交流。
3.3编写实验指导书
在实验教学中,一本良好的实验指导教材也是必不可少的。根据理论教学和实验教学要求,结合实验教学软件,编写出的实验指导书要形象生动、通俗易懂。在每个实验中,可根据教学内容安排使用实验教学软件中相关的题目,并对实现步骤给出提示。对于教学内
容中的重点和难点还可以在实验指导书中结合实验进一步解析和拓展,使学生能对所学内容深入理解和掌握,做到举一反三并能灵活运用到实际程序设计和开发中。
不可否认的是,数据结构实验教学中使用专门的实验环境在一定程度上会制约学生对程序设计的宏观把握。学习数据结构最终还是为程序设计提供服务,而程序设计能力源于实践,是实践的积累。作为弥补,可以在实验指导书的第二部分安排基于项目的数据结构课程实践。这部分内容脱离具体实验环境,从项目出发,由学生亲自设计一些经典问题的完整程序,比如基于环型链表设计的猴子点兵游戏、约瑟夫环问题,基于堆栈设计的汉诺塔游戏、九连环游戏、迷宫探路游戏、停车场问题,基于图结构设计的寻宝游戏,基于树结构设计的电报编码软件等等。这些程序设计实践项目可由学生在课下自行完成,也可在数据结构课程结束后集中组织学生完成。通过这些项目可使学生深刻理解数据结构在程序设计中的实际用途,也使学生体会到思想的重要性,从而掌握算法思想,自己设计算法,获得更开阔的思维空间。
4效果
为了推进实践教学改革,结合我校实际情况,我们进行了长期的数据结构实验教学研究和
探索。本着发现问题、研究对策的原则,在加强实验教学管理的同时针对以上问题,按照相应的对策进行实施,取得了较好的效果,并且通过兴趣小组等活动培养了一批优秀学生,取得了一些显著成果。我校计算机专业学生在全国大学生数学建模竞赛中,5年来获得全国一等奖7项,全国二等奖4项,在大学生ACM程序设计竞赛浙江赛区中获得过银奖,在浙江省级大学生多媒体作品设计竞赛中连续几年获得一等奖多项。其中,曹丹等同学的作品“数据结构学习系统(C++)”获2004年第三届“浙江省大学生多媒体作品设计竞赛”一等奖。在课程组老师的指导下,相关学生在学院和系报上发表了多篇习作。
5结束语
对于计算机学科来说,实验是教学中至关重要的环节。抓好实验教学,加强实验教学效果,大力推进实践教学改革刻不容缓。可以相信,只要切实地抓好数据结构实验教学的几个措施,通过教师和学生的共同努力,发现问题、解决问题,数据结构实验教学改革的步伐将进一步加快,实验教学的质量将得以更大的提高。
参考文献
[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 高等教育出版社,2006,(9):112-113.
[2] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 清华大学出版社,1997.
[3] 杨秀金. 数据结构——使用C++语言[M]. 科学出版社,2004.
[4] 汪沁,杨秀金. “数据结构”教学改革与研究[J]. 湖北师范学院学报(自然科学版),2004,(24):93-97.
[5] ice/index.html
收稿时间:2007-1-26
E-mail:yangqing@zwu.edu
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论