|
TRAKLA2 is an automatic exercise system for learning data structures
and algorithms. It is based on Matrix algorithm simulation
framework written in Java programming language. The system
supports automatically assessed visual algorithm simulation
exercises that are intended to be accompanied with other study
material such as lectures, lecturer's notes, text book, etc. Thus,
this is more like a practising environment even though we call it
learning environment.
Algorithm simulation exercises have the following features:
- The student manipulates conceptual views of data structures
simulating actions a real algorithm would perform.
- All
manipulation is carried out in terms of graphical user interface
operations.
- The system records the sequence of actions prepared
by the student and allows to submit* them to the
server.
- The server* compares the submitted
sequence to a sequence generated by the real implemented algorithm and
provides feedback about the comparison (*there is
also a version available that do not need the server connection).
- The initial data for each exercise is personally tailored for each
student/session.
New features in TRAKLA2 compared to the older versions of
TRAKLA are the following:
- The evaluation of the submitted answer is based on
comparing the sequences of states of data structures instead
of comparing the final states only (or a few intermediate
states only).
- The student can request grading of the solution unlimited number
of times. However, after each grading action, the student cannot
continue solving the exercise with the same data. Instead, the
exercise is re-initialized with new random data.
- The student can always request the model solution for the
personally tailored exercise. The solution is presented as an
algorithm animation that the student can browse backwards and
forwards freely. However, as with grading, the student has to reset
the exercise and start with fresh random initial data before he/she
can resubmit the solution again.
- The systems logs some information about the user interface actions
for statistical analysis. We do not monitor individual students, but
e.g. a whole course to see trends how the system is employed. The
data logging aids us to improve the system, tune individual exercises,
and better understand how students are learning.
Remark: Not all exercises (useful in data structures and
algorithms course) can be assessed autoamatically with this kind of
system. For example, many courses that
have adopted TRAKLA2 still have class room exercises in which the
focus is on, e.g., algorithm analysis, writing new algorithms
(pseudocode), and comparing algorithms with each other. However,
exercises that are suitable for TRAKLA2 are typically such that they
are not that meaningful in class room sessions due to the fact that
tracing an algorithm requires keeping track of a number of things.
Especially in data structures and algorithms, this requires keeping
track of the states of complex data structures. Thus, in TRAKLA2
exercises, the student can better focus on the content, and not on
drawing the same figure again and again with minor changes.
The user interface of TRAKLA2 is a Java applet that is tailored to
each exercise separately. The applet includes visualizations of data
structures needed in the exercise, push buttons for requesting Reset,
Grade and Model solution for the exercise, as well as buttons for
browsing one's own solution backwards and forwards. Simulation is
carried by drag-and-dropping data items or references from one
position to another. Some exercises also include additional push
buttons to perform exercise specific operations such as rotations in
trees.
Current selection of exercises include operations on binary trees,
heaps, sorting algorithms, various dictionaries, hashing methods, and
graph algorithms. You can freely access the demonstrations of the exercises and try them
out. These applets do not log any information nor connect
to the sever, but you can still solve the exercises and get feedback
on your performance. Or, you can create a test
account and try out the full learning environment that establishes
also the server connection. The server keeps track of your
performance, i.e., which exercises you have solved, how many points
you have received, etc. You can also read the tutorial on the support page to learn more.
|
|
"Everything should be made as simple as possible, but not simpler."
- Albert Einstein
|