摘要:“数据结构”是计算机专业的一门核心课程,也是石油相关专业的软件基础课程。但由于涉及的概念较多、内容抽象、算法复杂且技巧性强,学生普遍反映该课程枯燥难学。本文主要针对石油相关专业的学生介绍一些教学的方法与体会。
关键词 数据结构;教学改革;教学手段
1引言
“数据结构”是计算机科学中的一门综合性专业基础课,是研究非数值计算的程序设计问题中计算机操作对象以及它们之间的关系和操作等的一门学科。主要是培养学生分析数据、组织数据的能力,是信息科学的核心课程。我校的计算机专业以及一些非计算机类专业,例如资信、电子以及管理等专业都开设了数据结构课程;部分没有开设本课程的院系学生有时主动旁听数据结构课程。由于数据结构具有较强的理论性和实践性,不同专业的学生特别是非计算机专业学生在教学过程中,无论是理论课程还是实践过程确实存在一定的困难。笔者作为该课程的主讲教师,结合自己在数据结构教学中的一些体会,谈谈自己对目前教改的认识。
2数据结构教学中存在的问题
2.1前导课程“欠债”较多
“数据结构”核心的前导基础课程是“C语言程序设计”和“离散数学”。我校有多个院系开设C语言课程,不同院系所开设的“C语言程序设计”的教学内容和教学要求并不完全一致。许多非计算机专业的学生一般在学习本课程之前并未经过严格的程序设计基础训练,教师为了教学进度采取“填鸭”式的教学方式,导致学生对C 语言理解不深,特别是指针、结构体、联合体以及函数等知识点,而这些又传递影响到数据结构的教学。另外“离散数学”是学习“数据结构”的基础课程之一,但是由于课时不足,目前我校非计算机专业均未开设这门课。
2.2教学与专业背景脱节
“数据结构”是一门理论性、抽象性很强的课程,教学中一定要将理论与学生专业背景相融合,让学生结合专业知识加深对理论的理解,同时也让学生真正体会到数据结构理论是为专业实践服务的。但在目前的教学实践中,教师只注重学生课堂理论知识的掌握,在面向不同的专业的学生时采用相同的教案和教学案例,这使得非计算机专业学生很难产生“共鸣”,自然教学效果达不到理想的目标。
2.3教学重点模糊
在教学的过程中,没有针对专业来制定教学重点。例如我校的资信专业就包括了测井、勘探、摄影测量与遥感等学科方向,而数据处理在测量工作中是最重要的一个环节。在测量的数据处理中往往要解大型的方程组,这涉及到稀疏线性方程的压缩存储问题,可以采用三元组顺序表和十字链表的方式。因此在测井专业的教学内容上,应该将稀疏矩阵作为一个重点内容,为后续专业知识的学习奠定一些基础。但在目前的教学过程中无论是计算机专业还是非计算机专业都没有结合专业着重加强相应的知识点的教学。
2.4教学内容取舍不当
目前我校数据结构的教学内容基本相同,没有根据专业具体情况注意内容的取舍。计算机专业数据结构为56学时,并有16学时的课程设计;其他非计算机专业的数据结构课时同为56课时,其中有8学时的实验课时并且没有数据结构课程设计。在这种的情况下,让学生系统地掌握数据结构的基本内容,在教学内容的选择上必须注意取舍,一些理论性太强,在专业内应用面不够广泛的内容就可以舍弃,如广义表、动态存储管理以及外部排序等内容。
3“因专业施教”的教学过程研究
3.1加强以数据结构为核心的课程群建设
目前,内高校在数据结构课程教学研究中的实验教学方法、教学模式和教学内容优化等方面取得了一些实践性成果,但在课程综合体系建设方面仍然有一些不足[1]。非计算机专业教学时尤其要强调数据结构与其他相关课程的紧密衔接,并将离散数学、数据库、操作系统、图形学、图像处理等课程的主要知识点分散、穿插、融入到数据结构的教学中,从而优化整个课程体系结构。
3.2面向不同专业学生的数据结构教学方法研究
教学是以学生为主体,教师为主导的过程。教学方法是否适当,是否适合教学对象,也是影响到这门课教学效果的关键部分。现有的主要教学方法包括[2]:启发式教学法、任务驱动教学法、案例教学法以及讨论式教学法等。每种方法只适合应用于某些特定的情形,教师应该根据不同的专业的教学内容和教学对象的不同,灵活采取适当的教学方法。例如,计算机专业、电子专业的学生采用启发教学方法,教学中注意讲解知识点时要尽力去打破学生头脑中的“平静”,激发学生思维活动的“波澜”,引导学生提出问题、分析问题、解决问题、归纳总结出一般规律或概念[3]。这种方法可以培养学生的科学思维方式,培养学生敢于大胆质疑,激发学生学习的积极性和创新精神。根据多年的教学经验,石油勘探专业适合于任务驱动教学法。勘探专业具有很强的专业背景,教师需根据专业教学大纲要求,精心设计具有实际意义的实例任务,将教材中的重点、难点内容专业化、具体化、形象化、采用任务驱动法对数据结构课程展开教学。管理专业以及测井专业可以采用案例教学法。围绕教师所提供的案例,学生在教师的引导下,积极进行阅读、思考、分析、讨论和实践,从而达到深刻理解问题的原理和本质,系统地掌握所学的科学技术知识,发展交流、分析问题和解决问题的能力,养成探究性的学习态度。我校案例教学具体实施地点在多媒体教室,学生每人配备一台机器,能够完成实时网络教学任务。在案例教学中,高质量的案例是教学成功的保证,案例可以是针对某一章节的知识点,也可以不按照章节编排,而是贯穿整个课程的教学过程,随着教学的进行,不断扩展内容。由于课程内容完全融入了一个个案例中,案例与整个课程的内容有机地结合起来,构成一个完整的课程内容体系。
3.3面向不同专业学生的数据结构教学内容的改革
针对不同院系制订合理的数据结构学时,包括理论课时和实验课时如何分配,以及研讨是否可以增加数据结构课程设计内容。结合学生的专业,评估教学内容的取舍方案,通过突出重点内容,充实数据结构的专业应用环节。例如,测井专业的教学内容除了稀疏矩阵的应用外,由于测井信息通道不断增加,传输的数据量越来越大,必须对采集的数据在传输前后分别进行压缩。哈夫曼编码在测井数据的无损压缩方面发挥着重要作用。另外,在勘探专业地质建模中,通常需要对大规模地震数据进行分析以发现地下潜在可能的油气资源。地震数据的存储,八叉树是一种有效的方法。最短路径在井间地震层析成像开发中发挥着重要作用。因此,在讲解二叉树的基础上,有必要结合专业扩展一些八叉树的知识;在讲解图的应用时要注意结合专业的实际例子。