TRAKLA2 is a Web-based, computer-aided learning environment for helping to teach algorithms and data strutures. Not only does TRAKLA2 provide links to visualizations that portray a variety of algorithms, but it also distributes tracing exercises to the student and then automatically evaluates the student's answers. The student enters his or her answer to these exercises using an interactive graphical editor that is coded in the Java language. Thus, a Java enabled web browser is needed in order to solve the exercises.
The student manipulates conceptual views of data structures simulating actions a real algorithm would perform. The exercises are individually tailored for each student. Actually, the system provides a new input each time the student tries to solve an exercise. This, in turn, allows the student to practise the algorithm until it is learned. Progress on the course can be followed in real time at the exercise page that shows the points received from each exercise. The following features are supported in the current version:
The TRAKLA2 system is used through a dynamic web environment. In order to use the environment, each student needs a username and a password. In different Universities, the TRAKLA2 usernames are managed differently. At the Helsinki University of Technology, for example, the student's student number is used as username. Ask your teachers what kind of usernames are used in your institution.
Most of the functionality in the web environment is contained at the server in order to make the system work on as many web browsers as possible. The system consists of three different pages: the main page where you can see an overview of a course, exercise page where you can solve exercises, and settings page where you can manage your personal settings.
The main page is reached after login. On this page, you can see an overview of a course and your current results. From this page you can select an exercise for solving, or change the selected course, if you are on multiple courses.
The exercises can be selected from a list (shown in figure 1). For each exercise round the list shows if the deadline for the exercise has passed, has the exercise been submitted, points given for the exercise, and the point maximum. Also, if the number of allowed submissions is restricted, the number of submissions is also shown. In figure 1 the number of submissions of the exercises on the second round is restricted to five submissions each.
In figure 1, the deadline for the first exercise round has passed (indicated with the red deadline time), and the deadline for the second round has not passed. The exercises where the background of the points and submissions columns is green (i.e. the third exercise of the fourth round) have been submitted with full points. Exercises where the background is yellow have been submitted without gaining full points, and exercises where the background is gray or white have not been submitted. If an unfinished exercise has only one submission or no submissions left, it is shown on a red bacground.
Figure 1 The main page of the TRAKLA2 web environment. The figure shows the student's name, course code and two exercise rounds on the course.
The exercises are solved using 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 dragging and dropping data items or references from one position to another. Some exercises also include additional push buttons to perform specific operations such as rotations in trees.
The Java applet allows students to solve exercises by directly manipulating the data structures represented graphically. As a matter of fact, the user manipulates an actual data structure through the GUI. We call this Algorithm Simulation. This has several benefits. First, the exercises can be assessed automatically in order to provide instant feedback. Second, we can provide individually tailored exercises that one can apply to test his or her understanding of a particular data structure or algorithm. Third, if the student fails to solve an exercise, the system is able to provide model solution for each problem instance.
The GUI for each exercise has the same look and feel. However, some exercises might require special purpose buttons and functionality that are explained in the assignment. In general, however, the GUI is composed of the following parts.
Control panel and buttons appear on the top of the screen. These are common for all exercises. One can adjust the font size, apply the control panel called Animator or push the control buttons that are used for resetting the exercise, viewing the model answer, and for grading and submitting the answer to the server. Below the control panel appear the data structures the student is asked to interact with. Usually, the upper structure is the input data structure for the algorithm in question. The user manipulates the lower target data structure, for example, by drag and dropping the input keys - or any object - into the target structure.
An object (key, node, reference, or the whole structure) can be selected by using the left mouse button. The very basic manipulation process includes only drag-and-dropping these objects. In order to, for instance, insert a key from an array into a binary search tree, the selected key must be drag-and-dropped from the array to the tree. If an exercise contains tasks that are not possible to complete by just drag-and-drop, special command buttons are provided (See Figure 2).
Figure 2. A Typical Trakla2 Applet. Animator, Commands and Font size -selector are always present.
With the Animator control panel one can traverse through the animation sequence backward and forward and look at the changes performed during the simulation process. The simulation can be continued at any point (of course, the states in the sequence appearing after the new operation are lost).
A Java2-compatible browser is required to run Trakla2. Cookies must also be allowed for this site to use the system.
The firewall must allow outbound connections to ports 1089 and 1099 on trakla.cs.hut.fi (130.233.195.20). Otherwise, the points cannot be saved.
We have tested the system on several different platforms, and have noticed some problems. Here is a list of compatible platforms where Trakla2 has been tested:
We recommend using Java version 1.4.2 or newer.
Incompatible platforms: