Objectives and Content
The course introduces principles for programming secure, reliable and robust software in a multi-threaded or multi-process environment. Concurrent programming techniques are particularly central to the course, but related techniques such as event-driven programming may also be covered. The course combines a strong theoretical foundation with practical exercises.
After successfully completing the course, the students shall be able to:
- Write correct concurrent programs using multiple programming models, e.g., shared memory, message-passing, actors, futures, and data-parallelism primitives.
- Understand, relate and use synchronization primitives appropriately.
- Model a concurrent process using a formal method.
- Explain the potential run-time problems arising from the concurrent operation of many separate tasks.
Required Previous Knowledge
At least 60 ECTS in computer science, preferably including some mathematics
Recommended Previous Knowledge
Compulsory Assignments and Attendance
Forms of Assessment
Written exam. If less than 20 students take the couse an oral exam may be arranged instead.
Compulsory exercises may count towards the final grade.
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
For written exams, please note that the start time may change from 09:00 to 15:00 or vice versa until 14 days prior to the exam. The exam location will be published 14 days prior to the exam.
Type of assessment: Written examination
- 02.03.2018, 09:00
- 3 hours
- Withdrawal deadline
- Solheimsgt. 18 (Administrasjonsbygget), Eksamenslokale 4. etg.