Concurrent Programming

Networking and Services
Intermediate studies
Kurssilla perehdytään rinnakkaisten ja hajautettujen järjestelmien ohjelmoinnin peruskäsitteisiin. Erityinen paino on rinnakkaisten algoritmien suunnittelussa ja toteutuksessa. Kurssiin sisältyy pakollinen harjoitustyö (2 op). Esitiedot: Tietokoneen toiminta -kurssin suoritus (tai esitietokoe). Kurssikirja: Ben-Ari M.: Principles of Concurrent and Distributed Programming (2nd ed.), Addison-Wesley, 2006.


06.05.2011 09.00 A111
Year Semester Date Period Language In charge
2011 spring 17.01-25.04. 3-4 Finnish


Time Room Lecturer Date
Mon 14-16 B123 Teemu Kerola 17.01.2011-14.02.2011
Thu 14-16 B123 Teemu Kerola 20.01.2011-03.02.2011
Mon 14-16 B123 Teemu Kerola 14.03.2011-04.04.2011

Exercise groups

Group: 1
Time Room Instructor Date Observe
Wed 14-16 C222 Teemu Kerola 24.01.2011—18.02.2011 possibly in English
Wed 14-16 C222 Teemu Kerola 14.03.2011—15.04.2011 possibly in English
Group: 2
Time Room Instructor Date Observe
Thu 10-12 CK111 Tommi Tuura 24.01.2011—18.02.2011
Thu 10-12 CK111 Tommi Tuura 14.03.2011—15.04.2011
Group: 3
Time Room Instructor Date Observe
Thu 16-18 C222 Tommi Tuura 24.01.2011—18.02.2011
Thu 16-18 C222 Tommi Tuura 14.03.2011—15.04.2011

Esitietokoe maanantaina 10.1. klo 9-11 C222.

Prerequisite exam on Monday 10th of January at 9-11 in room C222,

Information for international students

Information for this course is also provided in English. Change your language from upper right hand corner.
(English version will be available in January 2011.) 

Compulsory prerequisite is Computer Organization I. If have not done that, you need to pass the prerequisite exam (Monday 10.1.2011 at  9-11 in C222, no need to sign up), unless this prerequisite requirement is waived for you due to studies elsewhere.


Compulsory course in intermediate studies in Computer Science (degree requirements 2010-2012, 1.8.2010).

Course description and Learning goals (1.8.2008).

Lecture course (6 cu) includes a compulsory 2 cu project. Your grade is determined by practice session activity, exam, and project.

With final exam, you get either 6 cu (with project done earlier) or 4 cu (no project). If you have done the project earlier, then the project grade may affect your overall grade positively.

Course home page has general course  information, not relating to this specific lecture course.


Notices and Remarks

Lectures are in Finnish. Practice sessions are in Finnish (Tuura) or in English/Finnish (Kerola). All notices given during the course are given here.

3.6.2011 Response to course feedback questionaire is here (mostly in Finnish sorry). Project speed competition winning times are shown in project page.

3.6.2011 A small mistake was done in grading. Project extra points were not counted in if total project points exceeded 20p. This is now corrected and three students (see  here) got a better grade. New grades will be transferred to Oodi soon.

30.5.2011 Course grading is completed. Project points and exam points (by each problem) are shown in course bookkeeping. Course results are posted on the results bulletin board and here. You can come and look at your exam paper and ask questions on exam, project and course grading on 3.6.2011 at 10.15-11:00 (D220).

16.5.2011 Exam grading is completed. Each exam question is shown separately on the course bookkeeping page. To pass the course you must have minimum 13 (not 15) points from the exam. If you got less than 13 points from the exam, you need to take the make-up exam (in June) to pass the course.  The exam is in the Previous Exams page and grading principles are here

4.5.2011 Project turn-in status (paper copy, email) is shown on its own column in projects page. 

7.4.2011 Each group should send the instructor (teemu.kerola (at) current (large) data set and the solution time (1-10 minutes?)  used  for it. The competition data set is not selected for some projects yet, and it may be selected from those submitted now. Please do not turn in your project before 20.4.2011, because report requirements might still be fine tuned before that date. 

14.2.2011 Project work can begin. Study circles reserve projects by emailing the chosen topic to the instructor (teemu.kerola (at) Still available topics are shown in page Study Circles and Projects

7.2.2011 Students with no marks have been removed from visible course bookkeeping. If your name has been removed by mistake, please contact the lecturer. 

31.1.2011 Everybody should be soon in a study circle for the project. Email the instructor (teemu.kerola (at) the names of the students belonging to your study circle (1-4 students ). If you want the instructor to assign you to a study circle, please send email to instructor by 9.2.2011. Remember to note if you want an English speaking study circle. Study circles can reserve project via email, starting on Monday 14.2.2011 at 10:00. Any reservations arriving before that time will be ignored. 

20.1.2011 I will start an English-speaking summary lecture/discussion group, aimed for English speakers who can not attend Finnish lectures. We will meet 1st time tomorrow Friday 21.1.2011 at 14:15 in C222. Discussion will cover both lectures from this week. We will also decide then, if this type of lecture is really needed and what time would be better.  See lecture schedule for dates, times and locations of other summary lectures in English. 

18.1.2011 Course prerequisites have been checked. Acceptance is marked with number 1 for "HT 2" in course bookkeeping. If you do not have that 1 there, please clear your prerequisites status with the instructor.

17.1.2011 There are 8 on-site reading copiesof the  text book in TKO-äly student room (Gurula, DK115).

11.1.2011 Traslation of lecture course information to English begins.

10.1.2011 7 students passed the prerequisite exam and 2 failed.  Passed: 012610802, 013327518, 013463430, 013465713, 013466741, 013872542, 013881533.

20.12.2010 Course web-pages do not necessarily print out properly from Firefox - you may need to use other browsers when printing.

17.12.2010 This page will receive automatic information from a little bit confuced data base. When in doubt, refer to departmental Teaching Program for up-to-date information.

Prerequisite requirements

Compulsory prerequisite is Computer Organization I. If have not done that, you need to pass the prerequisite exam (Monday 10.1.2011 at  9-11 in C222, no need to sign up), unless this prerequisite requirement is waived for you due to studies elsewhere.

Completing the course

Lecture course contains the following components:

  1. 12 Lectures á 2h
  2. 9 Practice sessions á 2h
  3. Course exam
  4. Project (with Study Circle or alone)

Course grade is determined from course exam, homeworks and project in the following manner:

Part Maximum Points Minimum Requirement
Homeworks 10 1
Exam 30 15
Project 20 1
Total 60 30

Course bookkeeping and projects reserved for each study circle can be seen in departmental intranet. Homework points are determined so that 10% of maximum hwp's (3 hwp) will give you 1 p towards your grade (minimum requirement) and 90% (30 hwp) will give you all 10 points. Other points are determined linearly.

Literature and material

Course is built in text book ([BenA06] M. Ben-Ari, Principles of Concurrent and Distributed Programming (2nd Ed.), Addison-Wesley 2006). We will cover the text book almost completely (Ch 1-10) during the course. Having the text book is necessary for the course. Please obtain it well in advance before the course begins.

Course material covers also Operating Systems course text book  ([Sta08] William Stallings, Operating Systems - Internals and Design Principles; Prentice Hall, 2008, 6th ed.) Chapter 6. Chapter 5 might also be useful. Editions 4 or 5 of the same text book will do just fine also (with same chapters).

The BACI simulator introduced with Ben-Ari text book will also be used. See instructions.

There is a small set of practice problems (mostly in Finnish, sorry) that can be used for self evaluation.

Previous exams and Java-examples used in homeworks are in web.