Software Engineering (CUGS Core)2015VT
Ca. 24 hours (4 full days)
2014 (week 13 and/or week 14)
Mandatory course for CUGS doctoral students in computer science.
The course was last given
2012. It is given every year in March-April.
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
- Pfleeger, S. L. and Atlee, J. M. Software Engineering - Theory and
Practice, 4th edition, Pearson Education International, 2009, ISBN10:
0138141819. ISBN13: 9780138141813
- C. Szyperski: Component Software, 2nd edition, 2002.
Further literature on specific topics will be announced in the course.
Kristian Sandahl, Christoph Kessler, 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