This module is a practical introduction to concurrent programming. It is taught in English.
1st lecture takes place on September 9th!
Lectures: Mondays 12:15 - 14:00, Narva mnt 18 - 2006 From September 30th, the lectures will be on zoom in addition to the classroom. Use this link https://ut-ee.zoom.us/j/92266452804?pwd=bIBhVGUMBrlIFrqEr0XjLpTaaNxwm4.1
Labs: Mondays 16:15 - 18:00, Narva mnt 18 - 2045 Zoom link https://ut-ee.zoom.us/j/96874257801?pwd=oiof7d3xdJBGEglEsgsaFvYfUzjbKC.1
Lecturers: Mohammad Anagreh, Stefan Kuhn
Contact stefan.kuhn@ut.ee or see me in room 3012
Note that for now we do not plan to use moodle, everthing will be done in courses.
Homework
Four pieces of homework must be submitted and passed. They are found under "Homework" in the navigation bar.
Grading
Your final grade will be based on the results of project and exam.
Exam - 50% Project - 50%
Here are some example questions for the exam. In general, we will try to ask for concepts, not remote details.
- Explain the general purpose of a Future
- Who decides if a thread runs or is suspended? Explain the consequences of your answer
- In Foster's methodology, the four steps in designing a concurrent algorithm are partitioning, communication, agglomeration, and mapping. Explain the communication step.
- Explain data parallelism
Exam dates
You can chose your first attempt to be either just before Christmas or in mid-January. A resit only for those who failed will happen towards end of January.
- first slot: Monday, 16th of December, 16:15 (this is the slot of the last lab), Room 2045
- second slot: Monday, 13th of January, 16:15, Room 1022
- resit: Monday, 27th of January, 16:15, Room 1022
Project work
The deadline for project submission is January 12th 2025. The task is found here: Project task (docx) Project task (pdf)
Submission is via courses
Careful students have noticed that the project as given is not correct, the formula return pi/4, not pi. If in doubt, please output pi, though I will consider both valid and the calculation itself should not be affected.