Concurrent ProgrammingLaajuus (5 cr)
Code: TTOW0420
Credits
5 op
Teaching language
- English
Responsible person
- Jani Immonen
Objective
The student understands the need for concurrent programming.
The student understands concepts related to concurrent and parallel programming such as mutexes, synchronization, dead locks and race conditions.
The student understands the difference between processes and threads. The student is familiar with message passing in concurrent programming context. The student understands the difference between concurrency and parallelism.
Content
The course will cover concurrent programming concepts and methods. Covered topics are modern threading API, synchronization, mutexes, dead locks, race conditions and best practices in concurrent and parallel programming. The student is aware of the varying parallelization mechanisms.
Qualifications
Basics in programming, Operating systems, Data structures and algorithms, Introduction to Internet technology.
Assessment criteria, satisfactory (1)
Excellent (5): The student understands all topics discussed during the course and is able to use them in an innovative manner even in challenging situations. The student is able to search and utilize information about discussed topics independently. The student is able to write complex multithreaded programs.
Very good (4): The student understands the most important topics discussed during the course and is able to utilize this knowledge in most common cases. The student is able to search and understand information about discussed topics. The student is able to write multithreaded programs.
Good (3): The student understands the most important topics discussed during the course and is able to utilize this knowledge in the most basic cases. The student is able to utilize information about the discussed topics. The student is able to write simple multithreaded programs.
Satisfactory (2): The student understands the most basic topics discussed during the course, however, he/she struggles to utilize this knowledge. The student is not able to search for relevant information independently. The student is able to write simple multithreaded programs with assistance.
Sufficient (1): The student is familiar with the basic topics discussed during the course. The student is able write only the most basic multithreaded programs with assistance.
Fail 0: The student does not meet the minimum criteria set for the course.
Assessment criteria, good (3)
Good (3): The student understands the most important topics discussed during the course and is able to utilize this knowledge in the most basic cases. The student is able to utilize information about the discussed topics. The student is able to write simple multithreaded programs.
Very good (4): The student understands the most important topics discussed during the course and is able to utilize this knowledge in most common cases. The student is able to search and understand information about discussed topics. The student is able to write multithreaded programs.
Assessment criteria, excellent (5)
Excellent (5): The student understands all topics discussed during the course and is able to use them in an innovative manner even in challenging situations. The student is able to search and utilize information about discussed topics independently. The student is able to write complex multithreaded program