Skip to main content

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