Suomeksi På svenska In English
University of Helsinki Department of Computer Science
 

Annual report 2005

Software engineering

The sub-programme of software engineering studies the problems related to the development of large and complex software systems. The primary objects of study are systematic software engineering methods and the tools they require for ensuring software quality at all stages of the work process; on the other hand, project work and management as well as software business aspects are also studied in the sub-programme.

The curriculum of the sub-programme is rather broad, containing courses and seminars on all of the subjects mentioned above. There are two obligatory courses at the intermediate level; Software engineering and the Software engineering project, and next year there will be a third obligatory course at the same level, User interfaces. There are two obligatory courses at the advanced level: Software architectures and Software processes and quality. In addition, specialised courses and seminars on varying subjects are arranged each year. In 2005, the sub-programme contained the following specialised courses at the advanced level: Compilers; Software testing; Software requirement engineering; Software performance design; Empirical software research. At the intermediate level, the special courses Software design (C++) and Software design (Java) were offered.

The subjects of seminars in 2005 were Software administration, Software engineering and computer games, Aspects of software engineering and AI algorithms in computer games.

Depending on their interests, students specialising in software engineering can minor in e.g. industrial management (Helsinki University of Technology), software business (Helsinki University of Technology), economics (Helsinki School of Economics) or management (Faculty of Social Sciences).

The research on software engineering focuses on the planning stage and on software architectures, a crucial feature of software quality. The research projects develop methods and techniques for measuring software quality and ensuring it at the planning stage, before the implementation and testing stages. The projects study and utilize object-oriented software methods like design patterns, application frameworks and the UML modelling language. A new research area is emerging, empirical software research, with its first dedicated course in spring 2005. In this area, the software engineering projects provide a useful basis for study, as parallel groups can be used to compare different process models and methods.

Contact persons: Professors Jukka Paakki and Inkeri Verkamo

Teaching: http://www.cs.helsinki.fi/ohjelmistot

Research: http://www.cs.helsinki.fi/research/roosa