数据结构实践平台的架构与应用
2016-05-14汪沁张凯奚李峰
汪沁 张凯 奚李峰
摘要:在计算机专业的各门基础课程中,“数据结构”课程在提高学生的科学素质方面起着无可替代的作用。本文对新形势下的数据结构实践进行了探索和研究,以期提高学生学习能力和教学效率。
关键词:数据结构;素质教育;算法
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2016)08-0088-04
引言
信息化社会和多元化应用型人才需求的发展趋势,对我国信息类的高等教育改革,特别是计算机专业教学提出了新的要求和新的课题。“数据结构”课程作为计算机专业教学计划中的核心课程,同时也是非计算机专业的主要选修课程之一,其教学改革的要求更为迫切。
早在浙江万里学院建校初期,校领导就十分重视重点课程的建设和培育,因此“数据结构”课程被列入了校重点建设课程。在计算机专业课程体系中,“数据结构”课程不仅在提高学生的科学素质方面起着无可替代的作用,其实践教学在整个计算机专业教学中的地位更是举足轻重。所以在该课程的实践教学上,我们不断尝试教学改革和探索,提高教学效果,开发学生的创造能力,以适应时代的变化,培养高素质的信息化应用型人才。
数据结构实践教学平台的框架设计
在计算机科学中,“数据结构”是一门综合性的专业核心课程。它不仅涉及计算机硬件(特别是编码、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及数据元素在存储器中的分配问题。通常在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素。[1]因此,我们可以认为“数据结构”是介于组合数学、计算机硬件和计算机软件之间的一门核心课程;在计算机科学中,它不仅是一般(非数值计算)程序设计的基础,更是设计和实现编译程序、操作系统、数据系统及其他系统程序和大型应用程序的重要基础。数据结构实践教学平台的框架设计如图1所示。
建设内容及体会
1.改革实践教学模式,建立多形式、多层次的立体化实践教学体系
大力探索改革已不适应新形势下“数据结构”课程的实践教学模式,需建立起“科学设计实践教学内容,优化实践教学过程、指导方法,培养创新能力”的“引导—探索—实验—掌握”的教学模式,从验证性的基础实验走向综合性、设计性的开放实验,并通过素质拓展、学科竞赛、工程项目训练等方式,构建起第一、第二课堂相结合的分层次的立体化数据结构实践教学体系(如图2)。同时,相关的教材、教辅软件等资源建设以及实践教学考核体系的建设,有力地支撑了“数据结构”课程的实践教学。[2]
这种实践教学模式,充分发挥了教师的主导作用,突出了学生的主体地位。教师变单向信息传递为双向式、多向式信息传递与交流,只在课内讲重点、关键点和注意点,发挥主导调控作用。学生通过师生互动主动参与实验。课本让学生看,实验让学生做,思路让学生想,疑难让学生议,错误让学生析。学生通过这种实践教学模式能独立设计实验,最大限度地调动自主学习的积极性和主动性。[3]这种模式主要采取提问、答疑、讨论、观察实验现象、动手操作等方式,来加强对学生实验能力和创新能力的培养。
教师根据教学大纲的要求把实验操作能力要达到的教学目标加以分解,并按实验内容难易程度分解为验证性实验、综合性实验、设计性实验,其中验证性实验一般以大纲中规定必做的实验为主。[4]另外,对较优秀的学生可以增加综合性实验和设计性实验。综合性实验是将不同的实验进行组合,综合解决较复杂的问题,要求学生利用各种方法去解决新的问题。设计性实验是根据教师提出的实验目的要求,学生自行设计,完成实验内容,在课外开展丰富多彩的第二课堂活动。
2.实践教学和教改项目相结合,大力推进“项目化工程训练”建设
目前,我校计算机与信息学院承担着浙江省新世纪教改项目“信息类学生项目化工程训练的应用型人才培养模式”,该项目与“数据结构”课程的第二课堂活动紧密结合。它是指在实践性课程教学中,将实践内容分解成一个个的小课题,将学生按课题组(项目团队)进行分组,在小组内各行其责,通过参与不同项目角色的演练,完成不同规格的要求,最终达到“应用型人才培养”教学目标的一种课程训练模式。实践教学可以是课程实验、课程设计,也可以是集中实践或实习。按照课程体系的安排和“专业兴趣培养→专业基础奠定→专业技能训练→行业小项目引导→企事业实用项目开发”的过程培养,“项目化工程训练”不仅能使学生在积极参与中掌握真正的专业技能和理论基础知识,逐步养成独立思考、自主学习的良好习惯,不断增强应用创新和可持续发展能力,而且能锻炼学生的团队协作精神,培养其沟通技巧和管理能力,进而增强其自信心和责任感,成为真正意义上的高素质应用型人才。
该项目的实施使学生形成了比学习、重思考、求发展的良好学风。它突破了传统的、单一的、学科型的训练模式,构建起一种学生主动参与、自主学习的新型实践性课程训练模式。实践训练模式的改革,必然会促进“数据结构”理论教学模式的改革与创新。
3.更新“数据结构”实践教学内容,从“面向过程”过渡到“面向对象”
在课程内容体系方面,既要保证“经典”理论和知识的传授,又要兼顾“现代”技术发展,认真处理好“经典”与“现代”的辩证关系。
“数据结构”课程的理论体系、经典算法变化不大,但在算法描述的语言工具方面,变化比较大,已经由PASCAL语言发展到C语言,再到C++语言。虽然“数据结构”课程本身似乎注重于算法思想的学习和分析,但它来源于实际问题,因此它更是一门实践性很强的课程,即需要在计算机上以适当的存储结构、具体的程序编码,将“经典算法”应用于实际问题,当然其过程的实现必须通过上机来调试运行程序。
因此,选择适当的程序设计语言显得尤其重要。当前软件平台和开发工具的迅速发展,使得一些应用软件的开发已经由“面向过程”过渡到“面向对象”。但有些高校仍然使用“面向过程”的C语言进行数据结构教学,这对于夯实理论基础有一定的合理性;而另一些高校采用C++语言“面向对象”技术进行“数据结构”课程教学,这样更接近于现在软件行业的实际,更适应应用型人才培养的趋势。我们的“数据结构”教学经历了由PASCAL到C,再到C++以及面向对象C++的过渡,通过多年来的改革实践,课程在内容上更具有先进性、科学性,基本反映了本学科领域的最新科技成果。
值得一提的是,使用面向对象C++语言进行程序设计,会使实验难度有所加大,针对这种情况,我们开发了专用的“数据结构实践教学”软件,其功能模块包括:与程序同步的算法动态演示部分,可供学生复习或自学;允许学生实时在线编辑和运行C++程序;自行设计典型数据结构的类代码库,可供学生选择引用,以减轻上机实验的负担。
为了提高学生的学习兴趣和能力,我们还组织了课外兴趣小组,同时,积极引导本科生参与科研活动。通过课外给予指导、内容适当加深、技能适当拓宽,学生完成能够演示的软件或发表论文。这样数据结构实验已经初步具有开放综合性、创新性和研究性等特点。
效果
1.教材建设
为了配合浙江省重点教材《数据结构——使用C++语言》,我们编写了适合本校情况的实验指导书,先后出版了3个版本。
课程组申请的《数据结构——C++》于2006年8月正式列入教育部普通高等教育“十一五”规划教材。该教材和相配套的实验教材面向工程型和应用型人才的培养,遵循“经典”内容和“现代”技术的有机结合。
为了推进实践教学改革,我们对教材的指导思想是教材应重视学生实践能力的培养,体现以实验为基础的学科特色。在“数据结构”实践教学中,我们注重学生自己动手实验学习知识,在综合实验运用系统讨论“黑箱”“灰箱”和“白箱”的思想,指导学生区别对待难点、重点和基本点,使不同水平的学生能各尽其能,体验成功的乐趣。
2.建设了一个较好的教师团队
“数据结构”课程组教师队伍结构合理,平均年龄35岁,其中高级职称占70%,中级职称占30%,青年教师中有博士、硕士。教授领队,形成“教授+副教授+讲师”的合理梯队。课程组教师由于经常参加国内外各类进修,所以涌现出一批年轻的骨干教师。同时,课程组发表的相关文章,有很多在各类教学竞赛中获奖,其中“数据结构精品课程建设模式与实践”获得宁波市教学成果一等奖(政府奖)。
3.学科竞赛成效
由于“数据结构”实践教学能提高学生进行复杂程序设计的能力以及算法设计和分析能力,所以学生取得了一些与“数据结构”课程相关的成果。
在全国大学生数学建模竞赛中,学校5年来共获得一等奖7个、二等奖4个。
在宁波市高校大学生科技小制作评选活动中,我校潘庚然的《基于分布式密钥的增强型手机钱包》获得一等奖,卢海阳的《无线POS机支持的体育WEB化管理系统》、郑东东的《软件缺陷跟踪管理系统(UDTS V2.0)》获得二等奖,汪灵峰的《PC机联结嵌入式系统实现无线、远程数据采集与环境温度监测》、戴连成的《电子抢答器》和周峰的《感应报警器》获得三等奖,还有张龚等8位学生的作品获得优胜奖。
总之,只要切实抓好数据结构实践教学改革,通过教师和学生的共同努力,实验教学的质量将会得到更大的提高。
参考文献:
[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997(4):54-193.
[2]汪沁,杨秀金.《数据结构》教学改革与研究[J].湖北师范学院学报(自然科学版), 2004(24):93-97.
[3]杨秀金,等.数据结构[M].西安:西安电子科技大学出版社,2001:33-145.
[4]谈春媛,等.数据结构[M].北京:电子工业出版社,1997(8):1-63.
作者简介:汪沁,女,教授,计算机应用;张凯(1978—),男,讲师,计算机应用;奚李峰(1971—),男,教授,计算机应用。
本文受浙江省新兴特色专业“软件工程”专项资助。