This course covers object orientation focusing on object oriented analysis/domain modeling and object oriented design using practical examples in object oriented programming.
The course topics highlights the parts of the software development process that increase understanding of a problem domain and communication of more or less detailed UML (Unified Modeling Language) blue prints of a system. After the course is finished you will know how to produce a domain model to increase and communicate the information need of a problem domain, how to model whole or parts of a software system from different points of view. You will know how an object oriented design model can be translated in to an object oriented implementation (code) and vice verse (reverse engineering). You will have basic understanding of design patterns and refactoring as a method to achieve a good design.
The prerequisites of the course are that you must have passed at least 30hp in any of the subjects: computer science, informatics, computer engineering or similar. You must also have knowledge in object oriented programming equaling 7.5hp.