姚婷婷
【摘要】本文分析了《数据结构》课程教学过程中存在问题的原因。并根据分析结果有针对性地提出了开发基于基于Flash动画演示的《数据结构》在线开放教学资源的解决方案。
【关键词】《数据结构》 Flash动画 教学资源建设
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)11-0041-01
《数据结构》是计算机专业的重要专业基础课,在整个计算机专业课程体系中处于承上启下的核心地位。该课程试图让学生深刻理解数据在计算机内的表现、存储形式以及操作模式,进而让学生掌握如何利用计算机解决一些简单的实际问题(排序、寻找最短路径等)。通过该课程的学习,学生将深刻理解数据在计算机内部表示以及相关操作,逻辑思维能力以及分析解决问题的能力进一步加强。该课程的最优结果是,学生能够对现实社会中的问题进行分析,根据自身对待解决问题和计算机内部运行机制的理解就该问题进行计算机内部建模。
但一直以来,《数据结构》是历届计算机专业学生反映最难听懂的课程之一。從本校该课程考试成绩的统计结果来看,及格率在55%到65%之间徘徊,优秀率基本都在个位数。从该课程在整个课程体系中的地位来看,《数据结构》将是各种操作型软件平台以及程序开发类平台的重要基础,对学生的专业可塑度将有深远影响。鉴于上述情况,计算机专业教师试图从教学方法和手段、教学资源等几个方面做了诸多教学改革的尝试,收到了一定的效果,但本课题组认为随着随着多媒体技术的不断推陈出新,《数据结构》这门课程的教学改革也不能停止向前探索。
基于多年一线《数据结构》课程教学经验可知,学生学习《数据结构》的难点分为两个部分。
第一部分是逻辑层面的内容。即学生需要理解数据在计算机内部的常用表现和组织形式,这一部分可以完全脱离先导语言层面来教学。然而,从认知规律来讲,这部分的难点在于学生从未接触甚至想象过关于数据在计算机内部的组织形式问题(工程化的问题)。这是因为计算机运转时内存于用户是一个无法观察的黑匣子,人们对它的详细运作一无所知。因此,本文认为,可以试图通过简洁而直观的画面引导学生逐步接受计算机内部数据组织形式,以期从根本上降低《数据结构》课程理解的抽象程度。所以,计划编制一套flash动画集,该动画集将解决学生对计算机内存中的数据组织、数据操作没有直观印象的难点。学生在脑海里面有了连续的动画画面,便于学生透彻理解并掌握程序。
第二部分是利用先导程序语言表达程序逻辑的问题。在很多关于《数据结构》课程的教改课题中都关注了先导程序语言的问题(尤其是C语言中结构体、指针)。在那些教改课题中,都强调了先导程序语言问题对学校《数据结构》课程的重要性。然而本文发现,在C语言掌握得比较好的学生也存在程序语言的表达的问题。仔细分析这种现象可以得出除了逻辑上的问题之外,还需要对使用程序语言的能力进一步强化的结论。针对这个问题,在编制的flash动画中,将以循序渐进的方式将程序与内存变化联动。这样,学生就能观察程序控制着内存中数据的变化过程,尤其是在复杂嵌套的循环过程中,内存中的数据变化,将是引导学生理解每一句程序语言功能的深刻体验。在《数据结构》课程中,如果程序出错,学生在逻辑清楚的前提下,观看flash动画观察内存随着程序语句的变化而变化,这将是一个神奇的温故知新、举一反三的过程,将语言课中学习的规则完美表现《数据结构》课程中的逻辑过程。
关于《数据结构》课程改革的探索从来就没有停止过。本课题组认为先行者们的教学改革大致可以分为两类:
第一类着眼于强调《数据结构》课程与其先导语言课的关系,夯实语言基础以便促进数据结构的学习。此类改革,调整附加学习先导语言课中与《数据结构》联系紧密的章节的内容以及延长实践时间。然而本课题组认为,《数据结构》课程并不是语言课程的延伸,应该在先导语言课程里面所解决的问题,不应该再次强调;况且,夯实《数据结构》课程的先导语言课的基础也不能从根本上解决学生该门课程学校效果不好的问题——逻辑层面的问题未解决。《数据结构》课程的核心问题应该是理解现实社会中的数据在计算机中的投影。所以,掌握现实数据在计算机的表现与组织形式,以及基于某种组织形式上的数据操作,才是重点。先导语言课只是一种具体语言外化形式,就如语言与思想之间的关系。正如,一个会写汉字,会写优美句子的人,却不一定能够写出结构严谨,言之有物的文章是一个道理。
第二类可以归纳为面向CDIO的教学改革,即“构思、设计、实现、运作”。它的指导思想是:以诚信、职业道德培养为基础,以工程设计任务为导向,以培养个体能力(包括终生学习能力和实践能力)、团队能力和系统的适应于调控能力为主要目标,让学生以主动的、实践的、课程之间有联系的方式学习工程。笔者认为,该类方法以工程为驱动,培养学生的职业素养效果是不可诟病的。但,学生如果没有经过专业基础的学习,掌握必备的基础知识和技能,是没有办法完成以工程为单位的学习目标的。正如一个还走都走不稳的孩子,你安排其去打酱油,任务虽小,但对于蹒跚学步的孩子,但太过于高大上而失去实际意义。
综上,本文提出根据《数据结构》课程自身特点,编制配有合理剧情的flash动画,将数据在计算机内部的表示、组织形式以及各经典算法执行的内存改变透明化,让学生在动画剧情中直观领会。通过这种方式,以期对学生的《数据结构》学习过程有所帮助。
参考文献:
[1] 顾春琴. 面向CDIO的《数据结构》改革与实践,现代计算机,2010.11.
[2] 宗瑜. 案例教学法与《数据结构》教学改革,皖西学院学报,2009,04.
[3] 王森.《数据结构》教学方法的研究,办公自动化, 2011.06.
[4] 盛魁.高职数据结构教学与实践,凯里学院学报,2011.12.
[5] 杜作阳. 数据结构教学改革的研究,高教论坛,2007.12.
[6] 李冬梅.“数据结构”课程的教学改革和教材建设,计算机教育, 2012.07.
[7] 谢丽丽.“C语言与数据结构”课程的教学改革实践,计算机教育,2009.04.
[8] 孟凡荣.计算思维在数据结构中的时间探索,教育教学论坛,2015.3.