UIN3031 Non-Sequential Computations

Faculty of Philosophy and Science in Opava
Summer 2025
Extent and Intensity
3/0/0. 5 credit(s). Type of Completion: zk (examination).
Teacher(s)
doc. Ing. Petr Sosík, Dr. (lecturer)
Guaranteed by
doc. Ing. Petr Sosík, Dr.
Institute of Computer Science – Faculty of Philosophy and Science in Opava
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
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.
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)
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.
The course is also listed under the following terms Summer 1994, Summer 1995, Summer 1996, Summer 1997, Summer 1998, Summer 1999, Summer 2000, Summer 2001, Summer 2002, Summer 2003, Summer 2004, Summer 2005, Summer 2006, Summer 2007, Summer 2008, Summer 2009, Summer 2010, Summer 2011, Summer 2012, Summer 2013, Summer 2014, Summer 2015, Summer 2016, Summer 2017, Summer 2018, Summer 2019, Summer 2020, Summer 2021, Summer 2022, Summer 2023, Summer 2024.
  • Enrolment Statistics (Summer 2025, recent)
  • Permalink: https://is.slu.cz/course/fpf/summer2025/UIN3031