Computer Programming II

5 credits

Syllabus, Bachelor's level, 1TD722

A revised version of the syllabus is available.
Education cycle
First cycle
Main field(s) of study and in-depth level
Computer Science G1F, Technology G1F
Grading system
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 30 August 2018
Responsible department
Department of Information Technology

Entry requirements

Computer Programming I or equivalent.

Learning outcomes

On completion of the course, the student should be able to:

  • use the programming language Java, both writing own code and explaining what task a given code performs;
  • explain the concepts inheritance and polymorphism in an object-oriented language, and use these concepts in the programming process;
  • implement recursive solutions to different problems;
  • describe the general principle for analysing the efficiency of an algorithm and perform such an analysis on algorithms;
  • describe, implement and use the fundamental data structures array, linked list, hash table, binary tree and abstract data types as stacks, queues and maps;
  • describe how error handling with exceptions is working and to be able to use it in programs.


Programming in Java: inheritance, polymorphism, exceptions. Object oriented design. Data structures: stacks, queues, lists, trees, hash tables, maps and collections.

Basic algorithms for storing, searching and sorting. Debugging and testing.


Lectures, problem classes/computer lab and compulsory assignments.


Written examination (2 credits) and approved assignments (3 credits).

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.