论文部分内容阅读
数据结构和算法是计算机课程教学的核心,教学难点在于它们的抽象性和动态性。应用可视化教学,能使抽象的知识变得具体。本文首先介绍了算法可视化的由来、常用动画技术和国外有代表性的算法可视化教学软件。然后通过调查分析得出可视化软件没能在教学中得到普及的主要原因:(1)创建可视化非常耗时,得不偿失;(2)现存的许多算法可视化系统缺乏与用户的交互性,学生只能被动的观看而不能参与实践,一定程度上降低了可视化的教学效果;(3)没有提供利用可视化软件学习的反馈。接着根据参与性分类和Bloom的认知分类原理,讨论了决定可视化效果的衡量标准,并提出测评可视化教学效果的实验设计。为克服现存可视化教学软件的缺点,提高算法可视化系统与用户的交互性与创建可视化的简易性,本文提出基于三层结构模型的算法模拟和建立在该模型之上的教学应用。算法的执行过程可以看成是对特定数据结构的操作或修改,那么可以通过数据结构状态的变化来研究算法,所以称为算法模拟。根据抽象层次的不同,本文将数据结构分为三个结构层次,分别是与现实生活的逻辑结构相对应的抽象数据类型(ADT),与计算机实现的物理结构相对应的基础数据类型(FDT),而中间层称之为概念数据类型(CDT)。算法模拟和教学应用就是建立在这三个抽象层次上的。基于三层结构模型的算法模拟不仅具备传统算法可视化的优点,还加入了新的特性,如交互性、创建算法动画的简易性以及提供反馈和自动评价。该模型的算法可视化对于普及可视化教学和提高可视化的教学效果有着积极的意义。