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.
(19509)
Typ | Vorlesung |
---|---|
Dozent/in | Prof. Dr. Marcel Kyas |
Institution | Institute of Computer Science Freie Universität Berlin |
Semester | SS 09 |
Veranstaltungsumfang | |
Leistungspunkte | 5 |
Raum | Takustraße 9 HS 003 |
Zeit | Office Hours: Tuesday, 14-15 Time: Wednesday, 16-18 Tutorials
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.
|
Zielgruppe
Voraussetzungen
Literaturliste
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
Lecturer's Assistance
If you encounter problems regarding your tutor, assignments, etc, please contact Marcel Kyas.
Course Material
-
Source code of the example programs
-
-
R. G. Lavender and D. C. Schmidt. Active Object: An Object Behavioral Pattern for Concurrent Programming, 2nd Annual Pattern Languages of Programming (PLoP'95) Conference. (published in the PLoP II book) Note that the file does not reside on FU Berlin's web server but at the University of Texas at Austin and I disclaim all responsibility for the articles content.
-
Assignments
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)
-
1st Assignment, due 22.04.2009
-
2nd Assignment, due 29.04.2009
-
3rd Assignment, due 06.05.2009
-
4th Assignment, due 19.05.2009 (new delivery date!)
-
5th Assignment, due 19.05.2009
-
6th Assignment, due 02.06.2009
-
7th Assignment, due 16.06.2009
-
8th Assignment, due 30.06.2009
-
Source code of my sequential N-body gravitational simulation. The main method is in View.java.
-
Josh Barned and Piet Hut, A hierarchical O(N log N) force-calculation algorithm, Nature 324, 446-449, December 1986
-
-
9th Assignment, due 07.07.2009
-
10th Assignment, due 14.07.2009
-
Some selected solutions (find all mistakes)
Examination
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!
-