Curriculum Software Technology 2002
[Note: This page describes the curriculum in the 2002-2003 academic year. Because of a change in scheduling, the curriculum
will be somewhat different in 2003-2004.]
The master program ST takes two years of study and has a total size of 120 European study points (ects) (which corresponds to 84 former Dutch study points). The programs for the research-oriented track and the industry-oriented track are slightly different. The first part of the programs is the same for both tracks and a student does not have to choose a track at the start of the program. The program consists of the following components
Deficiencies (0-12 ects)
A student with background deficiencies can use at most 12 ects to follow courses to remedy those deficiencies. This applies specifically to a basic knowledge of functional programming techniques and grammatical formalisms and parsing. If more deficiencies exist a student may be admitted to the program but no credits will be given for additional courses from our bachelors program. When a student has no deficiencies, at most 12 ects can be used to follow courses from other master programs, attend more seminars and courses, or do a larger project.
Four mandatory courses (24 ects)
In both tracks a student takes the following three mandatory courses, which are 6 ects each.
- Introduction to Software Technology. This course serves as an introduction to all the specialization courses. It covers the basic techniques for using software to generate or construct software.
- Software Engineering. Software Engineering addresses the tools and techniques necessary to develop software in an orderly fashion. This involves tools (and techniques) specifically meant for constructing software but also for allowing software developers to cooperate in a team.
- Implementation of Programming Languages. A course on the fundamental techniques used in compiler construction from a functional language perspective. A secondary goal of this course is to introduce the students to more advanced (functional) programming techniques and the concept of a combinator language.
- Software Architecture. Software Architecture focuses on the early phase of the creation of a system where it is essential to make the right choices before the actual building takes place. In this phase it is determined which aspects of a future system are important and what is required of the system with respect to these aspects. Architectures are built to address these aspects in order to assist in determining the feasibility of the requirements.
Additional courses (24 ects)
In both tracks a student takes at least three of the following additional courses, which are 6 ects each.
- Program transformation
- Type systems
- Generic programming
- Program verification
- Distributed object systems
- Program analysis
Seminars (12 ects)
Seminars are taught in small groups (2-10) students. A seminar covers varying topics that are closely related to the research performed in the center and may form the basis of a thesis project. Students from the P-track will follow at least two of these seminars, whereas students from the M-track follow at least one. Typical topics include:
- advanced functional programming
- type checking and inferencing
- programming environments
- theorem proving and model checking
- legacy code restructuring
- version- and configuration management
- aspect oriented programming
- attribute grammar systems
- code generation and optimization
- proof carrying code
- advanced data bases
- XML and related technologies
- Internet programming techniques
Management and Organization courses (0-18 ects)
A student in the industry-oriented M-track can take up to 18 ects on courses directed towards management and organization. A student in the P-track usually don't take such courses.
Final thesis project (42-48 ects)
In the final thesis project a student performs research under the supervision of one of the staff members of the center. Normally the topic is related to one of the seminars and/or is based on a literature study. For the research-oriented P-track the project is 48 esp. For the industry-oriented M-track the project is 42 esp. The project is normally performed in the center but can also be done in a research-and-development department of a company.
A student attends the colloquium offered by the center. This colloquium provides a broad overview of interesting results in the ST area. A student will regularly contribute to the colloquium in the form of a presentation about some paper read, possibly based on a literature study or (thesis) project.