FDA149/TDDC54 Software Engineering

Graduate course, 3p, VT 2007 January / February 2007

CUGS core course, National Graduate School in Computer Science (CUGS)
Mandatory course for CUGS doctoral students in computer science (course code FDA149)and for computer science master students in the CUGS International master programme (course code TDDC54).

Goals: The course gives a broad overview of the theory of software engineering and treats selected topics in more depth.

Prerequisites: Data structures and algorithms; Programming in an object-oriented language (Java or C++)

FAQ: Counting of old credits for this course?
In short, FDA149 = PUM-teori (TDDC01/TDDC62) + Component-based software (TDDC18).
If you already have passed PUM-teori, you could thus skip the FDA149 exam questions about that part. The component-based software part of the FDA149 exam must be passed. The final grade will then be weighted 50:50 with your PUM exam grade.

Organization and dates

Ca. 24 hours of lectures (4 full days)

The course is given in an intensive format ("crash course") at a conference facility (Statt Hotel in Katrineholm).
The examination will be a written exam in Linköping.
For questions about local arrangements, accommodation etc., please contact Anne Moe, CUGS.


The dates and times below are confirmed.

Programme and Contents

Day 1: Wednesday 24 jan 2006, 10:00-17:00

1 Introduction: Software Engineering Kristian Sandahl
2 Software life cycles and processes Kristian Sandahl
3 Introduction to UMLPeter Bunus
4/5 Introduction to design patterns Peter Bunus
6 Design pattern examples Peter Bunus

Day 2: Thursday 25 jan 2007 09:00-16:00

7 Requirements engineering
Usability metrics
Kristian Sandahl
8/9 Quality control and metricsKristian Sandahl
10 Software project organisation and documentationKristian Sandahl
11/12 Software testing (Part 1 [PDF], Part 2 [PDF], Part 3 [PDF]) Mariam Kamkar

Day 3: Tuesday 30 jan 2007 10:00-17:00

13/14 Introduction to component systems Christoph Kessler
15 OO Technology: Properties and Limitations for Component-Based Software Engineering
Interfaces, design by contract, syntactic and semantic substitutability, covariance, contravariance, specialization.
Inheritance considered harmful: syntactic and semantic fragile base class problem. View-based composition.
Christoph Kessler
16 Metamodeling and metaprogrammingChristoph Kessler
17 Model-driven architecture (MDA) Peter Fritzson
18 xtUML and MDA at Saab Bofors DynamicsPeter Fritzson

Day 4: Wednesday 31 jan 2007 09:00-16:00

19 IDE's, ECLIPSEMikhail Chalabine
20 JavaBeans, Enterprise Java Beans (EJB) Mikhail Chalabine
21 CORBA, CCMChristoph Kessler
22 Software architecture systems Christoph Kessler
23/24 Aspect-oriented programming and Aspect-JMikhail Chalabine


Further literature on specific topics will be announced in the course.

Other material


Course leader

Local arrangements, accommodation, travel information etc.

Course secretary




No aids are allowed: No books, no papers, no notes.

External participants who prefer to write the exam at their home university should register in time (i.e., by 9 february) with Anne Moe and refer to a contact person (known to Anne) who can supervise the exam at the local university.


3 credits (4.5 ECTS)

For FDA149 we give grades U, 3, 4, 5.
For TDDC54 the grades are U, G (fail, pass).

Organized by

CUGS national graduate school in computer science, and
Department of Computer Science, Linköping University


Overlap with other courses:

The course was last given

Christoph Kessler