IN4330 – Efficient parallel programming

Schedule, syllabus and examination date

Choose semester

Changes in the course due to coronavirus

Autumn 2020 we plan for teaching and examinations to be conducted as described in the course description and on semester pages. However, changes may occur due to the corona situation. You will receive notifications about any changes at the semester page and/or in Canvas.

Spring 2020: Teaching and examinations was digitilized. See changes and common guidelines for exams at the MN faculty spring 2020.

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. The course focus on hands-on programming rather than theoretical considerations.

Learning outcome

By taking the subject you will:

  • have a command of tread programming in java and use of key components of java.util.concurrent and be able to explain the differences between at least three different syncrhonization mechanisms
  • 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
  • master the concepts of multi-core computers specifically concerning multithreading and caching
  • be able to explain interactions between threads and caching, and how such interactions influence the performance of algorithms
  • be able to optimize parallelle programs in relationship to caching
  • explain the asymptotic behavior of programs

IN1000 – Introduction to Object-oriented Programming/IN1900 og IN1010 – Object-oriented Programming

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

Overlapping courses

Teaching

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.

Examination

4 hours written digital exam using Inspera which counts 100% towards the final grade.

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

Examination support material

All written aids are 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 given on the A to F scale.

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) Sep. 22, 2020 12:14:56 PM

Facts about this course

Credits
10
Level
Master
Teaching
Spring
Examination
Spring
Teaching language
English