Software EngineeringDF14900, 2012VT
Ca. 24 hours (4 full days)
2012 (week 12 and/or week 13)
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
2011. It is given every year in January.
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,
fragile base class problems
- Introduction to UML
- Introduction to design patterns
- COTS component systems, e.g. CORBA, EJB, COM
- Aspect-oriented programming (Aspect-J)
- Software architecture systems (e.g., UNICON, CoSy)
- Static and dynamic metaprogramming
- Model-driven software development and MDA
- Software testing
The course is given in an intensive format ("crash course") at
- 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.
Peter Bunus, Christoph Kessler, Kristian Sandahl, Mariam Kamkar
Written exam, 5 hp, in Linköping.
Department of Computer Science, Linköping University
Overlap with other courses:
- Full overlap: Software Engineering Theory,
- Partial overlap: TDDD05 Component based software
Course web page
Page responsible: Director of Graduate Studies