Springe direkt zu Inhalt

ALP IV: Nicht-sequentielle Programmierung (2,N)

Nichtsequentielle Programmierung befasst sich mit den Datenstrukturen und Algorithmen zur Synchronisation nebenläufiger Prozesse, die auf gemeinsame Daten zugreifen oder miteinander kommunizieren. Die Vorlesung stellt die grundlegenden Konzepte und Methoden der Programmierung nebenläufiger Systeme im Zusammenhang dar. Sie setzt den (auf sequentielle Programmierung beschränkten) Zyklus Algorithmen und Programmierung I-III fort und ist Voraussetzung für verschiedene Veranstaltungen des Hauptstudiums wie z.B. Netzprogrammierung, Betriebssysteme, Verteilte Systeme und Parallele Algorithmen.


Dozent/inProf. Dr. Marcel Kyas
InstitutionInstitute of Computer Science
Freie Universität Berlin
SemesterSS 09
RaumTakustraße 9 HS 003
 Office Hours: Tuesday, 14-15
Wednesday, 16-18


  • Thursday, 10-12, Takustr. 9, SR 051, André Schüler

  • Thursday, 10-12, Takustr. 9, SR 006, Bogumil Mikolajczyk

  • Thursday, 12-14, Takustr. 9, SR 049, André Schüler

  • Thursday, 12-14, Arnimallee. 3, SR 130, Bogumil Mikolajczyk

  • Thursday, 14-16, Takustr. 9, SR 049, Michael Schnürmacher

  • Thursday, 16-18, Arnimallee 6, SR 006/007, Michael Schnürmacher

The first tutorials take place on Thursday, April 23. It is important to visit the first session. If you cannot come, send an e-mail. Otherwise we have to assume that you are not interested in tyour seat in the tutorial and may give it away to students who need it.

I urge all students which are registered for a tutorial but do not intend to go to that tutorial to register for the new tutorial (room "Nach Vereinbarung," Time "Nach Vereinbarung"). We need the places in the tutorials for people who actually want to go there.



2nd year BSc students




Basic text books for this course

  • Andrews, G.R.: Foundations of multithreaded, parallel and distributed programming. Addison-Wesley, 2000

  • Lea, D.: Concurrent Programming in Java (2. ed.). Addison-Wesley, 1999

Advanced text books for this course

  • A. Wellings, Concurrent and Real-Time Programming in Java, Wiley & Sons, 2004

  • G. Taubenfeld, Synchronisation Algorithms and Concurrent Programming, Prentice Hall, 2006

Textbooks on Hoare logic

  • K.R. Apt, E.-R. Olderog, Programmverifikation, Springer, 1994

  • K.R. Apt, E.-R. Olderog, Verification of Sequential and Concurrent Programs, 2nd Edition, Springer, 1997

  • R.D. Tennent, Specifying Software, Cambridge University Press, 2001

  • W.-P. de Roever, F. de Boer, U. Hannemann, J. Hooman, Y. Lakhnech, M. Poel, J. Zwiers, Concurrency Verification, Cambridge University Press, 2001

KVV page

Lecturer's Assistance

If you encounter problems regarding your tutor, assignments, etc, please contact Marcel Kyas.


Course Material


Assignments are to be turned in into your tutors box in front of room 137 till 1600.Programming assignments must be delivered electronically by e-mail, too. Details will be announced in the first tutorial session.

Assignments should be submitted by teams of two or three students that visit the same tutorial. State the names of each team member clearly on each sheet.

Assignments can only be downloaded from the network of FU-Berlin (e.g., via VPN)


July 22, 2009 Physiologie-HS

Next examination: Monday, October 5, 2009, 16:00-18:00, Physiologie-HS

Results have been published at the blackboard opposite of room 155. The solutions to the problem set are here.

Criteria for successful participation

  • Active participation in the tutorials is essential!

    • At least n-2 times present

  • Hand-in your assignments on time

    • Teamwork is required, 2-3 students in a team. All team-mates must visit the same tutorial. You cannot visit tutorials of two different tutors or at different times. The whole team might be required to present a solution.

  • Successful submission of at least n-2 assignments

    • At least 50% of the ungraded assignments must be acceptable


    • At least 50% of the max. number of points

    At least 50% of the programming assignments must be accepted

  • Each student must be able to present the assignment during the tutorials

    • Each student must have presented in the tutorials at least once  

  • At least 50% of the max. number of points required in the exam

    • The final grade is the grade of the exam only!