520006-HS2026-0-Parallel Programming and Concurrent Computing





Root number 520006
Semester HS2026
Type of course Lecture
Allocation to subject Computer Science
Type of exam Written exam
Title Parallel Programming and Concurrent Computing
Description Modern computing systems contain processors with many cores and work on multiple tasks in parallel at any given time. Parallelism and concurrency among multiple processes are also important abstractions for structuring large software systems. This course introduces parallel and concurrent systems. It shows how to write multi-threaded programs and how computations on large data sets can be tackled more efficiently with parallel algorithms than with sequential programs. Moreover, the course presents primitives and software patterns for synchronizing multiple concurrent processes (locks, monitors, semaphores, channels) and illustrates how to implement key data structures with concurrent algorithms (like lists, queues, or stacks). Fundamental notions and approaches are introduced and important limitations of multiprocessor systems are shown. Practical examples are shown using the Java platform.

Prerequisites for succeeding in this course are the courses Programming 1 and Programming 2, as well as Data Structures and Algorithms.
ILIAS-Link (Learning resource for course) No registration/deregistration in CTS (Admission in ILIAS possible). ILIAS
Link to another web site
Lecturers Prof. Dr. Christian CachinInstitute of Computer Science, Cryptology and Data Security (CRYPTO) 
ECTS 5
Recognition as optional course possible Yes
Grading 1 to 6
 
Dates Tuesday 14:15-17:00 Weekly
 
Rooms Hörraum 120, Hauptgebäude H4
 
Students please consult the detailed view for complete information on dates, rooms and planned podcasts.