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
Graduates
- 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
Books:
- 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