rotate   19530-V Concurrent Programming  rotate

Administration
Lectures
Exercises
Project
Literature
Links
Examples

The final grades are now available; if you notice any mistakes please email me. There are two students who I have not yet assigned a project grade. If you do not find your grade, it is most likely because I do not have a project grade, an exam grade, or both. The grading scale is on the far right; the homework grades were averaged and converted to a percentage; the homework is worth 40%, the project is worth 20%, and the exam is worth 40%. (4.3.2002)
The projects have been graded and the grading sheets are available for you to see your results and read any comments; contact Christof to arrange to get your results. (4.3.2002)

You can stop by my office and see the test results until
19. Feb. (13.2.2002)
Course evaluation. (24.1.2002)
I have updated the UI bundle hopefully one last time. Some problems arose because my assumptions about locking and threading inside the UI bundle were inconsistent with the assumptions of some implementations of WorldServiceActivator, which resulted in potential deadlocks. I tried to eliminate these problems by rewriting the UI so that it doesn't use locks at all. It is sort of a hack, but it is possible because Swing has its own thread and I was able to use it to do the UI work, instead of the calling thread. If you are interested in the details, you can talk with me about it or look at the source... (3.2.2002)
I have updated UI bundle again so that you can successfully re-start a new game after the current game has completed. (1.2.2002)
The UI bundle was updated again to repaint robots during window redraw events; this only affects aesthetics, not functionality. Thanks to Karl Pauls for providing this update. (31.1.2002)
There appears to be a strange Web-caching problem that sometimes prevents you from downloading the latest version of a file. When you download a new JAR file, if it appears to be the same old file, then try copying the files directly using your Linux account. (30.1.2002)
If you want to build the UI bundle under Linux, make sure you download the most recent ui_src.jar; there was a type-o in the build-ui.sh file from yesterday. (30.1.2002)
Remember that the last assignment is due on Thursday - 31.1.2002. (29.1.2002)
I added two questions to the project FAQ. (29.1.2002)
I update ui.jar again to include an icon for bridges. (29.1.2002)
Another slight change to the API documentation. (28.1.2002)
The solution to Übung 9 is available on the exercises page. (25.1.2002)
A null pointer bug occurs in the UI bundle when the game is complete; this bug has been fixed and the updates are on the Web -- thanks to Richard Cyganiak for figuring this out. (24.1.2002)
The final assignment is now available. (22.1.2002)
I made two slight changes to the API documentation. (22.1.2002)
Important: I added a project grading overview on the Project Web page. (21.1.2002)
I have slightly updated the API documentation on the Project Web page, please read it. Notice: The API JavaDoc documentation is the most accurate specification for the project; you must implement the functionality described in it! (18.1.2002)
There was a small bug in the UI bundle, please download it again! (17.1.2002)
The project UI bundle is available on the Project Web page! (16.1.2002)
The project is due at noon on February 4, 2002; I will post a project grading guide shortly. (15.1.2002)
The 9th assignment is now available. (15.1.2002)
Added a project FAQ on the Project Web page. (14.1.2002)
Reminder: The Klausur is the last day of class, February 12. (10.1.2002)
Related to the issue below, there was a type-o in the example code in question 2, it is now correct; thanks to Björn Lichtblau for pointing it out. (9.1.2002)
There is no new assignment this week, you have an extra week to work on assignment 8. (9.1.2002)
The project starter kit has been UPDATED. (20.12.2001)
The project starter kit AND the new assignment are available. (19.12.2001)
There is a new "project" section on the web page. (19.12.2001)
The project starter kit and assignment is coming on Wednesday or Thursday. (18.12.2001)
The 7. assignment is available. (11.12.2001)
The sixth assignment is available. (4.12.2001)
The lecture time is back to normal at 12:15. (27.11.2001)
The fifth assignment is available. (27.11.2001)
The lecture on 27.11 starts at 12 Uhr sharp. (20.11.2001)
The fourth assignment is available (20.11.2001)
There is no lecture or Uebungen on 13.11.2001, the lectures on 20.11
and 27.11 will start at 12 Uhr sharp to regain the lost time. (6.11.2001)
The third assignment is available. (6.11.2001)
The corrected slides for Lecture 4 are posted as well as some slight
fixes to the slides for Lectures 2 and 3. (6.11.2001)
The second assignment is available. (30.10.2001)
LTSA tool added to "links" page. (28.10.2001)
The first exercise is available. (23.10.2001)
No time changes for the Uebungen yet. (23.10.2001)

This class investigates the special programming issues that arise when creating software systems that exhibit non-sequential behavior. The class will take a pragmatic approach to concurrent programming, first examining the use of state machines as a modeling tool for concurrent programs and then focusing on creating concurrent programs in Java. The specific concepts that will be taught, include Finite State Processes, mutual exclusion, monitors and condition synchronization, deadlock, safety and liveness properties, and multi-threading. The goal of the class is for students to become proficient in the concepts and programming techniques of concurrent programming.