日期:2023-01-23 阅读量:0次 所属栏目:学前教育
一、引言
数据结构是计算机等信息类专业基础课程,是一门理论紧密联系实践的核心课程。美国电子电器工程师学会和美国计算机学会规定数据结构课程是信息领域专业的本科阶段必修课程。国内高校非常重视数据结构教学。
参考目前教学成效,因为课程内容比较抽象、物理存储和逻辑存储难以理解,学生设计算法时难以开始,理论联系实践很困难。
(一)忽视复习程序设计语言
程序设计语言课程开设在数据结构课程前面。程序设计初级要求是掌握程序设计语言基本语法,能编写简单的程序。多数大学生高中时没有见过计算机(尤其是来自农村和贫穷落后地区的学生),更不用说开发程序。在结束完课程,很多同学并没有掌握基本程序设计能力。学生不能理解抽象数据类型(如类的概念)、物理/逻辑存储结构等。掌握物理/逻辑存储结构,掌握常用的算法,编码应用常用算法,是摆在诸多学生面前的难关。
(二)填鸭式教学模式
传统教学方式是老师讲解剖析给学生听。学生学习缺少主观能动性,缺少主动挖掘答案的过程。导致学生模仿能力很强,缺少令学生主动学习的机会。
(三)教学手段单一
在教学过程中只是简单的幻灯片翻页,缺少直观性,无法演示算法的运行动态过程和执行时的中间状态,学生无法想象出算法执行过程。
(四)缺乏实践课
在当前教学中,由于是填鸭式教学,故老师以讲解算法理论为主,缺乏上机实验,缺乏对实际问题的解决。
我们自动化学院的数据结构课程参照卓越工程师培养计划和面向创新人才培养计划为方向。我们进行了数据结构课程教学改革。
二、改革方案
从学科的具体特点和学生实际基础出发,以数据结构课程的自身结构和认知发展理论为依据,设计了适用于数据结构课程、体现卓越工程师和创新思维培养精神的一系列项目,并研究管理使得项目发挥出最大成效,通过不同主题的项目布置,指导和激发大学生对数据结构的主动学习和运用;通过个人项目和团队项目,强化大学生创新思维的学习和运用能力。
三、改革内容
(一)培养学生兴趣
在课堂教学中,注意激发学生的学习兴趣。在教学的过程中,通过实际问题的分析,不时抖一个包袱,激发学生学习兴趣。讲解二分法章节时,实例讲解东南大学图书馆管理员检查学生误夹带书本出去的案例(即将书分成两堆,分别过扫描器,选中有报警的一堆,重复过程,直到发现所夹带书本)。设计一些来自企事业单位的设计课题到个人项目和团队项目中。
(二)复习程序设计语言
数据结构教材使用用伪代码讲解算法时,往往会严重影响那些程序设计基础不好的学生。C/C++语言本身就比较复杂、难懂(即涉及物理/逻辑存储储结构),在学完程序设计课程后,很多学生没有掌握熟练开发基本程序的能力。于数据结构讲解之前,我们专门花2周时间复习C/C++语言(重点包括指针、函数和参数传递);详细逐步演绎数据结构前几个算法的完整程序,单步执行,演示运行过程和中间每一步状态变量。
(三)半监督主动学习模式
用实际中的问题推出数据结构的知识点,让学生在解决实际问题过程中领悟和掌握知识,归纳出知识规律。半监督主动学习模式引导学生从主观上主动去发现、分解、解决困难,提炼思想。在课堂上,分设三环节,设计问题情景、逼出问题,学生提出初步想法,教师逐步分析各个想法,总结得到比较全面的方案。其中设计问题情景、逼出问题是非常重要的,要求教师熟悉各个知识点和知识顺序。
(四)利用多媒体技术辅助教学;
平时利用PPT和Flash等多媒体手段讲解课程。在分析演示比较复杂的算法时,在黑板进行板书,控制节奏,有利于学生慢慢思考和掌握知识点。
(五)多元考试方式
传统考核学生掌握知识程度的方式是闭卷考试,即学生成绩=笔试分数(占70%)+平时分数(占30%,如出勤率,平时作业完成情况等)。试卷内容可能偏重于理论知识的考核,很难反映出学生的实际运用知识的能力;应该加大学生实验过程的考核。除闭卷考试之外,增加考核实际程序设计能力,设计不同难度系数的个人项目,通过项目检查学生的水平。
改革目标。在数据结构课程中将大学生编程能力的培养和创新能力的培养融合在一起,使学生既能编程又能将获得的创新能力应用到其他领域,使该课程的作用更有效地延伸至后续的专业学习乃至工作中。
四、实施方案
在授课过程中,通过项目来加强实践能力的培养,设置不同难度的项目:(1)训练程序基本开发能力;(2)掌握经典常用算法;(3)培养良好编程风格;(4)培养程序调试能力;(5)训练分析算法的能力;(6)启发学生思考与创新。
我们还可以增加带有科研训练性质的开放实验项目,为部分优等生开设基础科研训练(类似于SRTP项目),让这部分学生有机会得到进一步提高和开阔眼界的机会。
实施教学改革的初步成果。按照实施方案教学,且行且调整。教学效果有了明显改进。大大提高了学生的动手编程积极性和动手编程效果。
(1)选修人数:往年我们学院仅有学生总数25%左右选修《数据结构》课程,实施教学改革之后,选修人数增加学生总数83%。
(2)考试成绩:平均成绩从往年70分左右提高到85分左右,平均成绩得到大幅提升;不及格率从往年30%左右降低到10%左右;优良率从往年16%左右提高到25%左右。
(3)编程能力:学生实际动手能力得到显著提高,所有学生能够编程实现基于链表的词频统计程序(链表是实际工程项目中最经常用到的数据结构);约有40%左右的学生能够实现基于哈夫曼树的压缩算法;有10%左右学生能进一步完成基于遗传算法的旅行商问题。
五、结论
经过“数据结构”课程的教学改革尝试,教师在传道、授业和解惑等传统观念之余,更要激发学生学习的主动性和创造性。改革传统填鸭式教学模式,面向应用,推动学生主观能动地学习,培养学生实际动手能力、创新能力。在教学中,必须紧跟工业界和学术界发展潮流。
本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/221057.html