Author:
Luděk Kučera
Affiliation:
Charles University and Czech Technical University, Czech Republic
Keyword(s):
Visualization, Algorithm, Invariant, JavaScript, Voronoi Diagram, Fortune.
Related
Ontology
Subjects/Areas/Topics:
Computer-Supported Education
;
e-Learning
;
e-Learning Hardware and Software
Abstract:
Algorithm visualization has been high topic in CS education for years, but it did not make its way to university lecture halls as the main educational tool. The present paper identifies two key condition that an algorithm visualization must satisfy to be successful: general availability of used software, and visualization of why an algorithm solves the problem rather than what it is doing. One possible method of “why” algorithm visualization is using algorithm invariants rather than showing the data transformations only. Invariants are known in Program Correctness Theory and Software Verification and many researchers believe that knowledge of invariants is essentially equivalent to understanding the algorithm. Algorithm invariant visualizing leads to codes that are computationally very demanding, and powerful software tools require downloading/installing compilers and/or runtime machines, which limits the scope of users. One our important finding is that, due to computing power of th
e recent hardware, even very complex visualization involving 3D animation (e.g., Fortune’s algorithm, see Section 4) could be successfully implemented using interpreted graphic script languages like JavaScript that are available to every web user without any downloading/installation.
(More)