Software EngineeringDF14900, 2010VT
Ca. 24 hours (4 full days)
Mandatory course for CUGS doctoral students in computer science and
computer science master students in the new CUGS Master programme.
The course was last given
CUGS core course.
The course gives a broad overview of the theory of software engineering and treats selected topics in more depth.
Data structures and algorithms;
Programming in an object-oriented language (Java or C++)
The following list of issues is preliminary. A detailed list of lectures will
be announced on the course homepage before course start.
- Software life cycles and processes
- Requirements specification
- Quality control and metrics
- Software project organisation and documentation
- Modern concepts in object-oriented programming languages:
Design by contract, syntactic and semantic substitutability,
covariance, contravariance, specialization
- Introduction to UML
- Introduction to design patterns
- IDE's (e.g., ECLIPSE)
- Component systems and middleware for COTS in distributed systems: CORBA,
- Aspect-oriented programming (Aspect-J)
- Software architecture systems (e.g., UNICON, CoSy, Modelica)
- Static and dynamic metaprogramming
- Model-driven architecture
- Software testing
The course is given in an intensive format ("crash course") at a conference facility.
- S. Pfleeger, J. Atlee: Software Engineering Theory and Practice,
third edition. Pearson / Prentice Hall, 2006
- C. Szyperski: Component Software, 2nd edition, 2002.
Further literature on specific topics will be announced in the course.
Written exam, 4.5 hp, in Linköping.
4.5 hp (3)
Department of Computer Science, Linköping University
Overlap with other courses:
- Full overlap:
TDDC01 Software Engineering Theory, TDDB62 Software Engineering
- Partial overlap: TDDC18 Component based software
Course web page
Page responsible: Webmaster
Last updated: 2012-05-03