|
|
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 Cachin, Institute 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. |