数据结构课程设计的改革和实践

时间:2022-06-22 03:57:17

数据结构课程设计的改革和实践

摘要:数据结构因其理论性强,内容抽象,信息量大等特点,是公认的难学、难教的课程。为了帮助学生更好地学习本课程,设置数据结构课程设计环节十分重要。但是目前的数据结构课程设计存在各种问题,有必要进行改革。该文将从改革理念、思路和内容这几方面对课程改革展开详细的说明。

关键词:数据结构;数据结构课程设计;评价方式

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)05-1088-02

数据结构课程内容抽象,信息量大;在学习过程中所用到的技术多,而之前所介绍的专业性知识又不多,因而加大了学习难度;隐含在各部分的技术和方法丰富,也是学习的重点和难点。根据数据结构课程本身的技术特性,设置数据结构课程设计环节十分重要。通过实践内容的训练,能达到学生程序思维的训练和动手上机调试程序能力的增强 , 提高学生组织数据及编写大型程序的能力。

1 概述

当前我国工程教育面临的普遍问题是:工程教育与社会和产业的需求脱节,包括,工程教育的培养目标与社会需求不一致;工程教育中的质量评估结果不能真实的反映学生的能力;工程教育环境与职场环境相差甚远。当前工程教育中,很少能体现课程体系,学科之间的关联很少。关于课程评价和反馈,包括师生双方地互评。老师评价学生的手段是在学期结束时,给学生一个或好或差的成绩。学生从这个结果中,无法得知他需要进一步努力的方向。用人单位无法依据这份成绩来判断这个学生是否符合他们的需求。学生评教制度就是让学生在某个时间段(比如第14周到第16周)给老师一份评价。学校根据这份评价来考核老师的教学工作是否合格。而评教的根本目的:促使教师改进教学,服务学生,满足学生学习需求并实现学生学习利益,在很大程度上被忽略。

数据结构课程设计作为工程教育的一个环节,同样存在上述问题。另外总共32学时的课时太少,导致学生没有充分时间去实施系统分析、设计和实施的完整过程。

学生的语言掌握程度较大程度地影响到数据结构课程设计的实施。往往系统实施的思路是正确的,由于语言不熟练,又缺乏正确的调试手段和调试方法,导致程序无法通过调试或者花费大量时间进行调试。由于没有软件工程的思想,系统事先没有经过周密的设计,程序调试通过,验收时发现题目理解错误,与老师的要求相差甚远。需要重新设计,编写代码,造成学生大量时间的浪费。

最后,学生的创新能力、沟通和团队协作能力有待于进一步提高,而这些能力是作为一名工程型和创新型的计算机专业人才所必需具备的。比较显著的就是沟通问题。在验收阶段,一个简单问题无法用恰当的语言回答教师。

2 课程改革的理念和思路

课程改革的理念是充分利用本校本学院已有资源,结合CDIO理念,提高学生整体计算机专业能力,训练良好的思维方式,培养扎实的实践能力,具备创新能力和团队合作精神。

课程改革的思路:课程改革从课时数、教学内容、教学方法和评价与反馈等多方面展开。首先是在教学大纲上增加本门课程的学时数。在教学内容上,把程序语言和软件工程的内容以恰当地形式加入课程设计中。

在教学方法上,加强思维方式的训练,强调产学结合,增加学生工程经验,训练实践能力。思维方式的训练从两方面展开:在布置任务时,提醒学生按照一定的方法进行抽象,尽量避免手工操作(自动化手段);在验收阶段,针对具体的代码和算法设计思路,教师提具体的改进方案,并相应地指出可能存在思维误区。思维方式的形成不是一天就可以完成,希望经过一学期的训练可以有效地改变部分同学的思维方式。工程实践(包括工程开发各个环节的实践)能力提高也是从两方面展开:一是让学生经历工程开发的整个过程;二是提业界真实地案例供学生模仿分析学习。

评价和反馈从师生双方互评入手。教师对学生的评价要真实反映当前的知识和能力,让学生明白自己的优势和不足。学生对教师的评价真实反映这一学期教师的教学能力和教学态度。让教师进一步清楚学生具体的学习需求和自身能力提高的方向。

课程改革的目标包括加深学生数据结构基础知识的理解,拓展知识面,增强学生实践动手能力,激发学生的创新和团队协作能力,训练学生的沟通表达和思维能力,培养学生具备良好的职业素质,使学生成为一名工程型和创新型的优秀计算机专业人才。

3 课程改革的内容

该综合课程设计预计需要32学时。其中6学时用来帮助学生加强程序设计能力,先由老师讲解部分的难点重点(主要是在数据结构实施过程中常用的知识点),然后学生完成一个相对复杂的程序。

数据结构的课程设计占用中间的26学时。一学期的课程设计需要学生完成3到4个不同章节的题目。由于学生能力水平参差不齐,每章教师给出3到4个难度不同的题目供选择。这些题目部分来自配套教材,部分由教师自行设计。学生根据自身能力选择完成其中的一个题目(也可以自主选择题目,经教师审核后去实施),然后提交教师验收。在此过程中,诱导学生按照软件工程的思想去完成各个题目。具体的手段是给学生一个合理的、按照软件工程思想设计的课程设计指导书。(先设计后实现)

充分利用学院已有资源,在ACM网站开辟一个数据结构专区,按照ACM竞赛的模式设计一些题目供有余力的学生选择。对于已完成教师安排任务的学生,建议他们注册登录学院ACM网站去完成额外的题目,以此增强他们的实践动手能力。

课程设计的其中一个重要环节是验收。它不仅起着评定成绩的作用,而且还承担着训练思维,提高算法设计和沟通表达能力的作用。程序测试通过后,教师选择部分感兴趣的代码,要求学生解释。如果得不到满意的解释,教师可以暂停此次验收。这个环节可以考验学生的沟通表达能力,以及对系统的理解程度。在一定程度上的杜绝拷贝这种现象,退一步,就算是拷贝也必须完全理解整个系统,强制学生必须实际参与课程设计。

接着去提高代码的质量和效率。先一起分析具体的代码,研究算法的效率有无进一步提高的空间。若有该如何修改,教师根据学生的具体情况,讨论确定方案后,交由学生完成。效率提高后的系统,可以在下一次课再次要求验收。另外,教师需要明确指出明显不符合计算思维的代码,要求学生当堂修改。

最后根据题目难度、完成的质量以及验收时的表现,给出一个成绩并登录在册,作为最终成绩的一部分。每个验收的系统必须提交一个配套的课程设计报告。课程设计报告能让学生学会正确的测试和事后的分析总结,起到部分的自我评价功能。每份课程设计报告也有成绩,同样登记在册,作为评定最终成绩的一个标准。

在课程设计结束时,老师除了给每位学生的一个成绩以外,再对出现的问题进行分析总结并以文档的形式反馈给学生。内容包括语言的掌握程度以及还存在的问题;数据结构的基本内容掌握情况,提交程序的效率、有无按照软件工程的思想完成,还需重点解决的问题;创新能力、沟通和团队协作能力如何等等。

参考文献:

[1] John Malmqvi st. The Application of CDIO Standards in the Evaluation of Swedish Engineering Degree Programmers[J].World Transaction on Engineering and Technology Education,2006,5(2):361-364.

[2] 查建中. 面向经济全球化的工程教育改革战略[J].计算机教育,2010(11):2-7.

[3] 中国CDIO网站. CDIO简介[EB/OL].http:///vNews.asp?typeID=30&parentID=29. 2011.

[4] 苟喜霞.车载导航系统最优路径规划的研究[D]. 北京:北京交通大学,2009.

[5] 任雪萍,王立波,赵葆华.融入PIC-CDIO理念的“数据结构”课程教学改革[J].计算机教育,2012(7):29-32.

[6] 殷旭,胡景繁,张红.基于CDIO教育模式学生学习评估方法的探索[J].高教论坛,2010(2):24-25.

[7] Edward F.Crawley.重新认识工程教育一国际CDIO培养模式与方法[M].顾佩华,译.北京:高等教育出版社,2009.1.

上一篇:DX中波发射机中的可编程逻辑器件热稳定性探讨 下一篇:中职电子商务技术竞赛对教学的影响