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

Please sign up or login with your details

Forgot password? Click here to reset