The objective for developing the first version of TRAKLA system was to make a program to do some (or all) of the routine jobs of checking the homework answers. The main goal was to achieve a flexible system that would free resources for more meaningful things, i.e. for teaching and for individual tutoring. The autocorrection feature would give an opportunity to produce results in a few seconds instead of weeks. That means the student would have the results much faster than before.
The use of electronic mail to distribute the exercises was a natural first choice since computers were used. Distributing the exercises by email has more advantages than simply eliminating the need to copy 500 exercise papers (five pages each). It enables remote studying as both the exercises and the answers are sent using email. Also the communication between the teachers and the students is improved as the students can ask questions conserning the exercises at any time. A teacher may answer immediately by using email or on a local USENET news group if the question has more general interest.
On the other hand, the new Web-technology provides more sophisticated methods for delivering exercises and answers. The idea of developing a Graphical User Interface for TRAKLA using WWW and Java was a natural next step to improve the system. That's how the project for developing TraklaEdit was born.
The TRAKLA Server consists of three main components:
First the student sends a registration request to the mail server. The mail server has a simple command language that are used to communicate with the server. A registration message could look like as follows (The given #id is the student number at the Helsinki University of Technology):
#id 12345s #name Brian Kottarainen #email Brian@hut.fi #register
The server receives the message and makes a database entry for the student. For every student in the database the system sends homework exercises periodically. In order to pass the course a student have to solve those exercises before given deadline.
The interesting part of the server is the autocorrection module. The module consists of two separate parts:
First of all the tailor program is used to individually tailor a given exercise for a given student. That mean the body of each exercise remains the same while some parts of it are different for every student. For example, in sorting exercise each student has his/her own unique data to be sorted.
On the other end, a checker program should be implemented for every exercise. Although there are some syntactic similarity between different exercises, each one must have its own tailor/checker pair because the semantics (meaning) of the exercise differ. Some general data manipulation utilities such as heap or stack functions can be shared but the final tailoring and checking must be done separately for each exercise.
This approach ensures that copying the answer from other students is not possible (or is useless). Although copying the answers is useless it does not mean that cooperation is, too. Tailoring simply ensures that the cooperation focuses on the method instead of the answer. Actually, we believe that it should encourage cooperation because "good" students may become teachers for others without the risk of being taken advantage of.
A student have two possible ways to send her answer back to the system. The traditional way is to use email. That means a student first completes her exercise with paper and pencil and then sends it to the TRAKLA system using given command language.
The other way for sending an answer is to use Web-based interface. That user interface, called TraklaEdit, is the most important part of the project to move the whole TRAKLA system into the Web.