Electronics and Computer Engineering

Object-Oriented Software Design

Integrated course, 5.00 ECTS


Course content

- fundamentals of object-oriented programming
- data encapsulation and polymorphism using classes and inheritance
- objects with their properties and methods
- treatment of exceptions
- use of class libraries, e.g. containers
- software development process
- procedural models
- change and requirements management
- design and methods of time estimation
- source code and configuration management
- quality assurance
- test strategies
- risk management

Students are required to solve programming problems in exercises.

Learning outcomes

- are familiar with state-of-the-art methods of software development,
- know the principles of object orientation,
- understand software related tasks involved in industrial projects,
- are able to follow a comprehensive problem solving approach in software development.

Recommended or required reading and other learning resources / tools

- Beck: Extreme Programming
- Balzert: Lehrbuch der Software-Technik
- Berczuk: Software Configuration Management Patterns
- Cockburn: Writing Effective Use Cases
- Schwaber: Agile Project Management with Scrum
- Fowler: UML Distilled
- Khoshafian: Object Orientation
- Gosling, Arnold, Holmes: The Java Programming Language
- Campione, Walrath, Huml: The Java Tutorial
- Krüger: Handbuch der Java Programmierung
Journals: -

Mode of delivery

Integrated course, exercises 50%

Prerequisites and co-requisites

- Applied Computer Science 2
- Embedded Computing

Assessment methods and criteria

Continuous assessment