- To refine and formalize programming and proof methods sketched informally in bachelor courses, and apply them in a systematic way to more complex problems.
- To become familiar with software design patterns that can be re-used in different contexts.
Main themes
- Study and application of program proof methods: inductive assertions, wp-calculus, structural induction.
- Study and application of programming patterns.
Content and teaching methods
see "Main themes"
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
References:
(1) D. Gries, The Science of Computer Programming, Springer-Verlag, 1981
(2) E. Gamma, R. Helm, R. Johnson & J. Vlissides, Design Patterns - Elements of Reusable Object-Oriented Softwarre, Addison-Wesley, 1995