Main content

This entry is from Winter semester 2019/20 and might be obsolete. You can find a current equivalent here.

CS 532 — Software Design and Programming Techniques
(dt. Software Design und Programmiertechniken)

Level, degree of commitment Advanced module, depends on importing study program
Forms of teaching and learning,
Lecture (2 SWS), recitation class (2 SWS),
180 hours (60 h attendance, 120 h private study)
Credit points,
formal requirements
6 CP
Course requirement(s): Successful completion of at least 50 percent of the points from the weekly exercises as well as at least 2 presentations of the tasks.
Examination type: Oral or written examination
The grading is done with 0 to 15 points according to the examination regulations for the degree program B.Sc. Computer Science.
Subject, Origin Computer Science, B.Sc. Computer Science
One semester,
each summer semester
Person in charge of the module's outline Prof. Dr. Christoph Bockisch


The goal of this module is to impart knowledge on how software design and various programming techniques can increase the effectiveness of software engineers throughout the software lifecycle. In addition to classical design techniques such as design and architectural patterns, design heuristics and framework design, this module presents a wide range of programming techniques and tools. These include concepts of aspect oriented programming, standards for software components, debuggers and test tools. Students are trained in different design and programming techniques from science and industrial practice, both by reading corresponding articles in the research literature and by experimenting with corresponding tools.

Qualification Goals

  • Describe prevalent types of design and programming techniques and how to use them,
  • Understanding of the applicability and the expressiveness of these techniques,
  • Understanding the theoretical principles underlying the techniques taught,
  • Comparison and application of tools for programming and software analysis of real programs,
  • Practice of scientific working methods (recognition, formulation, solving problems, training of the ability to abstract),
  • Training of oral communication skills in the exercises by practicing free speech in front of an audience and in discussion.


None. The competences taught in the following modules are recommended: Object-oriented Programming, Software Engineering.

Recommended Reading

  • Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software von E. Gamma et al. Addison-Wesley, 2009.
  • Weitere Literatur wird in der Veranstaltung bekanntgegeben.

Please note:

This page describes a module according to the latest valid module guide in Winter semester 2019/20. Most rules valid for a module are not covered by the examination regulations and can therefore be updated on a semesterly basis. The following versions are available in the online module guide:

The module guide contains all modules, independent of the current event offer. Please compare the current course catalogue in Marvin.

The information in this online module guide was created automatically. Legally binding is only the information in the examination regulations (Prüfungsordnung). If you notice any discrepancies or errors, we would be grateful for any advice.