HUT

TRAKLA2 - Tutorial

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.

Learning by doing

Understading the fundamental principles of data structures and algorithms is necessary for programmers and being able to write efficient programs based on this knowledge is an important skill. Thus, learning the concepts involved in data structures and algorithms requires both theoretical thinking and practical skills. In this learning environment, we have combined these two by providing not only a source of information but also a tool for learners to practice their skills by solving short exercises.

The full learning environment includes a short electronic text book (currently in Finnish only) that can be used as a supplementary material to recall certain algorithm or pieces of information. However, we encourage the learners to have a text book that covers the details more throughout. Thus, even though the environment is autonomous in one sense, it is intended to be used with some additional instruction (e.g., lectures, closed labs, self studying a text book, or a combination of these).

The method described have been tried out in many courses in a wide variety of institutes. More formal evaluation of the method has also been undertaken, using statistical analysis and questionnaires. See publications for more details.

User Interface

The full learning environment includes help files and tutorials of its own (See, e.g., tutorial exercise). In the following, we focus on the core functionality of the Java applet that delivers the actual exercises.

The user interface is a Java applet that allows students to solve exercises by directly manipulating the data structures represented in the graphical display. As a matter of fact, the user manipulates actual data structures through the GUI. By doing so, he or she creates a sequence of real data structure states. These states can be animated step by step, thus the manipulation process can be reviewed later on. We call this manipulation process Visual Algorithm Simulation. Visual algoritm simulation makes it possible to provide exercises that

  • can be solved through a graphical user interface,
  • can be tailored individually for each learner,
  • can be assessed automatically in order to provide instant feedback, and
  • can have a graphical model solution for each problem instance.

The GUI for each exercise has the same look and feel (See Figure 1). However, some exercises might require special purpose buttons and functionality that are explained in the assignment. The control panel and buttons appear on the top of the screen. These are common for all exercises: One can adjust the font size, review the created animation with the animator panel, reset the exercise, view the model answer, and request grading/submit the answer. The area below the control panel comprises the data structures the learner is asked to interact with. Usually, the upper structure is the input data structure for the algorithm in question (e.g., an array of keys to be inserted into an initially empty red black tree). The user manipulates the data structures by drag & dropping the input keys (or references to point) into the target structure.

TRAKLA2
applet

Figure 1. Trakla2 Applet. Font size selector, Animator panel, and Command buttons are always present. The exercise is solved interactively by manipulating the data structures in the panel. Some exercises include special purpose buttons to perform operations such as the Red Black Tree rotations. The model answer window in front can be requested at any time by pressing the corresponding button.

An object (key, node, reference, or the whole structure) can be selected and moved with the help of the left mouse button. For example, inserting 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 requires operations that are not possible to complete by simple drag-and-drop or are too time consuming for a single exercise, a number of task specific command buttons are provided (e.g., the buttons for rotations in the example above, however, we have a separate exercise in which the aim is to practise the rotations only).

The model solution appears in its own window having a separate animator. Thus, the model solution can be compared with the user solution simultaneously by stepping through both animations. Also grading of an exercise opens a new dialog (not visible in the figure) that states the number of correct steps out of the maximum steps in the user solution compared with the model solution.

Your turn

You can start with the following tutorial exercise (student point of view).

After you are familiar with the GUI, you can try out a little bit more difficult exercise. Try, for example, tree traversal algorithms such as Preorder traversal (iterative version that applies a stack) or recursive Mergesort. See also the code animations in the model answers of the exercises.

Finally, you can solve the above red black tree insertion exercise, or any of the over 50 exercises currently available.

Available TRAKLA2 environments

Use Case 1: The full TRAKLA2 learning environment is intended for both formative and summative evaluation during a Data Structures and Algorithms course and requires an on-line connection while students solve exercises. Summative evaluation requires that the points a learner receives from his or her exercises are stored in a database. Thus, the system must be downloaded and installed before use. See the download page for more information.

In addition, we have established a test course that is not intended to be used in any real course as such, but only for evaluation and test purposes. You can freely create a test account and try out the system. For more information, please, contact to the authors by sending an email.

We do not host the service any more for other than our own courses. See Use Case 3 for more information.

Use Case 2: We have released a set of exercises with reduced functionality (submit for summative evaluation is disabled) that can be used off-line without an internet connection. For example, a lecturer can demonstrate the working of an algorithm or a learner is able to practise a topic after the lecture. Formative evaluation is still available in this off-line version (i.e., the animations as well as the automatic assessment for service of notice). In addition, the model solutions are available for each exercise. However, the grading (number of correct steps and points) is only for learning purposes, and it is not stored anywhere.

This package can be freely distributed under the GNU general public licence. However, we kindly ask you to inform such a use either by emailing us or by filling in the evaluation form. You can freely try out the exercises on the Exercises page or download them to your local HDD from the Download page.

Use Case 3: By The Mark Corporation has established a learning environment based on TRAKLA2 called ByTheMark Service. You can ask an offer to host your course in their site.

"The only thing that interferes with my learning is my education."
- Albert Einstein

Send us feedback, email matrix@cs.hut.fi.
This document last modified 2009-02-22.
<URL: http://www.cse.tkk.fi/en/research/TRAKLA2/support.shtml>