autumn 2019
INF-2202 Concurrent and Data-Intensive Programming - 10 ECTS

Last changed 18.12.2019

Application deadline

Applicants from Nordic countries: 1 June for the autumn semester and 1 December for the spring semester. Exchange students and Fulbright students: 15 April for the autumn semester and 1 October for the spring semester.

Type of course

Theoretical and practical subject. The course is available as a singular or elective course independent of study program, also to exchange students and free-movers.

Admission requirements

Admission requirements: Higher Education Entrance Qualification + specific entrance requirements equivalent to MATRS: R1/(S1+S2). Application code: 9354 - Singular course in computer science

Course overlap

INF-3201 Parallel Programming 5 stp

Course content

This course covers programming techniques to efficiently use modern computers. Topics include concurrent programming, data-intensive programming, and performance evaluation. Emphasis will be on practical use of various programming models and technologies for concurrent and data-intensive programming, and performance evaluation of concurrent applications. Students will use modern computer architectures, systems, libraries and programming languages through programming assignments.

Recommended prerequisites

INF-2200 Computer architecture and organization, INF-2201 Operating system fundamentals

Objectives of the course

Most computing devices today have multi- or many-core processors. To write efficient programs for these processors it is necessary to have competency in concurrent, programming, and to have the skills for evaluating the performance of applications running on such processors.

Knowledge:The student

  • has fundamental concepts of concurrent programming
  • has fundamental knowledge about performance evaluation of sequential and concurrent applications
  • has fundamental concepts of data-intensive computing

Skills:The student

  • can develop and evaluate multi-threaded, task-, and event-based programs
  • can implement programs using low-level programming interfaces
  • can utilize programming models and technologies for concurrent  and data-intensive programming
  • can evaluate the performance of programs running on multi- and many-core processors

General competence:The student

  • can understand and solve problems related to concurrent and data-intensive programming
  • has the competence to select the a suitable set of programming languages, frameworks, and tools for programming on multi- and many-core platforms

Language of instruction

The language of instruction is English, and all of the syllabus material is in English. Examination questions will be given in English, but may be answered either in English or a Scandinavian language.

Teaching methods

Lectures: 30 hours, Colloquium: 30 hours, Laboratory guidance: 30 hours. Laboratory work is included in the course.


Home exam counting 100%. Approved assignments give access to the home exam.

Grade scale: Letter grades A-E, F - fail.

The coursework includes 2-3 written assignments graded "Approved" / "Not approved", and the number of assignments is stated at the start of the semester. Oral presentation of the assignments and demonstration of a working system can be required.

Re-sit examination: It will not be given a re-sit examination in this course.

Postponed examination: Students with valid grounds for absence will be offered a postponed examination according to Section 21 and 17 in Regulations for examinations at UiT. If practically possible the examination is arranged during the semester as soon as the reasons for absence have ceased.

  • About the course
  • Campus: Tromsø |
  • ECTS: 10
  • Course code: INF-2202