Skip to content


Object-oriented Programming and Design 7.5 Credits

Objektorienterad programmering och design
First cycle, D0010E
Course syllabus valid: Spring 2019 Sp 3 - Present
The version indicates the term and period for which this course syllabus is valid. The most recent version of the course syllabus is shown first.

Education level
First cycle
Grade scale
G U 3 4 5
Computer Science
Subject group (SCB)
Computer Technology
Main field of study
Computer Science and Engineering

Entry requirements

In order to meet the general entry requirements for first cycle studies you must have successfully completed upper secondary education and documented skills in English language and Knowledge about and ability to program in an imperative programming language (for instance D0009E). Alternative: Alternative to completed courses can be corresponding knowledge acquired through work within the IT sector or programming courses read at NV-upper secondary level, profile mathematics/computer science etc.

More information about English language requirements


The selection is based on 1-165 credits.

Course Aim

After the course, the student

  1. has knowledge about a) the scientific foundation of   Object-oriented Programming and Design and b) the proven experience programmers in   this field of Computer Science;
  2. has the capacity for carrying out teamwork and collaboration with various constellations, both in groups where the students choose whom to work with and in groups put together by others;
  3. can create, analyse and critically evaluate various technical solutions in terms of the design and implementation of large computer programs by using a modern object-oriented programming language;
  4. can plan and use appropriate methods to undertake advanced programming tasks within predetermined parameters.  


Classes and objects. Encapsulation of methods and data structures. Inheritance as a mechanism for the reuse of code. Shadowing. Inheritance hierarchies, types, static and dynamic types, sub types, polymorphism. Abstract data types. Program design with UML. Design and computation patterns. Simple graphical user interfaces. Containers. Documentation. Integrated development environments.


Instruction consists of lectures and laboratory work. A large part of the course is carried out using the technique called “flipped classroom” where course material is studied on-line, and out of class (not at lectures), and then followed-up at scheduled training sessions together with the professor. Laboratory work is carried out in a computer lab both individually and in groups. Homework assignments that render credit marks on the subsequent written exam may also occur during the course. In the practical lab work, the development environment Eclipse and the programming language Java are used.


Examination consists of a final written exam and mandatory programming assignments during the course:

  1. Final written exam. Individual lab assignments;
  2. Lab assignments carried out in groups;
  3. Final written exam. Individual lab assignments;
  4. Lab assignments.

Transition terms

The course D0010E is equal to the old course SMD181.

Håkan Jonsson

Transition terms
The course D0010E is equal to SMD181

Literature. Valid from Autumn 2007 Sp 1 (May change until 10 weeks before course start)
Riley, The object of data abstraction and structures using Java, Addison Wesley, 2003.
Extra material freely available over the Internet.

Course offered by
Department of Computer Science, Electrical and Space Engineering

0001Written exam3.0TG G U 3 4 5
0002Laboratory work4.5TG U G#

Study guidance

Syllabus established
by the Department of Computer Science and Electrical Engineering 28 Feb 2007

Last revised
by Jonny Johansson, HUL SRT 08 May 2018