FPF:UIN3031 Non-Sequential Computations - Course Information
UIN3031 Non-Sequential Computations
Faculty of Philosophy and Science in OpavaSummer 2026
- Extent and Intensity
- 3/0/0. 5 credit(s). Type of Completion: zk (examination).
- Teacher(s)
- doc. Ing. Petr Sosík, Dr. (lecturer)
doc. RNDr. Luděk Cienciala, Ph.D. (lecturer) - Guaranteed by
- doc. RNDr. Luděk Cienciala, Ph.D.
Institute of Computer Science – Faculty of Philosophy and Science in Opava - Timetable
- Wed 10:35–13:00 B2
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Computer Science and Technology (programme FPF, N1801 Inf)
- Informatics (programme FPF, INFOR-nav)
- Course objectives
- The course introduces elementary concepts of parallel programming, the parallel computing model PRAM and a basic set of techniques of parallel algorithm development. Another part of the course is devoted to multi-thread programming, including practical projects.
- Learning outcomes
After completing the course, the student will be able to:
- explain fundamental concepts of parallel programming,
- describe the PRAM parallel computing model and its characteristics,
- characterize basic techniques for parallel algorithm design,
- apply parallel algorithm development techniques to solve computational problems,
- explain principles of multi-thread programming,
- implement multi-threaded applications using appropriate programming tools and libraries,
- design and develop practical parallel and multi-threaded projects,
- analyze and evaluate the performance and efficiency of parallel and multi-threaded programs,
- solve technical problems related to parallel and multi-thread programming.
- Syllabus
- 1. Overview of elementary concepts of the complexity theory, the O notation.
2. Paradigm of parallel computing. The model PRAM and its variants (EREW, CRCW, CREW). Performance of parallel algorithms.
3. Brent Lemma, the WT Scheduling Principle. The Parallel Computation Thesis.
4. Paralelization techniques: balanced trees.
5. Paralelization techniques: divide and conquer.
6. Paralelization techniques: partitioning.
7. Paralelization techniques: pipelining.
8. Paralelization techniques: accelerated cascading.
9. Multi-thread programming in Java.
10. Individual project. - Literature
- required literature
- CORMEN, T. H., LEISERSON, C. E., RIVEST, R. L., STEIN, C. Introduction to Algorithms. Cambridge: The MIT Press, 2009. ISBN 978-0262033848. info
- JAJA, J. An Introduction to Parallel Algorithms. Addison-Wesley, Reading, Mass., 1992. info
- recommended literature
- Threading in .NET, online: https://docs.microsoft.com/en-us/dotnet/standard/threading/
- Teaching methods
- Interactive lecture
Lecture with a video analysis - Assessment methods
- Exam
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course can also be completed outside the examination period. - Teacher's information
- 1. Microprojects (6x5 points) + final programming project in Java/C# (30 points)
Minimum to pass the course: 50% from each (micro)project
2. Evaluation of at least 50% in a written exam covering the whole topic of the course.
- Enrolment Statistics (recent)
- Permalink: https://is.slu.cz/course/fpf/summer2026/UIN3031