Study programmes / C-SE System engineering and informatics / Parallel Programming
Course code:PPR
Course title in language of instruction:Paralelní programování
Course title in Czech:Paralelní programování
Course title in English:Parallel Programming
Mode of completion and number of credits:Exam (6 credits), Fulfillment of requirements (4 credits)
(1 ECTS credit = 28 hours of workload)
Mode of delivery/Timetabled classes:full-time, 1/2
(full-time, hours of lectures per week / hours of seminars per week)
Language of instruction:Czech
Level of course:master continuing
Semester:SS 2017/2018 - FBE
Name of lecturer:prof. RNDr. Ing. Jiří Šťastný, CSc. (supervisor)
Prerequisites:Final Bachelor Exam
Aims of the course:Teach students to identify and analyse synchronization problems in practice. Introduce students to practical solutions of task parallelization and to the usage of parallel algorithms in general.
Course contents:
1.Parallel and distributed systems (allowance 8/4)
a.Parallelization models, basic topology types
b.Time complexity of parallel algorithms
c.Event driven development

2.Synchronous and asynchronous processes (allowance 14/4)
a.Synchronization mechanisms
b.Accessing shared data, atomicity, basic synchronization constructs
c.Typical synchronization tasks

3.Applications of parallel algorithms (allowance 6/20)
a.Means of programming of parallel systems and cloud computing
b.Load balancing and database synchronization
c.Implementation of sorting and searching algorithms
d.Asynchronous processes in web applications

Learning outcomes and competences:
Generic competences:
-ability to analyse and synthesize
-ability to apply knowledge
-ability to make decisions
-ability to solve problems
-ability to work independently

Specific competences:
-ability to optimize the processes thought their parallellization
-Student is able to do information modeling of problem domains by means of an advance object methodology.
-Student knows clearly interpret result obtained by problem solving.

Type of course unit:optional
Year of study:Not applicable - the subject could be chosen at anytime during the course of the programme.
Work placement:There is no compulsory work placement in the course unit.
Recommended study modules:none
Assessment methods:Presentation and evaluation of the project and a final test at UIS eLearning environment of the basic concepts of parallel programming. It is necessary to obtain at least 50% of points (ie. min. 25 of 50 points) of the test.
Learning activities and study load (hours of study load)
Type of teaching methodDaily attendance
Direct teaching
     lecture14 h
     practice28 h
     project work26 h
     preparation for exam35 h
     preparation for regular assessment15 h
     elaboration and execution of projects50 h
Total168 h

Basic reading list
  • DOWNEY, A. The Little Book of Semaphores.  [online]. 2005. URL:
  • DVOŘÁK, V. Architektura a programování paralelních systémů. Brno: VUTIUM, 2004. 170 p. ISBN 80-214-2608-X.
  • SANDERS, J. -- KANDROT, E. CUDA by example: an introduction to general-purpose GPU programming. Upper Saddle River, NJ: Addison-Wesley, 2011. 290 p. ISBN 978-0-13-138768-3.
Recommended reading list
  • Parallel programming: techniques and applications using networked workstations and parallel computers. Upper Saddle River, N.J.: Prentice Hall, 431 p. ISBN 0-13-671710-1.