CUGS CS Review / CUGS CS Core / CUGS CS Advanced
Once a year
CUGS core course.
The course gives a broad overview of the theory of software engineering
treats selected topics in more depth.
Suggested # of Credits
4.5 HE Credits (Higher Education Credits)
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++)
See advanced courses.
The following list of issues is preliminary. A detailed list of
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
- Aspect-oriented programming (Aspect-J)
- Software architecture systems (e.g., UNICON, CoSy, Modelica)
- Static and dynamic metaprogramming
- Model-driven architecture
- Software testing
Department of Computer Science, Linköping University
The course is given in an intensive format ("crash course") at a
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
Overlap with other courses:
- Full overlap:
TDDC01 Software Engineering Theory, TDDB62 Software Engineering
- Partial overlap: TDDC18 Component based software