From 2 November 2020, the autumn semester 2020 will take place online. Exceptions: Courses that can only be carried out with on-site presence. Please note the information provided by the lecturers via e-mail.

252-0232-00L  Software Design

SemesterSpring Semester 2016
LecturersD. Gruntz
Periodicityyearly recurring course
Language of instructionEnglish


AbstractThe course Software Design presents and discusses design patterns regularly used to solve problems in object oriented design and object oriented programming. The presented patterns are illustrated with examples from the Java libraries and are applied in a project.
ObjectiveThe students
- know the principles of object oriented programming and can apply these.
- know the most important object oriented design patterns.
- can apply design patterns to solve design problems.
- discover in a given design the use of design patterns.
ContentThis course makes an introduction to object oriented programming. As programming language Java is used. The focus of this course however is object oriented design, in particular design patterns. Design patterns are solutions to recurring design problems. The discussed patterns are illustrated with examples from the Java libraries and are applied in the context of a project.
Lecture notesno script
Literature- Gamma, Helm, Johnson, Vlissides; Design Patterns: Elements of Reusable Object-Oriented Software; Addison-Wesley; 0-2016-3361-2
- Freeman, Freeman, Sierra; Head First Design Patterns, Head First Design Patterns; O'Reilly; 978-0596007126
Prerequisites / NoticeThe course Software Design is designed for students in the computational sciences program, but is open to students of all programs. The precondition is, that participants have knowledge in structured programming (e.g. with C, C++, or Fortran).