43 lines
2.3 KiB
HTML

<body>
<p>
These packages provide the classes necessary to create a visualization of a logged algorithm.
</p>
<p>
During basic courses in algorithms and data structures many algorithms have to be tought by lecturers and learned by students.
The classical way is describing the algorithms in pseudocode and showing examples with chalk
on the blackbord or with some animated slides with presentation programs.
More appropriate is learning the algorithms by an interactive software component where the algorithm
is executed stepwise and additionally visualized.
</p>
<p>
A second motivation for this project is finding an interesting task for student projects
for the programming lecture which is typically tought in parallel to the algorithm and data
structures course.
</p>
<p>
A third aspect is use of new media techniques and e-learning concepts in education as
additional aspect to conventional lectures in the classroom.
</p>
<p>
The library consists of the three packages <em>visualization</em>, <em>logging</em> and <em>visualizationElements</em>.
Package <em>logging</em> provides a class <em>LogElement</em>. An instance of this class
consists of the relevant information of an algorithm's single step. <em>LogElementList</em> is
a vector of <em>LogElement</em> objects.
</p>
<p>
In package <em>visualization</em> a generic window for the output is realized.
This window is called hybrid window because it can be started as desktop application
as well as applet in a browser. Among other things a <em>HybridWindow</em> object contains
a parameter area (class <em>ParameterArea</em> for user input of probably existing parameters for the algorithm), a
legend area (class <em>LegendArea</em> for describing an algorithm visualization's symbols and parameters), a
text area (class <em>TextArea</em> for textual output during the stepwise execution) and
a draw area (class <em>DrawArea</em> for graphical output during the stepwise excecution).
An instance of <em>HybridWindow</em> provides selecting parameters, executing the algorithm and
navigating forwards and backwards through the log element list and producing textual and
graphical output during this navigation.
</p>
<p>
In package <em>visualizationElements</em> some elements are implemented which are often used to visualize the functionality of algorithms.
</p>
</body>