Syllabus

Object-oriented Programming

Objektorienterad programmering

Course
DIT044
First cycle
7.5 credits (ECTS)

About the Syllabus

Registration number
GU 2023/2239
Date of entry into force
2024-08-26
Decision date
2024-06-19
Valid from semester
Autumn term 2024
Decision maker
Department of Computer Science and Engineering

Grading scale

Four-grade scale, digits

Course modules

Written hall examination, 4.5
Assignments, 3

Position

The course is a compulsory course in the N1SOF Software Engineering and Management Bachelor's Programme.

Main field of study with advanced study

ITSOF Software Engineering - G1F First cycle, has less than 60 credits in first-cycle course/s as entry requirements

Entry requirements

To be eligible for this course, students must have successfully completed 7.5 higher education credits in an introductory programming course (for example Fundamentals of Programming, 7.5 hec).

Content

The course introduces the object-oriented paradigm, and a high-level object-oriented programming language with associated platforms and integrated development environments (IDE), with emphasis on object-oriented concepts applied to the creation of programs, and design of software applications. The course also covers methods for improving quality, such as naming conventions, decoupling, and separation of concerns.

Objectives

On successful completion of the course the student will be able to:

Knowledge and understanding

  • Explain object-oriented concepts such as objects, classes, encapsulation and polymorphism using adequate terminology.
  • Describe and explain object-oriented design principles (e.g., Single responsibility principle, Open-closed principle, Composition, etc.)
  • Explain different object-oriented design patterns, including their purpose and effect.

Competence and skills

  • Explain and implement basic OOP concepts such as classes and objects, primitives and references, methods and constructors, variables and fields, etc.
  • Explain and implement more advanced language mechanisms and techniques, such as error handling, inheritance, etc.
  • Explain and implement inheritance and associated mechanism to achieve polymorphism and code reuse.
  • Identify and implement design principles and design patterns to achieve sound object-oriented design.
  • Form a clear and well-structured reasoning text, following basic principles for argumentation and discussion around code.
  • Design, implement and refactor object-oriented programs for a given domain in a sound manner with respect to correctness, modifiability and reusability.
  • Communicate object-oriented design and source code visually by using diagrams (e.g., class diagrams). 

Judgement and approach

  • Evaluate the comprehensibility and modifiability of a program, e.g., using class coupling, class cohesion and method cohesion. 
  • Argue for design- and implementation choices, in accordance with principles for good object-oriented design. 
  • Assess the impact of changes in a software design. 
  • Incorporate sustainability and ethical principles, including equity, diversity, and inclusion, into the design and development of object-oriented software systems.

Sustainability labelling

No sustainability labelling.

Form of teaching

The teaching consists of lectures, group work, exercises, as well as supervision in connection to the exercises.

Language of instruction: English

Examination formats

The course is examined by an individual written exam carried out in an examination hall at the end of the course and implementation assignments normally carried out in groups of students. The assignments are examined based on solutions to compulsory problems handed in during the course and based on individual contribution to the group work. Retake examinations of the assignments part consist of individual assignments.


If a student who has twice received a failing grade for the same examination component wishes to change examiner ahead of the next examination session, such a request should be made to the department in writing and should be approved by the department unless there are special reasons to the contrary (Chapter 6 Section 22 of the Higher Education Ordinance).

If a student has received a recommendation from the University of Gothenburg for study support for students with disabilities, the examiner may, where it is compatible with the learning outcomes of the course and provided that no unreasonable resources are required, decide to allow the student to sit an adjusted exam or alternative form of assessment.

In the event that a course has ceased or undergone major changes, students are to be guaranteed at least three examination sessions (including the ordinary examination session) over a period of at least one year, but no more than two years after the course has ceased/been changed. The same applies to internships and professional placements (VFU), although this is restricted to just one additional examination session.

Grades

Sub-courses

  1. Written hall examamination (Skriftlig salstentamen), 4.5 credits
    Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)
  2. Assignements (Inlämningsuppgifter), 3 credits
    Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U)

The grading scale comprises: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U). To pass the course, all mandatory components must be passed. To earn a higher grade than Pass, a higher weighted average from the grades of the components is required.

Course evaluation

The results of and possible changes to the course will be shared with students who participated in the evaluation and students who are starting the course.

Other regulations

Course literature to be announced the latest 8 weeks prior to the start of the course.