数据结构实践教学体系的设计与实施

时间:2022-04-28 12:16:24

数据结构实践教学体系的设计与实施

摘要:数据结构是一门理论性与实践性都很强的课程,数据结构实践教学体系的建设对于学生实践能力和创新能力的培养起着重要的作用。该文结合数据结构课程的特点,从实践内容的设计优化、教学模式和教学手段几个方面出发,探讨了数据结构实践体系的建设思路、建设过程和取得的主要成效。

关键词:数据结构;实践教学体系;教学改革;教学模式

“十一五”期间,教育部计算机科学与技术教学指导委员会发表了《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》。提出了“专业方向分类”发展的基本思想和三个辅助提议[1],其中建议之一是“加强学生实践和动手能力的培养”。程序设计能力是计算机科学技术相关专业最为重要的专业技能,它是评价本专业本科生培养质量的首要指标。计算机科学技术专业中开设了高级语言程序设计、数据结构等程序设计类专业基础课程,这些课程的教学质量直接决定了学生程序设计能力的高低。数据结构是最为重要的程序设计基础课程,是设计和实现各种应用软件的学科基础,课程教学效果对学生专业素养的形成具有重要的影响作用。

我校数据结构课程是江西省首批精品课程,为进一步提高课程教学质量,增强计算机专业学生程序设计综合能力,课程组在江西省高等学校教学研究立项课题“数据结构综合性课程设计探索与实践”和江西师大实验教改重点课题“数据结构新型实践教学体系的开发、设计与探索”的资助下,对数据结构实践教学体系进行了优化设计与教学实践。实践表明,该体系对提高学生程序设计综合能力起到了重要的作用。

1数据结构实践教学改革的必要性

数据结构教学中长期存在一部分老师重理论轻实践的现象,而且由于该课程内容比较抽象,有时教师即使花了很多的时间准备,也常出现学生看似明白算法思想,可是却无法真正实现算法的情况。主观上,学生对这门课程的认识仅停留在此门课是研究生入学考试的必考课程,知道这门课程是非常重要的,起初并不能体会到这门课程在专业学习中的作用,对它在软件设计与开发中的作用更是缺乏感性认识,学生学习的兴趣有待于提高。

数据结构作为实践性很强的计算机专业基础课,教学中必然离不开实践。大部分高校采用验证性实验作为课程实践的主要内容,即布置针对课堂教学内容的小型练习题,让学生去完成程序设计与实现。由于学生可以采用教材中现成的方法实现这类实验,因此其计算思维并没得到有效的锻炼[2]。另外,这类小型的实验一般都是由学生独立完成,团队协作精神在实践过程中也没有得到有效的锻炼。为了在课程实践环节加强团队协作,尽早地让学生接受软件工程训练,必须对传统的实践环节进行改革。

2数据结构实践教学体系

2.1数据结构实践体系的设计

我校数据结构实践环节的教学改革最早从2000年开始,当时制定的该课程的教学目标是:“通过实践巩固理论知识,培养学生的程序设计能力”。具体做法是在教学计划中增加实践考核内容,经过3年实践,虽然学生程序调试能力有了普遍的提高,但学生的综合性程序设计能力有待进一步提高。2003年本课程获批江西省首批精品课程后,课程组对课程理论与实践教学进行了一系列的教学改革,到2006年,课程组开展的“基于网络协作模式的教学改革与实践”项目获江西省教学成果二等奖,精品课程建设初显成效。但如何进一步提高课程建设质量,提高学生综合性程序设计能力成为课程组面临的又一新课题。为此,课程组全面改革数据结构实践教学体系,在数据结构课程中引入了综合实验及综合性课程设计,修改后的课程实验体系如图1所示。

其中“基础实验”与课堂讲授同步,目的是加深对某个知识点的理解;综合实验是对多个知识点进行综合训练,加深对课程内容的整体认识,要求学生提交实验报告;课程设计是在课程结束后进行,要求学生以项目组的形式合作完成大型程序,以培养学生的综合程序设计能力及团队合作精神。教师提供了一些基本选题如表1所示,学生也可以自拟综合设计题目。课程组确定的综合性课程设计训练目标是:通过大型程序的编程训练,进一步培养学生程序设计综合能力、增强团队协作意识。课程设计安排在本课程的后期进行,此时学生已具备一定的程序设计基础,具有完成项目的能力。

2008年教育部高等学校计算机科学与技术教学指导委员会编制出版了《高等学校计算机科学与技术专业公共核心知识体系与课程》和《高等学校计算机科学技术专业实践体系与规范》两个指导性纲要,我们开展的教学改革思路与其指导思想完全吻合。

2.2数据结构实践教学体系的实施

具体实施方法如下:

1) 基础实验与课堂教学同步进行,学生在实验课中完成该部分内容。

2) 综合实验与每一章的教学同步,一般要求学生完成“线性表顺序存储及其应用”,“线性表链式存储及其应用”,“栈与队列”,“树与应用”、“图”、“排序与检索”等综合性实验[3-4]。

3) 对于综合性课程设计,由于涉及一些课外知识,所以需要向学生介绍一些基于软件工程的大型程序开发方法,通过解析若干个大型程序范例,引导学生学习和掌握大型程序的设计思想和开发方法;对大型程序的训练题目给出问题的描述以及基本要求和高级要求,使学生可以根据实际情况进行不同层次要求的训练。项目实施时要注意设计题目的趣味性,鼓励学生在功能点上创新,并要求学生提交课程设计报告(如图2所示)。

4) 以项目式教学模式指导实践环节中的综合性课程设计[5-6],教师在数据结构课程中以项目教学模式流程为主线来设计教师和学生所从事的各类活动。为帮助学生选定题目,教师除了在日常的课程教学中引导学生选题外,还开展专题讲座,目的是引发学生对某一个或若干专题感兴趣,期间也可以给学生感兴趣的专题讲授一些概括性的知识。例如,教师结合数据结构介绍“互联网搜索引擎原理”等热点问题,极大地激发了学生的学习兴趣。

5) 采用软件工程思想指导项目教学模式。在项目教学模式中,教师按照软件工程的思想,要求学生进行需求分析、确定时间计划,确定行动方案、确定最终作品的形式、确定小组内的任务分工,教师负责审定项目计划,并进行必要的修改。项目实施过程中,上一届留下的资源可以给下一届学生借鉴,上一届学生中选拔的优秀学生可以作为我们开展项目教学的“学生助教”,让他们参与项目的审定,一方面节省了任课教师大量的时间,另一方面也提高了“学生助教”的实际工作能力。项目组在确定题目后,在“助教”和老师的共同参与下制定项目实施计划,开展项目研究,定期提交项目阶段性的研究成果或文档报告。

6) 改革成绩评价机制,充分调动学生的学习主动性。为了让学生有激情参与到实验教学中来,课程组改革了传统的教学成绩评定机制,期末理论成绩考试只占总成绩的50%,另外50%成绩来源于学生的项目实践成绩,图3是学生集中上机考试现场。学院建有机器人开放实验室、ACM程序设计竞赛组等学生创新实验平台。实验室成员从数据结构与算法方面具有较强动手能力的学生中选拔,ACM程序设计竞赛队的成员也基本上来自其中的优秀学生。在课程项目中表现突出的学生有更多的机会参与到学院各类横向或纵向课题的研究梯队。以上激励措施,极大的调动了学生的学习主观能动性。

3实践教学改革成效

在数据结构实践体系中,综合性课程设计通过问题建模培养学生将所学知识和实际问题联系起来的能力与意识;数据结构设计体现数据的组织结构对问题求解的差异;算法设计与实现根据具体问题的要求设计出合理的算法;测试帮助发现设计中所存在的问题,体现设计的性能。经过综合性课程设计的训练的学生,在后续软件开发课程的学习中表现出明显的优势。课程组经过3年的教学改革,主要取得了以下教学改革成效:

1) 出版《数据结构C语言版(第二版)》教材一部[3],出版《数据结构实验》教材一部[4];

2) 培养了学生的自主学习能力,培养了学生团队合作的精神,训练了学生的组织管理能力,一些学生的科研能力得到了早期的培养,参与过项目设计的学生在学校科研立项中获得好成绩,学生撰写的研究论文多篇发表在核心期刊上。

3) 煅炼了学生大型程序设计的开发能力,学生成绩显著提升,图4是学生连续三年考试的试卷分析情况,从中可以看出实践教学改革对学生成绩提升具有积极的作用;

4) 为学院ACM程序设计竞赛队和机器人实验室提供了后备力量。本校ACM队是江西高校唯一一支三年内迅速成长起来,每年都有资格和能力参赛,并与国内众多名校同台竞技的队伍。图5是我院学生在第33届ACM国际大学程序设计竞赛亚洲区现场赛比赛情况。

此外,课程组将本课程实践教学改革方法在“高级语言程序设计”等课程中推广,2009年课程组主持申报的“程序设计教学改革与创新”项目获批江西师大第十一批教学成果二等奖。

4结语

通过改革实验教学体系,学院学生程序设计能力得到了大幅度提高,学生多次在ACM程序设计竞赛与广茂达杯机器人大赛上获得好成绩。当然,由于学生个体差异性较大,较好地完成大型课程设计的同学所占比例还不高,课程设计指导教师的力量还比较薄弱,不能满足学生的辅导需求。实践教学改革的最大的受益者是学生,实践表明,较好完成实践环节训练的学生其程序设计能力、后续自主学习能力都得到了很大的提高。图6是学生自发地通过网络给教师留言,表达了学习体会。今后,课程组将进一步总结实践教学改革方法,努力提高学生软件开发综合能力,为计算机专业人才培养作出更大的贡献。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业实践教学体系与规范[M]. 清华大学出版社,2008:7-9.

[2] 陈越,何钦铭,冯雁.数据结构综合性课程设计教学探索与实践[J]. 计算机教育,2008(4):54-55.

[3] 李云清,杨庆红,揭安全.数据结构(C语言版)[M]. 北京:人民邮电出版社,2009(6):130-160.

[4] 刘芳,揭安全. 数据结构实验[M]. 重庆:西南师范大学出版社,2010(1):1-40.

[5] 揭安全,李云清,杨庆红,等. 项目教学模式指导的“数据结构与算法”教学改革[J]. 计算机教育,2008(11):21-23

[6] Jie Anquan,Gan Dengwen,Yang Qinghong,et al. Research and Practice of the PBL Model for Data Structure Curriculum[C]// Proceedings of 2009 4th International Conference on computer Science & Education. 厦门:厦门大学出版社, 2009:1512-1515.

Design and Implement of Practical Teaching System for Data Structure

JIE An-quan, LI Yun-qing, YANG Qing-hong, HUA Zhi-zhang, WANG Lan

(College of Computer Information & Engineering, Jiangxi Normal University, Nanchang 330022, China)

Abstract: Data Structure is the curriculum with strong theoretical and practical characteristics. The construction of practice teaching system for Data Structure plays an important role in the cultivation of practical and innovative ability of students. By combining specialty characteristics of Data Structure, the contents, significance and achievement of building specialized experimental teaching are investigated, based on the reorganization and reform of experimental content, teaching model and teaching methods.

Key words: Data Structure; practice teaching system; teaching reform; teaching model

上一篇:远程网络实验系统的设计与实现 下一篇:“专家系统”课程建设与教学改革初探