Jump to content

DAT105 Advanced Programming

Course description for academic year 2017/2018

Contents and structure

This is an advanced course in object-oriented programming. Students are expected to have good knowledge and proficiency in other object-oriented languages such as Java, before taking this course.

Students will learn the programming language C ++, and the emphasis will be on the language elements that are typical of C ++, such as pointers, memory management, operators and the like. There is also a focus on testing, troubleshooting, modular program structure and architectural principles.


  • Structures and language elements of object-oriented programming in C ++.
  • General C ++ - syntax and program structure.
  • Use of C ++ - compiler and preprocessor .
  • Memory management, pointers and references.
  • File management, thread programming, exception handling and templates.
  • Implementation and use of various data structures and algorithms in C ++ .
  • Use of libraries for graphical interfaces.

Learning Outcome

After completing this course the student should be able to:


  • Explaining the behavior of the given C ++ program code
  • Explain the principles and operation of event-driven programming
  • Investigate general principles of layered software architecture


  • Develop a program in C ++ and compile the program
  • Navigating the API documentation and use classes from software libraries in their own program codes.
  • Implement graphical user interfaces.
  • Utilize principles of event-driven programming in practice.
  • Implement and apply important architectural principles in applications.

General Competence

  • Present results and analyze their own work

Entry requirements

Passing the exam in DAT102 Algorithms and Data Structures is a mandatory requirement in order to take this course.

Teaching methods

Lectures, exercises and group projects.

Compulsory learning activities

4 compulsory exercises must be completed (within the given deadlines) and approved before the exam can be taken. The exercise can be written assignments or presentations.

Approved exercises also give access to postponed examination the following semester. However, before a new postponed exam can be taken (the next time the subject is taught), new exercises must be delivered.


4 hour written examination.

Time and place for the examination will be announced at Studentweb and digital assessment system.

The examination is digital and the students bring their own computer. The software used for the examination must be installed and tested before the examination.

Grading scale is A-F where F is fail.

If there are few registered students, the exam could be oral.

Examination support material

None. For digital exam, only a simple text editor is permitted.

More about examination support material