Since 1991, AlgorithmA is a ten-week mock software company course that helps students display and animate the execution of algorithms through three main interfaces: Animation, Walkthrough, and Authoring. The animation interface animates an algorithm giving the user the ability to obtain an overall perspective of an algorithm's functionality. The walkthrough interface allows the user the interactively step through an algorithm animation. The authoring interface allows the user to visualize arbitrary algorithms coded in a custom Pascal-like pseudocode. At the end of the course, the class culminates with a presentation, attended (voluntarily) by all levels of Computer Science students. Frequently, members of years past return from the workforce to see how AlgorithmA has progressed since their year on the project.
AlgorithmA started out as just a software design. In the winter of 1991, software design was completed but there was no implementation. The first version was completed in winter 1992 on two environments: DOS and UNIX on 386 machines. It was written in C and used cursor graphics.
(1995-1997)
The fourth version (winter '95) still runs in the same environment as previous with the added features of hypertext interface and multimedia. An R&D team was formed to explore 00 paradigm and C++. The fifth version (winter '96) still runs in the same environment as previous with more sorting algorithms and doubly linked lists and more multimedia added. The R&D team was successful in implementing a prototype entirely written in C++ and using 00 approach. The first version in Java and 00 approach (winter '97) was implemented using Java 1.0 and awt. For the first time the project was accessible on the Web. Only the Bubble sort walkthrough and animation were completed.

(1999-2000)
AlgorithmA '99 was implemented using Java 1.2 and plug-ins for Windows 98/NT running Netscape 4.0 and Internet Explorer 4.01 SP 1, and Solaris applet-viewer. It includes BST, BFS, DFS, Kruskal's and Prim's algorithms, and authoring system. AlgorithmA 2000 was implemented using Java 1.2, Swing library, and 2000 plug-ins for Linux. Features include: recursive algorithms (factorials, Fibonacci number, ruler, binary tree traversals, and fractals) and authoring system includes multi-dimensional arrays and C source code generator.


(2001-2005)
AlgorithmA 2001 has organized the source tree. They were 1st to create top-level makefile. The AlgorithmA 2002 authoring system was re-engineered and project focus changed to authoring system. AlgorithmA 2003 re-engineered interface to be in PHP, it can recognize folder and new applets. It also re-engineered the authoring system. Now in 2005 AlgorithmA is better than ever!

|