中文

算法动力学:使用交互式转移系统教授算法

计算机与社会 2020-10-21 v1

摘要

算法与数据结构在计算机科学课程中的重要性已得到充分认可。然而对许多学生而言,良好理解算法仍具挑战。由于顺序算法的自动化本质,直接应用“做中学”方法存在固有张力。这在一定程度上解释了算法动画与代码追踪等努力的局限性。我们提出并倡导的算法动力学(Algodynamics)将算法置于转移系统及其动力学的框架中,为算法教学提供了一种有吸引力的方法。算法动力学始于如下前提:算法背后的关键思想可被识别并封装为交互式转移系统。当算法被“展开”时,揭示出一个转移系统,该系统剥离了多数控制方面,转而 enriched 以交互。算法的设计可通过构建一系列交互式系统来完成,逐步以自动化置换交互性。这些转移系统构成了一族概念机。我们通过冒泡排序阐释算法动力学方法。五个交互式转移系统序列最终导向经典冒泡排序算法。构建各系统的过程在编写冒泡排序代码时亦有所回报:一种高度模块化的实现,其原语借自转移系统。用于冒泡排序的转移系统已作为交互式实验实现。这些基于 web 的实现易于构建。算法动力学框架所提供的简洁性与灵活性,使其成为以交互方式教授算法的诱人选择。

关键词

引用

@article{arxiv.2010.10015,
  title  = {Algodynamics: Teaching Algorithms using Interactive Transition Systems},
  author = {Venkatesh Choppella and Viswanath Kasturi and Mrityunjay Kumar and Ojas Mohril},
  journal= {arXiv preprint arXiv:2010.10015},
  year   = {2020}
}

备注

12 pages, 3 figures