Concepts of Concurrent Computation

Bertrand Meyer, Sebastian Nanz, spring semester 2010

General: News | Course Description | Grading | Further Reading | Contacts
Lectures: Schedule | Slides
Exercises: Schedule | Assignments

General

News

10.1.2011  

Removed solutions.

25.5.2010  

Solution for assignment 9 is online.

25.5.2010  

Updated CSP lecture.

25.5.2010  

Assignment 9 is online.

18.5.2010  

CSP lecture is online.

18.5.2010  

Lecture schedule changed.

18.5.2010  

Solution for assignment 8 is online.

10.5.2010  

Assignment 8 is online.

27.4.2010  

Solution for assignment 7 is online.

20.4.2010  

Lecture schedule changed.

19.4.2010  

Assignment 7 is online.

19.4.2010  

Solution for assignment 6 is online.

13.4.2010  

The SCOOP article is online and listed under recommended texts.

13.4.2010  

Assignment 6 is updated.

12.4.2010  

Assignment 6 is online.

12.4.2010  

Solution for assignment 5 is online.

29.3.2010  

The project description is online.

29.3.2010  

Assignment 5 is online.

29.3.2010  

Solution for assignment 4 is online.

23.3.2010  

Assignment 4 is online.

23.3.2010  

Solution for assignment 3 is online.

15.3.2010  

Solution for assignment 2 is online.

15.3.2010  

Assigment 3 is online.

9.3.2010  

Solution for assigment 1 is online.

8.3.2010  

Assignment 2 is online.

2.3.2010  

Assignment 1 is online.

23.2.2010  

The slides for lecture 1 are online.

5.1.2010  

The initial version of this page is up.

Course Description

Title and ID

Concepts of Concurrent Computation
Course code: 252-0268-00L

Prerequisites

The course assumes good knowledge of object-oriented principles and programming techniques. Experience with Eiffel and with concurrent programming is helpful but not required.

Objectives

Concurrent programming is one of the major challenges in software development. The "Concepts of Concurrent Computation" course explores important models of concurrency, with a special emphasis on concurrent object-oriented programming and process calculi.

After completing this course, students will understand the principles and techniques of concurrent programming, supporting theories (CSP, CCS) allowing formal reasoning about concurrent systems, advances in concurrent object-oriented programming, and applications to multithreading, distribution, Web services and real-time.

Grading

Important : No Testat is delivered for the course. The assessment consists of a project (50%) and a written semester end exam (50%) for which no supporting material is allowed. The only way to get a grade is to take the written exam and submit the project. This applies regardless of your department or status. The performance assessment is only offered at the end after the course unit. Repetition only possible after re-enrolling.

Recommended Texts

Further Reading

  • Allen B. Downey: The Little Book of Semaphores Second Edition. Green Tea Press, 2005.
  • Gul Agha, Peter Wegner, Akinori Yonezawa (Editors): Research Directions in Concurrent Object-Oriented Programming. MIT Press, 1993.
  • Gregory R. Andrews: Foundations of Multithreaded, Parallel, and Distributed Programming. Pearson Addison Wesley, 1999.
  • Mordechai Ben-Ari: Principles of Concurrent and Distributed Programming. Prentice Hall, 1990.
  • Howard Bowman and John Derrick (Editors): Formal methods for distributed processing: a survey of object-oriented approaches. Cambridge University Press, 2001.
  • Bertrand Meyer: Object Oriented Software Construction, second edition, Chapter 30. Prentice Hall, 1997.
  • Piotr Nienaltowski, Volkan Arslan, Bertrand Meyer: Concurrent object-oriented programming on .NET. IEE Proceedings Software, Special Issue on ROTOR, vol. 150, no. 5, 308-314, October 2003.
  • Piotr Nienaltowski, Bertrand Meyer: Contracts for concurrency, CORDIE'06, July 2006, York, UK.
  • Piotr Nienaltowski: Flexible locking in SCOOP. CORDIE'06, July 2006, York, UK. 
  • Volkan Arslan, Bertrand Meyer: Asynchronous Exceptions in Concurrent Object-Oriented Programming. CORDIE'06, July 2006, York, UK.

Contacts

Lectures

Schedule

Day

Time

Location

Tuesday 10:15-12:00 RZ F 21

Slides

Date
Lecture
Title
Slides
Readings
Tuesday
23.2.2010
1 Welcome and introduction pdf pptx
Tuesday
2.3.2010
2 Challenges of concurrency pdf pptx
Tuesday
9.3.2010
3 Synchronization algorithms pdf pptx
Tuesday
16.3.2010
4 Semaphores pdf pptx
Tuesday
23.3.2010
5 Monitors pdf pptx
Tuesday
30.3.2010
6 SCOOP principles pdf pptx
Tuesday
6.4.2010
no lecture Easter break
Tuesday
13.4.2010
7 SCOOP type system pdf pptx
Tuesday
20.4.2010
7 SCOOP type system pdf pptx
Tuesday
27.4.2010
8 SCOOP contracts and inheritance pdf pptx
Tuesday
4.5.2010
9 SCOOP advanced OO mechanisms pdf pptx
Tuesday
11.5.2010
10 CCS pdf
Tuesday
18.5.2010
11 CSP pdf pptx
Tuesday
25.5.2010
12 CCS advanced concepts pdf pptx
Tuesday
1.6.2010
Exam

Exercises

Schedule

Day

Time

Location

Tuesday 12:15-13:00 RZ F 21

Assignments

Date
Title
Material
Assignment
Tuesday
2.3.2010
Introduction and challenges of concurrency assignment
Tuesday
9.3.2010
Synchronization and satisfaction assignment
Tuesday
16.3.2010
Semaphores assignment
Tuesday
23.3.2010
Monitors assignment
Tuesday
30.3.2010
SCOOP principles assignment
Tuesday
13.4.2010
SCOOP type system assignment
Tuesday
20.4.2010
SCOOP type system assignment
Tuesday
11.5.2010
CCS assignment
Tuesday
25.5.2010
CCS assignment

 

Last modified: 10.1.2011 by Benjamin Morandi