
DM575: Object Oriented Programming
The Study Board for Science
Teaching language: Danish or English depending on the teacher
EKA: N330060102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Spring
Level: Bachelor
STADS ID (UVA): N330060101
ECTS value: 7.5
Date of Approval: 12-10-2022
Duration: 1 semester
Version: Archive
Entry requirements
The course cannot be followed if the student has passed DM550 or if the student has DM550 mandatory in their curriculum.
Academic preconditions
The student is expected to be familiar with the basics of structured and imperative programming. These can obtained e.g. by having followed DM574 Introduction to Programming.
Course introduction
The goal of the course is to let students develop the ability to “think with objects” when designing and building a complex software system. The course provides an academic basis for object-oriented design and programming.
In relation to the learning outcomes of the degree the course has explicit focus on:
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).
Content
- 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.
Literature
Examination regulations
Exam element a)
Timing
Spring and June
Tests
Portfolio with oral defense
EKA
N330060102
Assessment
Second examiner: Internal
Grading
7-point grading scale
Identification
Full name and SDU username
Language
Normally, the same as teaching language
Examination aids
Allowed, a closer description of the exam rules will be posted in itslearning.
ECTS value
7.5
Additional information
Portfolio exam consisting of :
- 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
Teaching Method
At the faculty of science, teaching is organized after the three-phase model ie. intro, training and study phase.
- Intro phase: 24 hours
- Training phase: 24 hours
Activities during the study phase:
- Self study of various parts of the course material.
- Reflection upon the intro and training sections.
- Solving small assignments, individually or in small groups.
Teacher responsible
Timetable
Administrative Unit
Team at Registration
Offered in
Recommended course of study
Transition rules
Transitional arrangements describe how a course replaces another course when changes are made to the course of study.
If a transitional arrangement has been made for a course, it will be stated in the list.
See transitional arrangements for all courses at the Faculty of Science.