Concurrent and Multithreading Programming

Entry requirements: C/C++ programming skills

Credits: 4

Semester: 3

Course: Elective

Language of the course: English


Katerina Bolgova


Students will learn:

  • to find out the basic directions of development of high-performance computers and basic classification of multiprocessor computer systems
  • to apply the basic techniques and formal model of parallel programming
  • to use tools for parallel programming on systems with shared memory
  • to design parallel algorithms for computational problems
  • to implement parallel programs for computing systems with shared memory
  • to analyze speedup and efficiency of parallel algorithms.


Course is intended to introduce students with the basics of high-performance computing for systems with shared memory. On completion of the course students will be able to apply their knowledge to design and implement parallel algorithms. Students will get basic skills to optimize their programs.


Laboratory works.


Attendance is mandatory. Students cannot miss more than one class. The course consists of 6 main sections. Each of them must be evaluated. For the successful complete the course you must submit all the programming tasks and make a report. The final grade depends on the activity of the student during the course.