IN3030 – Efficient Parallel Programming

Schedule, syllabus and examination date

Choose semester

Teaching and exams spring 2022

At the MN Faculty teaching is in-person this spring, but there may still be cases of online or hybrid teaching.

Please see the semester page, Canvas or your regular channel of information for changes in teaching and form of examination.

Course content

The course will provide knowledge in different uses of parallelism in a multi-core computer and especially provide insight into how and when Java can be used to develop parallel programs which can be clearly faster or easier than a sequential program that solves the same problem.

Learning outcome

By taking the subject you will:

  • have good knowledge of basic tread programming in java and use of key components of java.util.concurrent
  • know what new difficulties parallel programming with threads may cause and how these can be solved
  • master techniques to transform a sequential algorithm into an effective parallel algorithm
  • be able to make several different parallel solutions to a problem and evaluate the effectiveness of these
  • be able to take execution times on programs and determine any speed improvements
  • know the basic concepts of multi-core computers

Admission to the course

Students at UiO register for courses and exams in Studentweb.

Special admission requirements

In addition to fulfilling the Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:

  • Mathematics R1 or Mathematics (S1+S2)

The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about special admission requirements (in Norwegian).

Formal prerequisite knowledge

IN1000 – Introduction to Object-oriented Programming/INF1000 – Introduction to object-oriented programming (continued) (or IN1900 – Introduction to Programming with Scientific Applications/INF1100 – Introduction to programming with scientific applications (continued)) and IN1010 – Object-oriented Programming/INF1010 – Object oriented programming (continued)

INF2220 – Algorithms and Data Structures (continued)/IN2010 – Algorithms and Data Structures

Overlapping courses


2 hours of lectures and 2 hours of exercises each week.

Mandatory assignments must be approved prior to the exam. Mandatory assignments are valid for 1.5 years

Compulsory attendance at first lecture.


4 hours written digital exam.

Mandatory assignments must be approved prior to the exam. Mandatory assignments are valid for 1.5 years

It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: IN4330 – Efficient parallel programmingINF2440 - Effektiv parallellprogrammering (continued)

Examination support material

All written aid is allowed

Language of examination

The examination text is given in Norwegian. If the course is taught in English, the examination text will only be given in English. You may answer in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester. Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Special examination arrangements, use of sources, explanations and appeals

See more about examinations at UiO

Last updated from FS (Common Student System) May 18, 2022 3:18:12 AM

Facts about this course

Teaching language