Course Title

Software Engineering

Course Type

CUGS CS Review / CUGS CS Core / CUGS CS Advanced / Other


Once a year


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

Suggested # of Credits

4.5 HE Credits (Higher Education Credits)

Intended audience

Mandatory course for CUGS doctoral students in computer science and
computer science master students in the new CUGS Master programme.


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

Related courses

See advanced courses.


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, EJB, COM
  • Aspect-oriented programming (Aspect-J)
  • Software architecture systems (e.g., UNICON, CoSy, Modelica)
  • Static and dynamic metaprogramming
  • Model-driven architecture
  • Software testing

Organized by

Department of Computer Science, Linköping University


The course is given in an intensive format ("crash course") at a conference facility.


Written exam, 3p, in Linköping.


  • 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.

Lecturer and examiner


Kristian Sandahl,
Peter Fritzson,
Christoph Kessler,
and others.


Kristian Sandahl,
Peter Fritzson,
Christoph Kessler.

Course homepage

Other information

Overlap with other courses:

  • Full overlap:
    TDDC01 Software Engineering Theory, TDDB62 Software Engineering
  • Partial overlap: TDDC18 Component based software


Travel reports

Licentiate seminars


Courses Spring 2016


Last modified on March 2008 by Anne Moe