Skip navigation

Contents

Acrobats

Spaghetti Code
by George W. Hart, 2004

All lectures notes are available here. It is expected that you do attend all lectures and make your own notes. An essential part of the learning process is the formation of your notes, and the comparison of your notes with the lecture slides. The provided sound track consists of trimmed takes of the lectures - they are meant as an additional option for repetition and do by no means replace the actual lectures. Also keep in mind that some parts of the lectures might not be recorded (interactive programming sessions, discussing student code, ...).

The material is constantly reviewed and refined - so it is best to download the version which you want to use for learning, after the corresponding lectures. Also: taking your own notes from scratch instead of annotating lecture notes is always the more effective learning method.

Any usage of the material supplied below (outside the scope of this course) requires explicit permission by the course organizers.

Disclaimer for any material appearing before the lecture: consider all material as a pre-view only - until a few hours after the lecture, when the exact material used in the actual lecture appears here. So check back frequently if you want to see the latest pre-views, and load after the lectures for the final versions.

 
Chapters
Lecture slides:
pdf document (pdf)
Lecture recordings:
 Movie  Video (mp4)  -  Audio  Soundtrack only (mp3)

 

 

Complete set of slides:

(will become available towards the end of the course)

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

 

               
 

 

Slides & recordings by chapter:

 
 

Organization & contents

 

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
(24. 7.)
Movie
  Audio
36'
               
 

0.

Language refresher/introduction pre-course

  • Ada
  • Chapel
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (24. 7.)
Movie
  Audio
50'
II (27. 7.)
Movie
  Audio
1:19'
III (31. 7.)
Movie
  Audio
1:12'
IV (3. 8.)
Movie
  Audio
32'
         
 

1.

Concurrency - The basic concepts

  • Forms
  • Models
  • Processes & Threads
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (3. 8.)
Movie
  Audio
41'
II (7. 8.)
Movie
  Audio
1:12'
             
 

2.

Mutual Exclusion

  • Pedestrian (Atomic variables)
  • Hardware supported (e.g. Test-and-set)
  • Bare metal (Semaphores)
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (7. 8.)
Movie
  Audio
16'
II (10. 8.)
Movie
  Audio
1:01'
             
      Live programming (Pipelined Insertsort) I (10. 8.)
Movie  Audio
22'
II (14. 8.)
Movie  Audio
1:33'
III (17. 8.)
Movie  Audio
33'
           
 

3.

Communication & Synchronization

  • Shared memory based
  • Message passing based
  • Data parallel operations
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (17. 8.)
Movie  Audio
44'
II (21. 8.)
Movie  Audio
1:18'
III (28. 8.)
Movie  Audio
1:19'
IV (31. 8.)
Movie  Audio
14'
         
      Live programming (Protection) (24. 8.)
Movie  Audio
1:22'
               
 

4.

Nondeterminism

  • Correctness under nondeterminism
  • Nondeterministic message reception
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I (31. 8.)
Movie  Audio
1:03'
               
               
 

5.

Implicit Concurrency

  • Vector programming
  • Implicit concurrency
  • Concurrent reductions
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
           
 

6.

Scheduling

  • Why
  • What does it in your machine
  • Basic methods
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
 

7.

Safety and Liveness

  • Essential safety and liveness properties (look lively)
  • Livelocks and Deadlocks (and how not to)
  • Failure modes
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
 

8.

Architectures

  • Concurrent Hardware
  • Concurrent programming languages concepts
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
           
 

9.

Distributed Systems

  • Networks
  • Time in ditributed systems
  • Communication in distributed systems
  • Distributed safety and liveness
  • Redundancy
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
     
     
 

10.

Summary

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
                 
     
     
       
                               

 

Updated:   Monday 18 September, 2017 11:05 / Responsible Officer:   JavaScript must be enabled to display this email address. / Page Contact:   Course Webmaster