Algodynamics: Teaching Algorithms using Interactive Transition Systems

10/20/2020
by   Venkatesh Choppella, et al.
0

The importance of algorithms and data structures in computer science curricula has been amply recognized. For many students, however, gaining a good understanding of algorithms remains a challenge. Because of the automated nature of sequential algorithms. there is an inherent tension in directly applying the `learning by doing' approach. This partly explains the limitations of efforts like algorithm animation and code tracing. Algodynamics, the approach we propose and advocate, situates algorithms within the framework of transition systems and their dynamics and offers an attractive approach for teaching algorithms. Algodynamics starts with the premise that the key ideas underlying an algorithm can be identified and packaged into interactive transition systems. The algorithm when `opened up', reveals a transition system, shorn of most control aspects, enriched instead with interaction. The design of an algorithm can be carried out by constructing a series of interactive systems, progressively trading interactivity with automation. These transition systems constitute a family of notional machines. We illustrate the algodynamics approach by considering Bubblesort. A sequence of five interactive transition systems culminate in the classic Bubblesort algorithm. The exercise of constructing the individual systems also pays off when coding Bubblesort: a highly modular implementation whose primitives are borrowed from the transition systems. The transition systems used for Bubblesort have been implemented as interactive experiments. These web based implementations are easy to build. The simplicity and flexibility afforded by the algodynamics framework makes it an attractive option to teach algorithms in an interactive way.

READ FULL TEXT

page 1

page 2

page 3

page 4

05/12/2021

Iltis: Teaching Logic in the Web

The Iltis project provides an interactive, web-based system for teaching...
05/05/2022

Coding IxD: Enabling Interdisciplinary Education by Sparking Reflection

Educating students from diverse disciplinary backgrounds is challenging....
06/24/2021

Resource Transition Systems and Full Abstraction for Linear Higher-Order Effectful Systems

We investigate program equivalence for linear higher-order(sequential) l...
09/04/2017

A Mimetic Strategy to Engage Voluntary Physical Activity In Interactive Entertainment

We describe the design and implementation of a vision based interactive ...
04/28/2015

Becoming the Expert - Interactive Multi-Class Machine Teaching

Compared to machines, humans are extremely good at classifying images in...
03/28/2019

Building Automated Survey Coders via Interactive Machine Learning

Software systems trained via machine learning to automatically classify ...
02/05/2018

Interactive Robot Transition Repair With SMT

Complex robot behaviors are often structured as state machines, where st...