表象训练在《数据结构与算法》课程教学中的应用

2022-09-12

随着计算机行业的快速发展, 数据结构与算法 (有些学校也称为数据结构) 成为了各高校计算机专业的一门核心课程, 也成为了很多理工专业学生的热门选修课程。由于其高度抽象、实践性和综合性强等特点, 大多数数据结构与算法课程的教学效果不甚理想。为了培养学生分析和解决问题的能力, 取得更好的教学效果, 探讨新的教学手段和方法势在必行。

1 数据结构与算法中表象训练的引入

1.1 表象训练相关概念

表象是人脑对过去感知事物形象的反映, 它是在感知基础上对过去事物形成的更高的感性认识阶段[1], 它具有明显的个体差距。对表象训练的各种技术的总称可认为是表象训练技术, 表象训练技术目前已经广泛运用于体育领域, 并逐步渗透到教育和健康领域。在心理学上, 一般认为, 表现训练就是在脑中重复回忆事物的形象, 达到提高形象清晰性、准确性, 获得“内心学习”效果[2]。数据结构的学习过程需要运用大量的表象功能, 如果能强化这些表象功能, 将没有特定目的、不自觉的、低级形式的无意识的表象活动转为有目的的、自觉的有意识的表象活动, 必然会起到事半功倍的作用。

1.2 数据结构与算法中表象训练引入的必要性

数据结构与算法整个教学过程从认识到实践可分为:理解算法和逻辑结构, 设计存储结构, 最终实现并建立在存储结构之上的算法[3]。所以, 思维的训练理所当然也成为数据结构课程教学的目标。但是, 在实际教学过程中, 我们却并没有把思维的训练放到应有的地位。比如, 在学习高级语言编程时, F r a m e w o r k.n e t中涉及S t r i n g类和由Build String类时, 许多学生并不能理解两者之间的区别。在比如在C#.n e t中调用Hash Code时, 许多学生不知所措, 都显示出他们数据结构的学习并不到位, 出现这样的原因是很大程度上是由于数据结构课程的抽象性和动态性所造成的。为此, 如果我们在数据结构与算法课程中引入表象训练, 将课程中的难点和重点图形化、动画化, 就能将抽象的数据结构变得具体形象, 从而简化学生理解知识的难度。

2 数据结构与算法教学中表象训练应用

2.1 数据结构与算法教学现状

现在, 各个大学的数据结构与算法教学内容主要集中于基本数据结构的分析、基本数据结构的应用和典型算法的渗透三个方面[4]。并且前两部分的占了较多的课时, 而这些内容的教学离不开大量的实践练习。传统的教学方法在讲述数据结构内在复杂的逻辑关系时常常显得苍白无力, 为获得更好的教学效果, 很多高校都积极探索并采用了多媒体课件来辅助教学。老师也积极准备电子教案, 做一些动态演示内容, 采用PPT演示法和讲授法结合形式, 但教学效果并不令人满意。究其原因, 很大程度上是由于教师们在课件制作时有很大随意性, 没有充分的理论指导。因此, 如何使学生更好地掌握最常用的数据结构, 理解数据结构内在的逻辑关系, 解决该课程抽象性和复杂性的问题, 需要引入新的教学方法。

2.2 数据结构与算法教学中表象训练应用

下面以汉诺塔 (Hanoi) 的学习为例, 讲述数据结构与算法教学中表象训练的应用。

汉诺塔问题可表述为:塔内有三座ABC, 刚开始的时候座A上有64个盘子, 盘子大小不一, 大的在下面, 小的在上面。有一位老和尚想把这64个盘子从座A移动到座C, 但每次只能移动一个盘子, 并且在移动过程之中3个座都必须保持大盘在下面, 小盘在上面。假设移动过程中利用座C。如果将座A中的盘子移动到座B, 可以分解为以下三个步骤:

(1) 将座A最上面的63个盘子借助座B先移动到座C;

(2) 将座A上剩下的最后一个盘子移动到座B;

(3) 将移动到座C上的63个盘子借助座A移动到座B。

显然, 步骤 (1) 和 (3) 都是把63个盘子从一个座移动到另一个座, 只是座的名字不同, 但是移动的过程是一样的。教学中可兼顾一般性, 假设共有n个盘子, 可将第 (1) 步和第 (3) 步表述为:借助“T H I R D”座, 将“F I R S T”座上的n-1个盘子移动到“SECOND”座, 只是步骤1和步骤3中, FIRST、SECOND和THIRD的对应关系不同。对步骤1, 对应关系为:FIRST——A, SECOND——C, THIRD——B。对步骤3, 对应关系为:FIRST——C, SECOND——B, THIRD——A。为此, 可把以上三个步骤分解为两个操作:

(1) 将n-1个盘子从一个座移动到另外一个座, 自然这是一个递归过程, 可用hanoi函数实现。

(2) 将1个盘子从一个座移动到另外一个座, 这是个单步工作, 直接用move函数即可完成。

虽然该过程用文本的叙述比较简单, 但是要求学生的逻辑型思维较高, 显然, 如果教学中教师就这么枯燥的讲解, 学生理解起来将有一定困难。此时, 可借助表象训练来完成此项工作, 首先, 课上教师让学生相互交流, 合作学习;然后, 按照学生们自身的理解在纸上简要地画出主要的动画过程, 最后, 学生课外设计具体的动画, 加深知识结构的理解。由于汉诺塔的知识过程较为简单, 一般3小时左右学生即可完成。并且大部分的工作学生可在课外完成, 如果学生每天花费1小时, 那么实际完成时间跨度为3天。教师完全可以在下次课进行检查和反馈, 当前课后也可通过E-mail实时地了解和指导学生。

需要注意的是, 适合课堂教学的表象训练时间不要超过20分钟, 一般应放在教学基本完成之后, 这种训练基本属于有意识的训练。在实践教学中我们可以用设计的动画系统结合黑板演示 (有些简单的过程借助黑板完成表象训练即可) 。

3 结语

数据结构与算法课程由于涉及简单的线性表、复杂树和图等多种数据结构, 具有很大的抽象性和复杂性。笔者认为在数据结构课程的教学实践中, 算法知识的学习可用表象训练来呈现, 尤其是针对概念较抽象, 概念之间的关系较多的算法学习, 这样可以提高学习者对该算法知识的理解效果, 促进知识的迁移。

摘要:数据结构与算法已成为了各大学计算机专业的一门核心课程, 也是很多理工专业的热门选修课程。但由于其涉及简单的线性表、复杂树和图等多种数据结构, 具有很大的抽象性和复杂性, 教学效果不甚理想。首先论述了表象训练相关概念, 讨论了数据结构与算法中引入表象训练的必要性。然后分析了数据结构与算法教学现状, 在此基础上, 将表象应用于训练数据结构与算法教学之中, 希望可以提高学习者对该课程的理解效果。

关键词:表象训练,数据结构,算法,教学

参考文献

[1] 林岭, 王华叶, 程政.论如何提高表象训练效果[J].内蒙古体育科技, 2006 (4) .

[2] 宋丽波.表象的心理学研究与想象力训练[M].北京:北京科学技术出版社, 2006.

[3] 吴伟民, 严蔚敏.数据结构 (C语言版) [M].北京:清华大学出版社, 2007.

[4] 李治军, 廖明宏, 张岩.数据结构与算法课程设计教学模式的探讨[J].计算机教育, 2006 (2) .

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:“互联网+”背景下共享经济创业模式的影响因素及对策分析下一篇:加强医院档案规范化管理的思路建议