English   Danish

2025/2026  KAN-CDIBO1101U  Object Oriented Programmming

English Title
Object Oriented Programmming

Course information

Language English
Course ECTS 7.5 ECTS
Type Mandatory
Level Full Degree Master
Duration One Semester
Start time of the course Spring, Autumn
Timetable Course schedule will be posted at calendar.cbs.dk
Study board
Study Board for Digitalisation, Technology and Communication
Course coordinator
  • Abid Hussain - Department of Digitalisation (DIGI)
Main academic disciplines
  • Information technology
Teaching methods
  • Blended learning
Last updated on 03-06-2025

Relevant links

Learning objectives
To achieve the grade 12, students should meet the following learning objectives with no or only minor mistakes or errors:
  • Develop a simple application through object oriented (OO) design principles and (OO) programming (1).
  • Use tools and techniques for producing simple applications from structured or unstructured specifications (2).
  • Demonstrate the understanding and use of the concepts and fundamentals of object-oriented programming through the development of a simple software application (3).
  • Demonstrate effective code writing by applying best practices that enhance readability, maintainability, and collaboration. (4).
  • Be able to discuss and reflect about concrete code implementations and be able to identify eventual technical limitations to specific business rules implementations (5)
  • Be able to communicate effectively about development methods, techniques and object oriented programming concepts to a wider audience (6).
  • Demonstrate the efficient and correct use of the most important principles of functional programming using valid syntax to perform diverse programming tasks (7).
Prerequisites for registering for the exam (activities during the teaching period)
Number of compulsory activities which must be approved (see section 13 of the Programme Regulations): 2
Compulsory home assignments
The students have to get 2 out of 3 assignments approved. Each assignment is made individually.

There are two quizzes and one coding ​assignment​ (max. 3 pages). For the coding assignment, the students should submit​ a coded ​solution for ​specified programming​ ​issue(s).​ ​

There will not be any extra attempts provided to the students before the ordinary exam.
If a student cannot hand in due to documented illness, or if a student does not get the activity approved in spite of making a real attempt, then the student will be given one extra attempt before the re-exam. The extra attempt will be one home assignment (max. 10 pages) which will cover 2 mandatory assignments.
Examination
Object Oriented Programming:
Exam ECTS 7,5
Examination form Written sit-in exam on CBS' computers
Individual or group exam Individual exam
A written solved paper will be submitted.
Assignment type Written assignment
Duration 2 hours
Grading scale 7-point grading scale
Examiner(s) One internal examiner
Exam period Summer and Winter
Aids Closed book: no aids
However, at all written sit-in exams the student has access to the basic IT application package (Microsoft Office365 (minus Excel), document camera and paper, 7-zip file manager, Adobe Reader DC, PDF24, Texlive, VLC player, Windows Media Player – ATTENTION no sound allowed), and the student is allowed to bring simple writing and drawing utensils (non-digital). PLEASE NOTE: Students are not allowed to communicate with others during the exam.
Make-up exam/re-exam
Same examination form as the ordinary exam
The number of registered candidates for the make-up examination/re-take examination may warrant that it most appropriately be held as an oral examination. The programme office will inform the students if the make-up examination/re-take examination instead is held as an oral examination including a second examiner or external examiner.
Description of the exam procedure

Students will be given a questionnaire which will be a combination of the following:
 - to find expected output to provided code snippets
 - provide code for small to medium-sized specified object-oriented coding problems
 - describe given concepts relating to Object Oriented Programming principles 

Course content, structure and pedagogical approach

This course provides a comprehensive introduction to the fundamental principles of object-oriented programming (OOP), with a focus on their application in the development of IT systems' backends.

 

Students will gain foundational knowledge of object-oriented design and programming, supported by a practice-oriented and interdisciplinary approach. The course combines theoretical concepts with hands-on exercises, enabling students to apply what they learn to real-world scenarios. 

 

Topics include:

  • Fundamental principles of object-oriented design and the relationship between software design and development.
  • Practical coding techniques using object-oriented methods and an introduction to functional programming.
  • Core OOP concepts in C# and .NET, including data types, control structures, methods, classes, objects, polymorphism, inheritance, and file input/output.
  • Use of class libraries to support code reuse and abstraction.
  • Structuring code for improved readability and collaboration.
  • High-level overview of system architectures and building blocks of a software application.

 

Upon completion, students will be able to design and implement simple software systems using object-oriented techniques and demonstrate an understanding of how these methods contribute to effective IT system development. 

Research-based teaching
CBS’ programmes and teaching are research-based. The following types of research-based knowledge and research-like activities are included in this course:
Research-based knowledge
  • Classic and basic theory
Research-like activities
  • Discussion, critical reflection, modelling
Description of the teaching methods
The course consists of a combination of lectures and exercises, delivered through a mix of theoretical instruction, hands-on demonstrations, and practical coding activities. Students will engage in writing code snippets to deepen their understanding of programming logic, with active participation encouraged during both lectures and exercise sessions.

This is a blended learning course, with lectures offered both online and in-person, while all exercise sessions will take place on campus.

Students will use Visual Studio or a comparable integrated development environment (IDE) on both Windows and Mac platforms. Theoretical concepts and programming methodologies introduced in class will be applied through practical exercises and visual demonstrations. Regular hands-on activities will reinforce key programming concepts, and smaller assignments will be given throughout the semester. Selected student solutions will be reviewed and discussed in class to enhance learning through peer examples.

Students will work on real-world scenarios by developing mini console applications designed to solve specific coding problems. This approach facilitates a practical understanding of core Object-Oriented Programming concepts, demonstrated through concrete examples.
All course materials, including lecture slides, exercises, and documentation, will be available on Canvas, which will also be used for online quizzes. To support active learning, short interactive quizzes will be integrated into lecture sessions.

The use of Generative AI tools is recommended only according to the specific guidelines provided by the instructor throughout the course. This is to ensure that students develop a strong understanding of core programming principles and logic through their own effort. Overreliance on AI-generated solutions can hinder the learning process and undermine the course's objective of building foundational programming skills. Responsible and ethical use of AI is expected at all times.
Feedback during the teaching period
The teacher and any teaching assistants provide feedback during exercise hours as well as electronically using Canvas.

A solution to the exercise questions is provided and the solution is discussed with the students to provide interactive feedback.

There will be two online surveys that will be utilized to provide feedback to the students. The survey will consist of questions from the topics covered so far. The survey will provide feedback for each question in surveys.
Student workload
Lectures 33 hours
Workshops 22 hours
Normal preparation for lectures, exercises and project work 127 hours
Exam and exam preparation 24 hours
Total 206 hours
Expected literature

Students are advised to find the literature on Canvas before they buy books or other materials.

 

Last updated on 03-06-2025