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 three compulsory courses in this sub-programme: Software engineering, Software engineering project and 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 2006, the sub-programme contained the following specialised courses at the advanced level: Software requirement engineering; Compilers; User interfaces II, and Game programming. At the intermediate level, the special courses Software design (Java), Software design (C++) and Introduction to digital games, as well as the lecture series Game and narrative were offered.
Seminars on the following themes were held in 2006: Review methods for user interfaces; Software quality management; Software engineering and computer games; Product families and variation management, Game theory, and two seminars in English: Software metrics and Software testing.
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. We are launching empirical software research as a new field of study. In this field, software engineering projects are especially useful as research objects, as different processes and methods can be compared in parallel groups.
The contact persons in software engineering:Professors Jukka Paakki and Inkeri Verkamo
Teaching: http://www.cs.Helsinki.fi/ohjelmistot/