DM575: Object Oriented Programming
In relation to the learning outcomes of the degree the course has explicit focus on:
- knowledge of a large selection of key algorithms and data structures developed in the field of computer science;
- program in several types of programming languages;
- construct large-scale software systems;
- make and justify academically related decisions;
- describe, formulate and disseminate issues and results to both peers and non-specialists or partners and users;
- handle complex and development-oriented situations in study and work contexts;
- develop new variants of key algorithms and data structures developed in computer science;
- enter into academic collaborations with a professional approach stemming from group-based project work;
- identify one’s own learning needs and structure one’s own learning in different learning environments.
Expected learning outcome
The learning objectives of the course are that the student demonstrates independence in the analysis, design, and programming of complex systems using an object-oriented approach.
Specifically, after the course the student is expected to be able to:
- design object-oriented models for concrete scenarios;
- devise a class hierarchy based on the model;
- describe and document the planned class hierarchy using standard formats like UML;
- identify and apply common object-oriented design patterns.
- implement the planned class hierarchy in the concrete programming language used;
- plan and execute systematic testing of the class hierarchy and and object-oriented program (unit, component, integration).
- Object-oriented design, architectures, and principles.
- Abstraction, encapsulation, inheritance, polymorphism.
- The basics of UML class and sequence diagrams.
- Common design patterns such as factory, singleton, composite, decorator, observer, strategy, command, visitor.
The course is taught in Java.
Exam element a)
Portfolio with oral defense
- small individual assignments
- group project , which consists of a written report with oral defense). Oral defense is held during the exam period
Indicative number of lessons
- Intro phase: 24 hours
- Training phase: 24 hours
- Self study of various parts of the course material.
- Reflection upon the intro and training sections.
- Solving small assignments, individually or in small groups.