数据结构课程教学改革研究

来源 :科技资讯 | 被引量 : 0次 | 上传用户:pww030
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:《数据结构》课程是计算机专业一门重要的专业基础课,在专业课程体系中起着承上启下的重要作用。《数据结构》课程的教改研究已经成为热点。本文首先提出了数据结构教学中出现的问题,详细分析了导致这些问题的原因;接着从知识关联、教学手段、网络课堂、课程交叉和考核方式等方面提出5项改革措施,并进行了实践;最后提出进一步改革的设想。
  关键词:数据结构 教学改革 知识关联 网络课堂
  中图分类号:G642.0 文献标识码:A 文章编号:1672-3791(2011)11(b)-0169-02
   《数据结构》课程是计算机专业的一门专业基础课,教学的主要内容为数据的逻辑结构、存储结构及核心操作的算法设计与实现,是计算机程序设计的重要理论技术基础。学习数据结构就是要让学生学会分析、研究计算机加工处理的对象即数据的特性,以便能根据其特性选择恰当的逻辑结构、存储结构及实现相应功能的算法,并初步掌握对算法的时间和空间复杂度的分析[1]。
  鉴于数据结构课程的重要地位,许多学校和教师都对数据结构课程进行了有益的探索和改革。但在实际教学中仍然存在一些问题,本文首先提出了数据结构教学中出现的问题,详细分析了其原因;其次有针对性地提出了5项改革措施并进行了尝试,最后提出了进一步改革的设想。
  
  1 存在的问题及其原因
  通过教学实践,发现学生一般都能认真对待本课程的学习,但教学效果并不十分理想,主要存在以下两个问题。
  (1)没有从学科的高度把握数据结构课程,没有充分发掘将数据结构与各专业课程的内在关系,教学时往往局限在本课程范围内,缺乏应用实例。事实上,数据结构是大部分计算机专业课程的基础,如何做到即有丰富应用实例,又启发学生对后续课程的兴趣是值得研究的问题。
  (2)学生开始学习时很积极,时间一长便没有了动力,感觉枯燥无味。许多学生认为数据结构中各种算法的学习十分枯燥,经分析有以下三点原因:一是不明白学习这些算法有何意义;二是读算法停留在表面,无法领会算法的思想;三是学习大量现成的算法,毫无成就感。
  (3)学生缺乏足够的创新能力,这一方面由于教学中缺乏对学生创新思维的训练;另一方面是学生创新意识不足,缺乏创新载体。
  结合实际教学经验,笔者分析了产生上述现象的5个原因。
  (1)学生基础薄弱。
  程序设计语言和离散数学是学习数据结构课程的基础,通过程序设计语言的学习,使学生经过必要的程序设计训练,形成一定的程序设计抽象思维能力。而离散数学使学生理解计算机的运算规则,形成计算思维。然而,部分学生尤其是非计算机专业学生的程序设计能力偏弱,也缺乏从计算机角度考虑问题的思维习惯。对于这些学生来说,知识基础薄弱,原有的知识体系不完善,数据结构的相关知识找不到生长点,导致难以理解数据结构中的概念和算法。即使领会书本知识,由于编程能力欠缺,很难应用所学知识。时间一长,学生缺乏自信,学习热情衰退,产生厌学情绪。
  (2)课程本身较抽象。
  数据结构课程本身是一门抽象程度较高的课程,对于缺乏实际应用经验的学生来说,理解起来具有一定难度。不少同学反映学完该课程之后不知道能用在什么地方、能够解决什么问题,即使教材上所讲内容都完全掌握,仍然无法应用到实际问题当中。很多学生除了课堂上讲的例子外,找不出该知识点的其他应用,同时遇到实际问题时,也想不出该问题的抽象数据类型。
  (3)学习缺乏主动性。
  不少学生满足于掌握课堂讲授的知识和完成布置的作业。然而课堂学习受课时限制,很难进行深入和扩展,这导致学生只停留在数据结构的基本概念和原理上,在学习的意义,数据结构的应用和更深层次的理解上缺乏思考,从而使得知识的应用和迁移能力较差。
  (4)学习方法不当。
  数据结构是培养学生的抽象思维能力、逻辑推理能力,锻炼学生分析问题、解决问题的能力的课程。建立完整的知识体系,使知识融会贯通,并能灵活应用是教学的最终目标。有部分学生死记硬背概念和性质,生搬硬套书本上的存储结构和算法,这完全背离了培养目标。另一个普遍的问题是对上机实验准备不足,在宝贵的上机时间内忙于设计程序结构,编写代码,从而失去了调试代码,发现问题解决问题,以及与指导教师进行交流的机会。
  (5)教学方法有待改善。
  由于数据结构课程的重要性,相应的教学改革十分受重视。各种教学方法和教学思路被提出,如情境教学[2]、构建主义[3]、研究性教学[4]、启发式教学[5]等。但仍有一些问题,如知识体系不清晰,重点不明确,只讲算法过程不讲算法原理,缺乏案例,讲授内容过于抽象等。
  
  2 教学中采取的措施
  总结出问题产生的原因后,我们有针对性地采取了以下5个措施。
  (1)广泛联系,不断复习,逐步扩展。
  数据结构内容较多,对于各种數据结构如果分别单独学习,很容易将各种数据结构人为地分离,学生很难做到融会贯通和综合应用。事实上,许多实际问题需要综合多种数据结构,利用各种数据结构的优点配合使用。因此每学完一个新的数据结构后,有必要结合之前学习过的数据结构,设计一些多种数据结构综合或对比的思考题。例如,如如何用两个栈实现一个队列,基于两种不同存储方式的大整数运算及性能比较,如何设计算法能够对树的顺序存储和链式存储进行转换等。
  除了精心设计的题目外,在授课过程中遇到之前讲授过的知识也应及时提示学生,让学生有一个回忆和复习的过程,如链式存储的线性表的插入、删除操作与单链表十分相似,可以在单链表基础上经过简单扩展得到;森林的遍历与对应的二叉树遍历存在等价关系,可以通过验证说明两者的等价关系;树的孩子兄弟表示法和二叉树中的二叉链表存储是一致的,可以进行对比演示;森林和二叉树的相互转换是相逆的操作,可以在学习完其中一个方面的转换后,马上得到另一方向上的转换方法;二叉搜索树的存储结构实际上是集合存储结构和二叉树存储结构的组合;有序表的搜索算法是对无序表搜索算法的一种改进等等。
  (2)应用现代化教学手段变乏味抽象为生动具体。
  数据结构课程中的各种结构和算法十分抽象,理解起来有困难。教师可以借助现代化的教学手段使讲授内容变得生动具体,单链表结点的插入、删除中的指针修改、循环队列的使用、各种排序算法、二叉搜索树结点的删除、二叉树的遍历、递归调用等难点算法都可以用动画演示,这样理解起来更加直观生动。另外可以网上下载或者自行设计算法演示软件来演示算法。算法演示软件比单纯的动画更好一些,它可以进行参数更改、单步执行、回退,有助于深入理解算法。
  (3)因材施教,重在网络课堂。
  利用网络课堂辅助教学对改善教学效果十分有益。借助网络课堂的发布功能,可以把电子教案、多媒体课件、参考资料、课后习题、教学录像等各种课程资源提供给学生;另外,网络课堂的论坛和答疑系统为学生和老师提供了一个交流平台,学生可以随时向同学或老师提问,任课老师也可以与学生充分交流,及时掌握学生的学习动态,调整教学方法。
  网络课堂的另外一个作用是实现个体差异化教育。传统的集中授课方式难以实现因材施教,而网络课堂的出现可以让学生根据自身情况,选择素材进行学习。对课堂讲授知识不清楚的学生可以下载课件、教案和教学录像慢慢消化;对于能力较强的学生,可以下载课外材料,学习更加深入的相关知识,对于自己解决不了的问题,可以通过答疑系统向老师请教。
  (4)专业课程体系让兴趣可持续发展。
  数据结构课程是操作系统、编译原理、数据库系统、计算机网络等一系列专业课的先修课程。数据结构在这些后继课程中存在大量应用。教师可以优先例举这些专业课程中的数据结构应用作为案例。如编译原理中的词法分析程序、操作系统中的中断、计算机网络中的主动队列管理、路由表的构建和维护等问题中采用的数据结构。这样做能让学生认为数据结构对后续课程的学习很重要,有必要学好这门课。另一方面,一些学生仅对计算机领域中的某一方面感兴趣,在课堂上结合后继课程中的例子讲解数据结构知识,有利于将学生对某一领域的兴趣或者某一门课程的兴趣扩展到数据结构中来。
  (5)改革考核方式,培养综合能力。
  我校数据结构考核是平时40%(包括课堂提问、到课情况、作业、实验报告等),期末考试60%的模式。应该说基本体现了重在平时的考核理念。但是在具体实施中仍存在一些问题,虽然加大了平时成绩比例,但是作业、实验报告并不能准確反映学生表现。笔者将平时成绩分配为随机课堂提问占10%,包括到课情况;大作业、参与项目或者竞赛情况占10%,参与项目或参加竞赛的以项目情况和竞赛成绩为参考,没有参与项目或参加竞赛的学生需要做一份大作业,3人一组,题目可选,期末进行答辩,按答辩成绩给分;实验表现占10%,指上机过程中的表现,包括实验完成情况、程序的质量(时空复杂度、风格、功能、易读性、完整性等)、实验课上与指导教师的交流情况等;平时作业和实验报告占10%。
  这种考核方式更注重学生学习过程、能力表现尤其是实验动手能力。以“实时表现”替代“书面印象”。这有利于培养学生的学习习惯和综合能力,同时也有利于提高学生学习的积极性和主动性。
  
  3 进一步改革的设想
  《数据结构》课程具有逻辑性强、结构特征明显的特点。因此,以布鲁纳认知发现说和奥苏泊尔认知接受说为代表的认知主义学习理论是一种有效进行创新型能力培养的《数据结构》教学方法。作者计划研究认知主义在《数据结构》课程教学模块中的应用。主要包括:(1)分析和收集教学素材;(2)对知识模块进行改造;(3)设计发现学习的背景和引导步骤。在不断实践和探索的基础上形成各知识单元的认知主义教学方法。
  
  4 结语
  本文针对在数据结构教学过程中所发现的问题进行讨论和改革,提出了5个方面的改革措施并在实际教学中应用,实践证明这些措施取得了良好的教学效果,笔者对进一步的改革提出了一些设想,希望能够更好地提升教学效果。
  
  参考文献
  [1] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,2007:1~10.
  [2] 段明秀,陈国平.何迎生.内外兼修——数据结构课程教学新思路[J].计算机教育,2011,2(4):30~33.
  [3] 张立,石岩,张洪萍,等.建构主义教学理念下的“数据结构”重点课程建设[J].计算机教育,2011,3(6):69~72.
  [4] 布辉,刘冉.研究性学习教学模式在数据结构课程中的应用[J].电脑知识与技术,2011,7(3):583~585.
  [5] 杨文忠,张振宇.启发式《数据结构》教学[J].科技信息,2010,36:517.
其他文献
招投标活动在我国开展近数十年,《招标投标法》的颁布与实施,为发展、培育统一开放、公平竞争招投标市场奠定了良好的社会秩序。公路工程设计、施工等项目进入招投标市场对公
摘要:一体化教学以理实一体的优势广泛应用于高职院校,这种教学方法很易被学生接受,它改变了传统的教学模式,将理论与实习融于一体进行教学,本文针对《汽车电器设备构造与维修》课程如何实施一体化教学进行了详细的分析,并且探索采用何种教学方法能够更好的提高教学质量。  关键词:汽车电器 一体化教学 教学方法  中图分类号:G710 文献标识码:A 文章编号:1672-3791(2011
期刊
对人工挖孔扩底墩的施工,如何进行施工准备,施工方法以及质量要求,安全措施依据施工过程实际情况进行阐述,在施工过程中严格控制安全防范措施与扩底墩质量。
目的探讨不同重建触发单位(%-百分比法和ms-固定时间法)对MSCT冠状动脉成像质量的影响.方法选取连续的12例CT检查过程中心率控制在70次/分以下、没有早搏等严重心律不齐,但采
摘要:基础教育是中国教育的根本,中国的基础教育包括幼儿教育、小学教育、普通中等教育。可见基础教育的成败,对我国下一代的成长起着十分重要的作用。随着时代的发展和社会的进步,提升我国的创新能力逐渐上升为国家的战略方针和主要任务。如果说教育是培养具有创新能力的人才的主要途径的话,那基础教育在提升我国创新能力方面的重要性也日益凸显。  关键词:基础教育;创新能力;重要性  中图分类号:G633 文献标志码
目的探讨粘连性机械性肠梗阻的病因和X线征象。方法收集龙岗中心医院近一年来临床资料完整,X线摄片质量好的病例共28例进行回顾性分析。患者均以急、慢性腹痛就诊,伴或或不伴恶
目的从超声角度寻找对IUGR的可行性宫内诊断和预测,以利于临床诊断和治疗.方法采用二维超声及多普勒血流法对胎儿进行一些客观数据的测定,如双顶径、头围、腹围、脐带血流速
目的为小儿肠套叠能否进行空气整复应用彩色多普勒检测探索可行性指标.方法对123例肠套叠在二维超声的基础上进行彩色多普勒血流显像处理,详细记录水肿肠壁厚度,肠系膜动脉内
目的了解症状性主动脉瓣狭窄患者中高血压病的发病率,运用超声心动图对主动脉瓣狭窄合并高血压病患者的左室重构类型及左心功能进行测定,评价高血压病对主动脉瓣狭窄的症状发