Object-Oriented Programming


Recommended prerequisite for participation in the module

The module builds on the knowledge gained in the modules Programming, and Algorithms and Data Structures.

Content, progress and pedagogy of the module

This is an English translation of the module. In case of discrepancy between the translation and the Danish version, the Danish version of the module is valid.

That the student learns the essential concepts and structuring mechanisms within object-oriented programming languages ​​and acquires skills in programming in a language within this paradigm.

Object-oriented programming is a dominant programming paradigm in software development.

Learning objectives


The student must gain knowledge of concepts within the object-oriented programming paradigm and architecture, including a selection of the following:

  • concepts and concept formation in object-oriented programming
  • classes, methods, interfaces, abstract classes and generic variants
  • scope rules and visibility
  • instance and class members
  • inheritance
  • exceptions
  • polymorphism
  • encapsulation and abstraction
  • standard library object-oriented design, architecture and principles
  • design patterns
  • specialization, implementation and delegation
  • structured test
  • documentation


  • Construct programs that demonstrate the object-oriented principles of design and architecture covered in the course
  • apply the concepts of classes, interfaces, objects, methods and polymorphism
  • reason about program design and design patterns, and explain contexts in an object-oriented program
  • prepare systematic testing of an object-oriented program
  • apply correct terminology


  • Design, document and test a large object-oriented program, and use the architectural concepts used in the course
  • analyze and discuss a program based on object-oriented design principles and concepts
  • define and discuss key concepts in object-oriented programming

Type of instruction

The teaching is organized in accordance with the general teaching methods for the education, cf. section 17

Extent and expected workload

The student is expected to spend 27.5 hours per ECTS, which for this activity means 137.5 hours.



Name of examObject-Oriented Programming
Type of exam
Written or oral exam
Assessment7-point grading scale
Type of gradingInternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: Study Board for Computer Science via cs-sn@cs.aau.dk or 9940 8854

Facts about the module

Danish titleObjektorienteret programmering
Module codeDSNSWCB311
Module typeCourse
Duration1 semester
Language of instructionDanish
Empty-place SchemeYes
Location of the lectureCampus Copenhagen
Responsible for the module


Education ownerBachelor of Science (BSc) in Engineering (Software)
Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design