TKK TKK - CSE - Research - Groups - COMPSER

COMPSER - Projects

Main page




Useful links


COMPSER research group has been merged with Learning + Technology Group. These pages will no longer be updated.

COMPSER group has several projects and activities in which new tools and methods supporting learning are developed. Some of these are research oriented whereas many others have mostly practical goals. Some work is carried out in projects whereas many activities are organized informally as co-operation of COMPSER members and other teachers in the laboratory.

Projects on developing tools for CS learning environments.

TAPAS - Text and Program Analysis (2006 - )

This project is a joint effort with University of Joensuu. The goal is to develop new tools and methods for automatic analysis of free text submissions, and applying these methods to text related to programming, such program specifications and documents.

Network of Introductory Programming (2006 - ), in finnish

This project is a joint effort with University of Turku and Tamper University of Technology. The project aims at improving dissemination of tools developed for aiding introductory programming course, especially automatic assessment tools.

Matrix (2000 - )

Matrix project is a joint effort of COMPSER and the Software Visualization Group. The project concentrates on developing the Matrix framework for algorithm animation and algorithm simulation. This framework is the basic technology behind several applications: TRAKLA2, MatrixPro and MVT (Matrix Visual Tester), which are developed in their own projects. The Matrix framework itself is developed by the Software Visualization Group, whereas COMPSER group concentrates on educational applications. Members of the group: see project home page.


  • Ville Karavirta, XAAL - Extensible Algorithm Animation Language. Master of Science thesis, 2003.
  • Jan Lönnberg, Visual software testing. Master of Science thesis, 2003.
  • Ari Korhonen, Visual algorithm simulation, Doctoral thesis 2003.
  • Ari Korhonen: Algorithm Animation and Simulation, Licenciate's Thesis, 2000.

TRAKLA2 (2002-)

TRAKLA2 is a framework for creating and executing automatically assessed algorithm simulation exercises. The main features of exercises include randomization of initial data, instant feedback and grading, and model solutions presented as algorithm animations. TRAKLA2 also collects data from the user interface operations and submitted solutions. The framework provides interfaces for smooth building of new exercises. The simulation and visualization features are implemented using the Matrix application framework. Members of the group developing TRAKLA2: Ari Korhonen (head), Lauri Malmi, Ville Karavirta, Pekka Mård and Jussi Nikander.


  • Jussi Nikander, Managing Automatically Assessed Exercises in TRAKLA2. Master of Science thesis, 2005.
  • Petteri Torvinen, Tilastollinen analyysi algoritmisten harjoitustehtäväsovelmien käytöstä (Statistical analysis of usage of algorithmic exercise applets). Master of Science thesis, 2004.
  • Panu Silvasti, Tilastollisen datan kerääminen algoritmisten harjoitustehtäväsovelmien käytöstauml; (Collecting statistical data of the usage of algorithmic exercise applets); Master of Science thesis, 2003.

MatrixPro - Algorithm Demonstration tool for teachers (2003-)

MatrixPro is a teacher's tool for demonstrating algorithms on-the-fly. The system allows demonstrating the behavior of a large number of algorithms and data structures in terms of algorithm simulation. There is also an option to include ones own data structures and algorithms that can be demonstrated in a similar manner than the ready-made library.

Activities in improving methods of computer science education

Under this title there are a loose set of activities related to improving educational methods of computer science. Most activities are being coordinated by the O-group.

ROLEP - REsearch on LEarning Programming (2001-)

Laboratory of Information Processing Sciences started using Problem-Based Learning (7 steps method) as a method for teaching introductory programming in 1999. Since that a new form of this method has been developed as a combination of problem-based learning and problem-oriented learning. The method has been very successfully in production use since 2000, and some small modifications have been carried out since that. These include the use of concept maps to clarify students' mental models of programming concepts. The PBL method applied in TKK for learning programming was originally developed by Lauri Malmi, Esko Nuutila and Seppo Törmä. Currently Esko Nuutila supervises the PBL programming course. The group working with developing concept maps and a new knowledge representation method called Text graphs includes Esko Nuutila and Seppo Törmä.

In 2001-2002 a modified version (Tutorless PBL) of this approach was applied on a test course. The goal of the new method was applying PBL method on large scale courses, and therefore the approach reduced tutor attendance considerably compared with the original PBL method where the tutor attended each weekly PBL session. The results, however, turned out to be slightly negative. Some student groups managed to work well using PBL on their own, whereas for some groups the challenge was too heavy. A rigorous analysis of student's interaction recorded during the PBL sessions is being carried out. Members of the team include Päivi Kinnunen and Lauri Malmi.


  • Päivi Kinnunen: Interaction in PBL groups, Licentiate's thesis in educational sciences.

Past projects

This list contains a number of projects and activities which are not in active status any more. Some tools are still incrementally developed and some work is carried out in analysing data.

Visual debugger for Java

This project develops a tool for visual debugging of Java programs on programming courses. The main emphasis of the tool is to support students learning programming on their first programming course. Therefore the tool should be simple to use, and not visualize everything that happens during Java program execution. The tools concentrates on the following issues: Visualizing program execution in code, visualizing run time objects and their references to each others, visualizing method calls and values of variables. Normal control functions for debugging are supported, as well. Members of the group: Otto Seppälä and Lauri Malmi.


  • Otto Seppälä: Visual debugger for Java, Master of Science Thesis, 2003.

Scheme-robo -- automatic assessment system for Scheme exercises

Scheme-robo is an automatic assessment system for programming axercises written in the Scheme programming language. It was developed for the introductory programming course for CS major students, and the system has been in production use since 1999. Scheme-robo is available as free software. Members of the group: Riku Saikkonen. At the moment development of the system is incremental only.

Evaluation of software systems education

In this project a rigorous survey on the software systems education is carried out. Several different target groups and data sources including software specialists in industry, professors and teachers or computer science in finnish universities, software systems graduates at TKK, students at HUT, work announcements at USA and curriculum requirements at USA were surveyd to identify which technical skills are considered important or less important. A triangulation of the results summarizes the findings.

Members of the group: Sami Surakka and Lauri Malmi.


  • Sami Surakka: Needs Assessment of software systems graduates, doctoral thesis. Helsinki University of Technology, 2005.

ETMEDSA - Evaluation of teaching MEthods for Data Structures and Algorithms

The course of data structures and algorithms has been using automatic assessment of algorithm simulation assignments as a primary method for teaching basic data structures and algorithms since 1991 with good results. In 2001 we evaluated the performance of this instructional method in multiple ways together with the Faculty of Educational Sciences in the University of Helsinki. Members of the group: Lauri Malmi (head), Ari Korhonen, Patrik Schein, Pertti Myllyselkä.


  • Pertti Myllyselkä: Motivaatiotekijät ja opintomenestys tietorakenteiden ja algoritmien verkko-opiskelussa (Motivational factors and success in studies in learning data structures and algorithms in the Internet). Master of Science thesis.

Visual query system for study register

This project implements a visual query system for the study register data bases of Helsinki University of technology (OREK). Such a system can greatly help constructing new, possibly complicated queries, since SQL programming is not needed. Members of the group: Markku Rontu, Ari Korhonen and Lauri Malmi.


  • Markku Rontu: System for Enhanced Exploration and Querying. Master of Science thesis, 2004.


OSR is an acronym of OsaSuoritusRekisteri. This application is used for storing and combining results about the exams, project works, assignments, etc. that students have to take to pass courses in the laboratory. OSR is a web-based Java application which offers also various statistics how the students have passed the courses or their parts. OSR has been in production use since year 2000, and is currently used by several laboratories in the CS department. Development work is currently only incremental. Members of the group: Pekka Mård and Lauri Malmi.

Palautejärjestelmä (web-based feedback questionnairy system)

This tools has been implemented for easy organization of feedback questionairies in the web. It includes facilities for defining various types of questions, managing different questionnairies and summarizing information about the submitted answers. Members of the group: Veikko Siivola and Lauri Malmi.


KUHA is an acronym for KUrssiHAllintojärjestelmä. The system is a framework for carrying out and automating course activities in web. KUHA is not an integrated learning environment. Rather it has been designed to be used in building open and distributed learning enviroments, in which course contents are typically on separate web pages, and standard email / unix newsgroups are used for commmunication between students and/or teachers. KUHA supports a large variety of course management services in the web. These include registration for courses and course parts, dealing out assignment, registering submissions, assessing submissions, managing student groups, peer reviewing of student's works, giving out information via different tools, organizing examinations in the web, etc.

KUHA has been implemented in a joint project of Helsinki University of Technology and the Innofactor Ltd. The system has been in production use since Feb. 2003, and is currently supervised by the KUHA supervisor group: Lauri Malmi (chairman), Kristel Sarlin, Anneli Lappalainen, Jussi Nikander, Ursula Holmström from TKK and Sami Ensio and Tuomas Riski from Innofactor. Incremental development work is carried out.

Very old projects

LEAD project (Learning Environment for Algorithms and Data structures), 1997-1999

LEAD project developed various tools for managing information in the web. These included the prototype of the Matrix system, (continued in the Matrix project) and the Feedback questionnairy system (also continued as a separate project) and some groupware. Members: Lauri Malmi, Ari Korhonen, Veikko Siivola, Markus Kolsi.


TRAKLA assesses automatically algorithm simulation exercises, which are personally tailored for the students. The original system was based on email. TRAKLA-EDIT works as a graphical user interface for solving the exercises. WWW-TRAKLA combines these with other web material of data structures and algorithms. All of these tools are still used in 2001, although the development effort now concentrates in the Matrix system. Members: Lauri Malmi, Ari Korhonen, Markus Kolsi, Juha Hyvänen (1990-1993) and a number of students of computer science during 1990-1996.


  • Ari Korhonen: World Wide Web (WWW) tietorakenteiden ja algoritmien tietokoneavusteisessa opetuksessa (World Wide Web in computer aided instruction of data structures and algorithms), Master of Science thesis, 1997.

KELVIN (1992-1995)

KELVIN is a tool for assessing the style of C programs. Members of the group: Asko Eerola, Lauri Malmi.


  • Asko Eerola: KELVIN - A System for Analysing and Teaching C Programming Style, Master of Science thesis, 1995.

BALT (1992-1995)

BALT was a tool for visualizing various balanced trees and tree-balancing algorithms and for analyzing their performance. Members of the group: Lauri Malmi

CALPAS (1991-1993)

CALPAS was a computer-aided course of Pascal programming which was originally developed using Authorware professional tool and later implemented with Toolbook for Windows environment. Members of the group: Jyrki Hautaniemi, Lauri Malmi, Erkki Rämö.

This page is maintained by Lauri Malmi, Email:
This page has been updated last on the 15.12.2006.