杨永斌 朱超平
摘要:为了让学生能够在解决实际问题中融会贯通地运用所学理论知识、学以致用、培养学生的实践动手能力、创新创造能力等,改善、解决目前《数据结构》教学中存在的问题以及一些不利于学生发展的状况,在《数据结构》实验教学中进行了教学模式的改革与实践,提出了“一题多解”与“多题一解”的案例教学模式,目的在于突破以往重复机械式的实验模式。通过线性表的具体教学改革实践,以期能够对该课程的教师起到一定的引导作用,共同探讨《数据结构》课程的教学改革与实践,提高《数据结构》课程的教学质量和教学效果。
关键词:一题多解;多题一解;数据结构;实验;案例教学;算法
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)33-0113-04
1《数据结构》课程性质
《数据结构》是计算机类专业的一门实践性非常强的专业核心课程,该课程学习的好坏将直接影响后续课程的学习状况,同时在一定程度上影响学生的软件设计水平。该课程全面地讲解了在软件开发过程经常使用的数据的逻辑结构和物理结构以及相应的实现算法,还介绍了各种查找和排序算法以及相关算法的性能比较。该课程内容很多,各种数据结构算法较抽象,因此理解和掌握其中的原理和相关算法具有一定的难度,所以通过实验使理论与应用相结合,将会带来更好的学习效果。
通过《数据结构》课程的学习,使学生能够在解决实际问题中融会贯通地运用所学将理论知识、学以致用,养学生的实践动手能力、创新能力,因此实践教学是该课程教学过程中不可缺少的、非常关键和重要的环节。通过实践便于学生掌握基本知识,提高学习兴趣,使学生能够应用所学知识对实践任务进行充分分析、抽象,建立与之相适应的逻辑结构、存储结构及算法解决方案,并最终在计算机上实现算法,从而解决问题。通过实践,学生不仅能够加深理解所学理论知识,更重要的是培养了学生发现问题、分析问题、解决问题及程序设计等能力,这对进一步培养学生的学习兴趣、充分发挥、激发学生的创新创造能力起着重要的作用,同时也能培养学生良好的科学作风。
我校数据结构实践主要通过课程实验和综合课程设计两个环节实现。课程实验为32学时,独立成课,课程实验(包括验证和设计实验)主要较偏重于对课程内容的理解和掌握,我校计算机类专业的。同时专门设置《数据结构》课程设计综合训练实践教学环节,单独2周完成,2个学分。通过2周的课程设计,让学生独立或团队合作完成一个较复杂的问题,充分弥补课堂教学和课程实验中的不足,从而实现学生综合应用所学理论知识开发较大程序的一次良好锻炼,培养学生举一反三、融会贯通所学知识的能力、提高学生软件开发和软件调试的能力、培养学生团队合作的精神、培养学生针对具体问题进行文字论述与表达的能力等等。
2《数据结构》实验课程教学目的与要求
2.1教学目的
数据结构实验课程着眼于原理和应用的结合点,培养学生针对实际问题在数据结构的选择和应用,让学生能将所学知识应用于实际问题的求解中,培养学生的实际动手能力,加深对概念及相关算法的理解,灵活、牢固掌握教材内容,逐步培养和提高学生的专业修养和专业素质。
2.2基本要求
学生在上机做实验前,应事先将程序、调试数据、上机操作顺序准备好,并提前使用这些调试数据人工执行过。目的是提高上机的效率和成功率,严禁抄袭或拷贝他人的成果,自觉培养科学、严肃的作风。
3“一题多解”与“多题一解”案例教学模式
瑞士著名认知心理学家让.皮亚杰指出:教育的目标是造就批判性思维的头脑、敢于验证问题的头脑,而不是人云亦云的头脑;是培养有创造力、有发现和发明能力的人,而不是只懂得单纯地重复上几代人工作的人。教育部自2017年2月以来就积极推进新工科建设,先后形成了“复旦共识”“天大行动”和“北京指南”,从而开启了工程教育改革新路径。“新工科”更强调学科的实用性、交叉性与综合性,作为一线高校教师,应当结合社会人才需求、课程特点及学生实际等积极地开展“新工科”背景下的课程教学改革研究与实践。
在《数据结构》实践教学中应用“一题多解”与“多题一解”的案例教学模式,目的是要适应“新工科”建设下人才培养,突破以往重复机械式的实验模式,让学生在学习理论知识的过程中,持续运用不同的知识解决相似问题,使学生不断对已经掌握的知识进行批判接受,进而改造创新,让学生的探究能力能够得到持续发展。通过“一题多解”与“多题一解”的教学模式,改善、解决目前《数据结构》教学中存在的问题以及一些不利于学生发展的状况。
数据结构的教学目标之一就是让学生会写高效的程序、会设计算法甚至会发明、发现算法。“一题多解”就是让学生针对同一问题,采用多种算法实现,并从中分析其中的优劣。在一些实际问题的解决过程中,常常发现他们具有一些共性或相似性,就可以尝试着寻求解决这些问题的相似算法,通过思考与实践,归纳出相应算法思想和算法实现,甚至寻求这类问题的通用算法思路及实现,最后再将此解法进一步投入到实践中,这就是“多题一解”真正意义所在。通过“一题多解”可以使基础知识的应用更加丰富,通过“多题一解”可以让学生寻根溯、有效引发学生思维。在《数据结构》教学中应用“一题多解”和“多题一解”案例教学能够有效激发学生自主学习热情,提高学生持续求知欲望,增强学生探究创新意识。
4“一题多解”与“多题一解”案例教学模式的应用实践
《数据结构》课程的重点是线性表、树、查找和排序等。线性表是最常用最基本的一种数据结构,线性表基础打好了、打牢了将有利于树和二叉树、图、查找和排序等后继知识的学习。线性表的逻辑结构特征是一对一,即数据元素之间存在一对一的关系,除第一个和最后一个元素外每个元素只有唯一的一个直接前驱和直接后继。存储结构主要采用顺序存储和链式存储,即顺序表和链表。在此以顺序表的实践教学为例探讨“一题多解”与“多题一解”案例教学模式的应用实践。
顺序表的存储特点是用一片连续存储空间依次存储线性表的每个元素,逻辑上相邻物理上一定相邻。顺序表类型描述如下:
5结束语
从事《数据结构》课程教学20多年,一直在探索课程的教学改革与应用,在《数据结构》实验教学中探索“一题多解”和“多题一解”案例教学模式的改革应用,目的在于提高学习的学习能动性,激发学生的学习兴趣,挖掘学生的学习潜能,提高学生综合应用知识的能力及分析问题、解决问题的能力,培养学生的创新创造能力等等,真正提高课程教学质量、教学效果。
在实施“一题多解”和“多题一解”案例教学模式中的案例选择上,更多地选择一些企业的真实面试题目,包括一些知名企业如华为、百度、微软、腾讯等,这可以有效地激发学生的兴趣与热情,但在案例的选择上需要把握好案例的难度,应根据学生的实际情况,采用层次化的难度系数以适应不同层次的學生,既要避免简单案例不能激发学生的“斗志”,也要避免太难而打击学生的积极性与热情,让学生在学习过程中逐步攀升、稳步提高。简单的有,难度大的也有,更多的是难度适中的,在实施中坚持以学生为中心的理念。经过实践证明,在《数据结构》实验教学中应用“一题多解”和“多题一解”案例教学模式是切实可行的,学生完成实验任务的积极性、热情明显提高,完成任务的质量也逐步提高。