应用型本科院校数据结构课程教学改革研究
来源:用户上传
作者:
摘要 数据结构是计算机类专业的一门专业核心课,本文通过了解该门课程的教学现状,结合实际教学经验,总结了目前教学当中存在的问题,提出了一些教学改革建议,以改进后续的教学工作。
关键词:数据结构;教学改革;应用导向
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)24-0181-02
开放科学(资源服务)标识码(OSID):
数据结构是软件工程、计算机科学与技术、数据科学与大数据技术等专业的一门专业核心课程,是培养学生软件开发能力的基础[1],同时是数据库原理、操作系统等课程的先修课,因此,该课程在相关专业课程建设中非常重要。但由于该课程抽象性、逻辑性较强,教学与实际应用开发存在一定的脱节,导致学生掌握困难或者应用困难,因此,有必要针对该课程进行教学改革研究,以期提高教学质量水平,帮助学生更好地掌握该门课程知识,提高实际软件开发能力,体现教学以学生为中心的理念。
1 教学现状与存在的问题
2018年9月17日,教育部印发《关于加快建设高水平本科教育全面提高人才培养能力的意见》,对本科教育提出了“推动课堂教学改革”“加强学习过程管理”“提升教学能力”“充分发挥教材育人功能”等要求,因此,传统的教学模式需要改革。
目前,数据结构课程教学多使用教师讲解、提问、讨论等教学方法,提高学生参与度与积极性,对于教学效果有一定的提高作用,但由于该门课程本身难度较高,教学效果依然不甚理想。本文以应用型本科院校学生为例,结合以往的教学经验展开研究,发现在目前的教学中,存在以下问题。
1.1 教学内容脱节
数据结构算法需要高级程序设计语言描述,因此,高级程序设计语言作为该门课程的先修课,夯实学生编程能力的重要性不言而喻。以C语言为例,在C语言程序设计这门课程中,受学生学习能力、掌握情况、课时等条件限制,大多数教师对于结构体和指针部分的教学强度不足,或者学生因临近期末考试,对此练习较少、掌握不牢,而数据结构这门课程几乎全程需要数组、指针、结构体等知识进行算法描述,两门课程的教学衔接性不足,这就导致了教学内容脱节[2],学生即使能听懂数据结构的理论,也难以将其应用于实践开发,掌握不牢,长此以往,学习难度增大,积极性下降。
1.2 重要性认识不足导致积极性不高
在以往的教学过程中,不乏学生提问:“学习数据结构有什么用?”,而教师一味强调数据结构的重要性,往往是强调数据结构是考研课,或者数据结构在专业课程体系中的承前启后作用,这些都是站在教师立场上的重要性,而对于学生来讲,其更关心的往往是这门课的内容应用在什么地方、该怎么用。这种认知的偏差导致学生对于该课程的看法偏颇,认识不足,长此以往,学生逐渐认为其在工作中没什么用处,降低了该课程的学习积极性,对于日常学习就应付了事。
1.3 理论掌握与动手实践脱节
在数据结构课程设计等实验教学当中,学生面对应用型或者实际的问题,往往没有解题思路,学生跟老师反馈最多的问题就是:“我理解数据结构的理论,但是我不知道如何应用的这个问题当中”,这证明,在日常教学过程中,学生更习惯于接受,不习惯独立思考,因此,应强调培养学生运用所学理论解决实际问题的能力。
1.4 教学内容受考试影响,重点偏移
数据结构这门课程考核方式往往是日常教学加期末考试的形式,但是,一旦涉及考试,就会出现偏计算性、理论性的知识点考核比例过高、对于实际应用的考核几乎没有的现象,这严重影响了数据结构的实践性教学。以二叉树为例,试卷中,二叉树部分内容的考试往往大量出现二叉树的各种性质,而忽略或者避开了用代码实现某些二叉树功能的考核,而二叉树的性质掌握与否,其实并不影响学生是否能用二叉树的知识解决实际问题,而能否实现创建二叉树、结点的增删改查等知识点,才是应用型本科学生必须掌握的内容。因此,考核内容的偏颇,影响了学生学习的重心。
1.5 教材内容脱离实际,内容抽象无法理解
数据结构可能内容本身就较为抽象、不易理解,而目前的教材大多都照本宣科,讲解理论,对于理论内容和算法解释,甚至例题,都是就题论题,无应用场景,知识点不连贯,内容枯燥。
2 教学改进建议
数据结构的教学包括教学内容、方法、教材、考核等,这几方面缺一不可,合理改革以上环节,就能达到改善教学效果的目的。
2.1 改革教学内容
2.1.1 集体备课,加强教学研讨
根据已制定的学生培养方案,研究培養目标,综合考虑难度、广度、应用性,编制适合应用型本科的数据结构课程教学大纲,与先修课即高级程序设计语言课任课教师、后续课程任课教师集体研究教学内容,加强沟通,避免前后课程教学内容脱节,比如程序设计课程教师需重点讲解、练习数组、指针、结构体及其综合应用,从而避免在数据结构课程中,因为动手能力不足造成的学习困难。
2.1.2 明确学习目标,案例教学提高学生积极性
正确为学生说明数据结构在专业课程中的地位,同时强调其于软件开发当中的重要性,结合实际,应用案例引导[3,4],消除“数据结构课程无应用”的看法。例如,在课程初始或者线性表部分,通过一个实际的案例进行展示,如学生考勤信息管理系统,强调数据结构思想于该项目中的应用;在图论中,可以用几个城市间计算最小路径或者最省路费等问题进行导入式教学,可激发学习数据结构的兴趣。
2.1.3 突出应用性,改革教学重点
教学大纲结合学校、学生实际特点,强调基础性、应用性,同时考虑时代特性和专业特性[5],即时刻考虑当前环境下,于项目开发当中的应用情况,调整教学重点,考虑不同专业的学生,对于知识点的需要情况,调整教学重点。例如,普通软件开发中,外排序部分应用较少,同时教学又过于抽象,可以删除这样的章节;例如二叉树的性质部分,在开发中实际应用性差,可以略讲。同时,在讲解知识点过程中,通过实际案例,说明该知识点的应用环境。 2.2 改进教学方法
2.2.1 翻转课堂
数据结构内容抽象、晦涩,传统的教学方式沉闷,难以调动学生积极性,无法达到较好的教学效果。因此,需要改变灌输式教学,在传统的讲解、问答、讨论的基础上,适当增加翻转课堂,即由学生代替授课教师,进行知识点讲解,而教师负责管理课堂,在学生讲解、问答之后查漏补缺。这种方法可以让学生从被动接受变为主动学习,提高课堂活跃度,同时可以锻炼学生语言表达能力、临场发挥能力等,从而提高学生的综合素质。
2.2.2 案例导入,教学做一体化
针对学生理论掌握与动手实践脱节的问题,进行案例导入式教学,即对于某一个知识点,先进行知识点的理论讲解,然后加入案例问题,整体演示解决问题的过程。从理解问题开始,启发学生进行问题分析,带领学生一同思考,然后与学生讨论解题方案,确定解题方案之后带领学生一起进行编程实践。长此以往,培养学生解决实际问题的能力,同时逐步放手,提高学生参与度,让学生主导分析问题、解决问题,从而培养学生独立思考的能力。
2.2.3 改革考核方式和内容
数据结构课程的考核,大多含有笔试,而许多教师命题时,更注重理论性命题,比如二叉树的性质、栈的特点等,而这种考核无法考核学生的动手实践能力,并且,为了通过考试,学生更多地进行理论记忆,从而忽略了实践能力的训练,这与培养应用型本科生的目的背道而驰,因此,即使考核笔试,也需要综合考虑培养目标,理论与实践并重,理论应用于实践。
同时,增强过程考核,加强日常知识点的实验训练,在日常学习中,培养学生理论融入实践的能力。
2.2.4 调整教材选择思路
目前,国内大多数教材存在就题论题的弊病,知识点讲解不连贯,与实际应用脱节。这使得学生记忆难度增强,影响理论到实际应用的过度,不利于应用型本科生的培养。因此,应尽量选择项目导向制的教材,由实际问题或者案例导入,问题携带知识点,这种教学方便学生连锁记忆,更是理论融于应用当中。但是目前这种教材较少,选择范围小,因此,需要教师自己在教学内容准备工作中,增加实际案例,串联知识点。
2.2.5 竞赛促学机制
通过日常教学发现,不少大学生较为关注ACM国际大学生程序设计竞赛、蓝桥杯等程序设计类比赛,该类比赛中,有相当一部分知识点属于数据结构的内容,教师可以采用一些历史竞赛题目,融入教学当中[6],提高学生积极性,同时可以参考调整教学重难点,达到以赛促学的目的。
3 总结
在计算机相关专业的本科教学中,数据结构是非常重要的一门专业课,需要不断探索符合当代大学生的教学模式。本文针对数据结构课程特点、当前教学形态,分析了现有数据结构教学过程当中存在的问题,并据此提出了一些建议,积极改革教学模式,以期提高教学质量,达到良好的教学效果。在未来的教学工作当中,主动尝试改革,不断探索,以提高教学水平。
参考文献:
[1] 杜作阳. 数据结构教学改革的研究[J]. 高教论坛, 2007(6):46-48.
[2] 趙榆琴, 杨健, 张晓玲,等. 程序设计与数据结构"双向重构"教学衔接法探讨[J]. 计算机教育, 2018, No.284(8):155-159.
[3] 易彤, 李守浩. 数据结构课程的项目驱动教学法[J]. 教育教学论坛, 2017(21):212-213.
[4] 杨武, 卢玲, 陈媛. 数据结构课程的大案例构建方法[J]. 计算机教育, 2018,283(7):96-99.
[5] 连远锋, 王新, 李莉. 因专业施教的数据结构教学改革探索[J]. 计算机教育, 2011, 138(6):5-7.
[6] 李月军, 李娟, 李英玉. 融入ACM/ICPC竞赛内容的数据结构教学改革与实践探讨[J]. 内蒙古师范大学学报(教育科学版), 2012(3):137-140.
【通联编辑:光文玲】
转载注明来源:https://www.xzbu.com/8/view-15031133.htm