News

Re-Exams Inspection

Written on 31.10.23 by Maximilian Köhl

Dear Students,

The exam inspection for the re-exams will take place on Monday, November 6, from 13:30 to 14:30 in room 528 in E1 3. Remember to bring your student ID to the inspection.

Kind regards,
Your Concurrent Programming Team

Re-Exam Results

Written on 19.10.23 by Maximilian Köhl

Dear Students,

You will now find the results of both re-exams on your personal status page. In both cases, you have passed if you have obtained at least 30 points.

For re-exam T, we had 12 participants of which 8 made the cut. The highest score obtained is 55.5 out of 60.

For re-exam A, we… Read more

Dear Students,

You will now find the results of both re-exams on your personal status page. In both cases, you have passed if you have obtained at least 30 points.

For re-exam T, we had 12 participants of which 8 made the cut. The highest score obtained is 55.5 out of 60.

For re-exam A, we had 26 participants of which 17 made the cut. The highest score obtained is 40.5 out of 60.

The grade for the entire course is calculated from the maximum points obtained in exam or re-exam T, plus the maximum points obtained in exam or re-exam A, plus bonus exercise points, plus project bonus. We use this grade scale. You can find your grade on your personal status page.

Kind regards,
Your Concurrent Programming Team

Re-Exam Seating

Written on 13.10.23 by Maximilian Köhl

Dear Students,

On Monday, October 16, we will write re-exams A and T in GHH. If you are registered, you will now find your seat on your personal status page. If we did not assign you a seat and you think that this is an error, please notify us immediately.

We start with re-exam T at 10:00,… Read more

Dear Students,

On Monday, October 16, we will write re-exams A and T in GHH. If you are registered, you will now find your seat on your personal status page. If we did not assign you a seat and you think that this is an error, please notify us immediately.

We start with re-exam T at 10:00, please be there 10 minutes early, at 9:50.

We start with re-exam A at 11:25, please be there 10 minutes early, at 11:15.

Kind regards,
The Concurrent Programming Team

Save the Trees: Please Choose your Re-Exams

Written on 10.10.23 by Maximilian Köhl

Dear students,

to ensure that we do not have to print unneeded exam copies, we ask that you select which re-exams you intend to write.

Please visit your personal status page and register for re-exams T and A as needed by Friday (13.10.2023), 09:59. We will only print the exams you register… Read more

Dear students,

to ensure that we do not have to print unneeded exam copies, we ask that you select which re-exams you intend to write.

Please visit your personal status page and register for re-exams T and A as needed by Friday (13.10.2023), 09:59. We will only print the exams you register for.

Please note that the official HISPOS registration deadline has already passed. If you want to participate in any of the re-exams, but dCMS shows that you are not admitted, please contact us immediately.

Kind regards,
Your Concurrent Programming Team

Registration for Re-Exams

Written on 04.10.23 by Maximilian Köhl

Dear students,

The two re-exams for part T and A of our lecture will take place on Monday, October 16th, 2023 between 09:50 and 13:00 in the Günter-Hotz lecture hall (GHH).

We start with re-exam T at 10:00, please be there 10 minutes early, at 9:50.

We start with re-exam A at 11:25, please be… Read more

Dear students,

The two re-exams for part T and A of our lecture will take place on Monday, October 16th, 2023 between 09:50 and 13:00 in the Günter-Hotz lecture hall (GHH).

We start with re-exam T at 10:00, please be there 10 minutes early, at 9:50.

We start with re-exam A at 11:25, please be there 10 minutes early, at 11:15.

Like the main exams, each re-exam will take 60 minutes.

Please note that you have to register for the re-exams in LSF (if required by your terms of study). Please register in LSF until Monday, October 9, 23:59. If your study program does not use LSF registration, please register on your personal status page instead.

If you did not pass the project yet, you cannot register in LSF. In this case, please write an e-mail to studium@cs.uni-saarland.de (Sekretariat Studienkoordination) such that they can register you manually.

Kind regards,
Your Concurrent Programming Team

Exam Inspection – Markings Adjusted

Written on 26.09.23 by Felix Freiberger

Dear students,

We have now updated the markings for exam A with the changes resulting from the exam inspection. The final results are displayed on your personal status page.

Kind regards,
Your Concurrent Programming Team

Exam Inspection A

Written on 19.08.23 by Maximilian Köhl

Dear students,

The exam inspection for exam A is scheduled to take place on Monday, September 11, between 14:15 and 15:45 in room 528 in building E1 3 (fifth floor).

Kind regards
Your Concurrent Programming Team

Project Bonus

Written on 09.08.23 by Felix Freiberger

Dear Students,

Based on the criteria

  • effective and elegant use of concurrency,
  • quality of documentation,
  • community support, and
  • excellent performance,

we award a bonus to four project groups:

Dear Students,

Based on the criteria

  • effective and elegant use of concurrency,
  • quality of documentation,
  • community support, and
  • excellent performance,

we award a bonus to four project groups:

Congratulations to the following students! 🎉

  • Aron Hanowski,
  • Moritz Heckmann,
  • Jonathan Müller,
  • Robert Pietsch,
  • and three more individuals.

For each of them, 5 bonus points (equivalent to one step in the grade scale) will be added to the final points.

Kind regards,
Your Concurrent Programming Team

Results of Exam A

Written on 04.08.23 by Maximilian Köhl

Dear Students,

You will now find the results of exam A on your personal status page. You have passed the exam if you have obtained at least 30 points. The points you obtained are the result of your performance in the exam lifted by 4 points.

We had 75 participants of which 54 made the cut. The… Read more

Dear Students,

You will now find the results of exam A on your personal status page. You have passed the exam if you have obtained at least 30 points. The points you obtained are the result of your performance in the exam lifted by 4 points.

We had 75 participants of which 54 made the cut. The highest score obtained is 59 out of 60.

In case it is definite that you have passed the course (i.e., you passed exams T and A and completed the project), a preliminary grade for the entire course is calculated from the sum of points obtained in exams T and A (plus any potential points from the bonus exercises) using this grade scale. In this, you can find your grade on your personal status page, too. (Any potential project bonus will be added at a later date.)

Kind regards,
Your Concurrent Programming Team

Results of Milestone Ω

Written on 02.08.23 by Maximilian Köhl

Dear students,

The results of Milestone Ω are now shown on your personal status page.

In case you have not passed Milestone Ω, you will need to rectify the remaining issues (assuming you fulfill the formal requirements to be able to do so).

For this second attempt, we expect the following in… Read more

Dear students,

The results of Milestone Ω are now shown on your personal status page.

In case you have not passed Milestone Ω, you will need to rectify the remaining issues (assuming you fulfill the formal requirements to be able to do so).

For this second attempt, we expect the following in your repository:

  1. Your updated implementation. Take care that you have rectified any open issues and that your code is adequately commented and self-explanatory.
  2. Your (possibly updated) documentation.

Once you are ready with your updates, send a personal message to your tutor in our discussion board. For each remaining issue, include a brief list of changes you made to address it. We plan to inspect your updates soon after notification and will give you feedback then.

There will not be a second defense, your submission will be inspected solely based on the material you will have delivered. It is in your genuine interest to then have ensured that you have evidently rectified all open issues and that you have explained the changes clearly.

If you are unsure about what issues need to be addressed, please contact your tutor directly.

We highly recommend that you finish the second submission as soon as possible. The ultimate deadline is 23 October 2023.

Kind regards,
Your Concurrent Programming Team

Project Defense

Written on 28.07.23 (last change on 31.07.23) by Maximilian Köhl

Dear students,

We have scheduled the project defenses. You can find your appointment on your personal status page. The defense takes place in room 407 in E1 1.
If you cannot make the appointment we assigned to you, please send a message to @Organizers in the forum immediately.

Please bring your… Read more

Dear students,

We have scheduled the project defenses. You can find your appointment on your personal status page. The defense takes place in room 407 in E1 1.
If you cannot make the appointment we assigned to you, please send a message to @Organizers in the forum immediately.

Please bring your student ID, and a laptop with your project (in the version that is shown on Mission Control) ready to run, to the defense.

Kind regards,
Your Concurrent Programming Team

Extended Concurrency Café

Written on 26.07.23 (last change on 26.07.23) by Maximilian Köhl

Dear Students,

To assist you in the final phase before the exam and answer your last urgent questions, our tutors are offering an extended Concurrency Café on Friday, July 28 from 11:00 to 16:00 in E1 3, SR014. We strongly recommend to commence your preparation well before these this day.

Kind… Read more

Dear Students,

To assist you in the final phase before the exam and answer your last urgent questions, our tutors are offering an extended Concurrency Café on Friday, July 28 from 11:00 to 16:00 in E1 3, SR014. We strongly recommend to commence your preparation well before these this day.

Kind regards,
The Concurrent Programming Team

Exam Seating

Written on 24.07.23 by Maximilian Köhl

Dear Students,

On Tuesday, August 1, we will write Exam A, covering units E-H. If you are registered for exam T, you are also automatically registered for exam A. If you are registered, you will now find your room and seat on your personal status page. If we did not assign you a seat and you think… Read more

Dear Students,

On Tuesday, August 1, we will write Exam A, covering units E-H. If you are registered for exam T, you are also automatically registered for exam A. If you are registered, you will now find your room and seat on your personal status page. If we did not assign you a seat and you think that this is an error, please notify us immediately.
Please arrive at GHH no later than 10:05. The exam will take 60 minutes.

Kind regards,
The Concurrent Programming Team

Project Defense and Course Evaluation

Written on 20.07.23 by Felix Freiberger

Dear students,

As you already know, there will be an in-person project defense on the 2nd of August. By default, we assume that you are available for the whole day, and we can freely assign you a time slot. If this is not the case, please write a message to @Organizers in our forum by Tuesday, 25th… Read more

Dear students,

As you already know, there will be an in-person project defense on the 2nd of August. By default, we assume that you are available for the whole day, and we can freely assign you a time slot. If this is not the case, please write a message to @Organizers in our forum by Tuesday, 25th of July at the latest.

Just as a friendly reminder, you need to submit an implementation for Starship to qualify for the bonus (see mission briefing).

Another news is that Qualis has returned the results of the course evaluation. Thank you for providing feedback and suggestions! You can find the evaluation result (without free-form answers) in the course materials.

Kind regards,
Your Concurrent Programming Team

Project Repositories and Infrastructure

Written on 28.06.23 by Felix Freiberger

Dear students,

We created the project repositories in dGit for you. In case you cannot access your repository, please contact us immediately via private message to @Organizers in the forum.

Please also have a look at the Projects category in the forum. In particular, the post How to Project in… Read more

Dear students,

We created the project repositories in dGit for you. In case you cannot access your repository, please contact us immediately via private message to @Organizers in the forum.

Please also have a look at the Projects category in the forum. In particular, the post How to Project in VS Code explains how to set up your IDE for working on the project, and the post Running Automatic Tests contains further details about the automatic testing infrastructure.

Have fun coding!

Kind regards,
Your Concurrent Programming Team

Project Registration and Templates

Written on 26.06.23 by Maximilian Köhl

Dear students,

You will now find your mission briefing and links to the project templates on the material page in dCMS.

The deadline for the project registration is tomorrow, 27.06.2023, 23:59. You can find details about the project registration in the mission briefing.

Kind regards,
Your… Read more

Dear students,

You will now find your mission briefing and links to the project templates on the material page in dCMS.

The deadline for the project registration is tomorrow, 27.06.2023, 23:59. You can find details about the project registration in the mission briefing.

Kind regards,
Your Concurrent Programming Team

Practical Project and Lecture Evaluation

Written on 26.06.23 (last change on 26.06.23) by Maximilian Köhl

Dear students,

welcome to the practical project! The mission briefing is now available in the course materials. Please keep in mind that the deadline to register for the project is tomorrow, 27.06.2023, 23:59. Until then, you must complete the three steps outlined in the Groups & RegistrationRead more

Dear students,

welcome to the practical project! The mission briefing is now available in the course materials. Please keep in mind that the deadline to register for the project is tomorrow, 27.06.2023, 23:59. Until then, you must complete the three steps outlined in the Groups & Registration section of the project description. If you have any questions about the project, you're invited to pose them in the Project category of our discussion board.

In addition, we would like to ask you to evaluate the concurrent programming lecture (unless you have already done so). You can do so here:

Kind regards,
Your Concurrent Programming Team

Bonus Exercise H

Written on 21.06.23 by Felix Freiberger

Dear students,

You will now find a Bonus Exercise H in dCMS.

Submitting solutions to this exercise is entirely optional, and we recommend you only work on it if you already have a deep understanding of the main materials presented in the lecture.

Note that you may also submit partial… Read more

Dear students,

You will now find a Bonus Exercise H in dCMS.

Submitting solutions to this exercise is entirely optional, and we recommend you only work on it if you already have a deep understanding of the main materials presented in the lecture.

Note that you may also submit partial solutions. If you do submit this exercise, you may be awarded bonus points. You can find more details on the bonus exercise sheet itself.

For this bonus exercise, you are not allowed to work in your group, i.e., you must solve it by yourself. Plagiarism will be punished by exclusion from the lecture and reporting to the examination board.

Kind regards,
Your Concurrent Programming Team

Project Registration

Written on 20.06.23 by Maximilian Köhl

Dear students,

The programming project will start next Monday. To register for it, we ask you to already complete the following steps now:

  1. Find a project partner and form a team in dCMS.
  2. Register at our GitLab instance and enter your GitLab username on your personal status page in… Read more

Dear students,

The programming project will start next Monday. To register for it, we ask you to already complete the following steps now:

  1. Find a project partner and form a team in dCMS.
  2. Register at our GitLab instance and enter your GitLab username on your personal status page in dCMS.
  3. Choose the programming language you want to use on your personal status page in dCMS.

Details will follow in lecture H3.

Kind regards
Your Concurrent Programming Team

Exercise Sheet H

Written on 20.06.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet H in dCMS.

Kind regards,
Your Concurrent Programming Team

Exam Inspection – Markings Adjusted

Written on 20.06.23 by Felix Freiberger

Dear students,

We have now updated the markings for exam T with the changes resulting from the exam inspection. The final results are displayed on your personal status page.

Kind regards,
Your Concurrent Programming Team

Exercise Sheet G

Written on 13.06.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet G in dCMS.

Kind regards,
Your Concurrent Programming Team

Exercise Sheet F

Written on 06.06.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet F in dCMS.

Kind regards,
Your Concurrent Programming Team

Exam Inspection T

Written on 06.06.23 by Maximilian Köhl

Dear students,

The exam inspection for exam T is scheduled to take place on Thursday, June 15, between 13:15 and 14:45 in SR 014 in building E1 3. After the inspection, Concurrency Café will take place as usual until 16:00.

Kind regards
Your Concurrent Programming Team

Exercise Sheet E

Written on 31.05.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet E in dCMS.

Kind regards,
Your Concurrent Programming Team

Results Exam T

Written on 24.05.23 by Maximilian Köhl

Dear Students,

you can now find the results of exam T on your personal status page. If you have obtained 30 points or more, you have passed the exam. A grade for the entire course (including potential bonus points) will be calculated once the results of exam A are available.

However, you can… Read more

Dear Students,

you can now find the results of exam T on your personal status page. If you have obtained 30 points or more, you have passed the exam. A grade for the entire course (including potential bonus points) will be calculated once the results of exam A are available.

However, you can determine a preliminary grade by comparing your point sum with the output of this pseuCo program (best viewed using the Random path feature): https://pseuco.com/#/edit/remote/7ahkuohtwu7vvtxpouk6

Kind regards,
Your Concurrent Programming Team

Exam Seating

Written on 19.05.23 (last change on 19.05.23) by Maximilian Köhl

Dear Students,

on Monday, May 22, we will write Exam T, covering units A-D. If you registered for the exam, you will find your room and seat on your personal status page. If we did not assign you a seat and you think that this is an error, please notify us immediately.
Please arrive at your… Read more

Dear Students,

on Monday, May 22, we will write Exam T, covering units A-D. If you registered for the exam, you will find your room and seat on your personal status page. If we did not assign you a seat and you think that this is an error, please notify us immediately.
Please arrive at your assigned lecture hall no later than 14:15. The exam will take 60 minutes.

As a reminder, to assist you in the final phase before the exam and answer your last-minute questions, our tutors are offering an extended Concurrency Café today (Friday, May 19) from 12:00 to 16:00 in E1 3, room SR014.

Kind regards,
The Concurrent Programming Team

Exercise Sheet D

Written on 09.05.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet D in dCMS.

Note that you are required to hand in the solution for exercise ED.3 prior to the colloquium (14.05.2023, 23:59 at the latest). For this, you have to collaborate within your group.

Kind regards,
Your Concurrent Programming Team

Registration and Preparation for Exam T

Written on 09.05.23 (last change on 09.05.23) by Maximilian Köhl

Dear students,

on Monday, May 22, we will write Exam T, covering units A-D. The exam will take 1 hour and take place in the time frame 14:00 and 16:00. We use the remaining time before and after for organizational matters. Please register in LSF until Monday, May 15. If your study program does not… Read more

Dear students,

on Monday, May 22, we will write Exam T, covering units A-D. The exam will take 1 hour and take place in the time frame 14:00 and 16:00. We use the remaining time before and after for organizational matters. Please register in LSF until Monday, May 15. If your study program does not use LSF registration, please register on your personal status page instead.

To assist you in the final phase before the exam and answer your last urgent questions, our tutors are offering an extended Concurrency Café on Friday, May 19 from 12:00 to 16:00 in E1 3, SR014. We strongly recommend to commence your preparation well before these two days.

Kind regards,
Your concurrent programming team

Colloquia Room Change: 528 to 517

Written on 08.05.23 by Maximilian Köhl

Dear students,

Starting tomorrow, 09.05.2023, all colloquia which previously took place in room 528 will now take place in room 517.

Kind regards,
Your concurrent programming team

Bonus Exercise B-C

Written on 05.05.23 (last change on 06.05.23) by Maximilian Köhl

Dear students,

You will now find a Bonus Exercise B-C in dCMS.

Submitting solutions to this exercise is entirely optional, and we recommend you only work on it if you already have a deep understanding of the main materials presented in the lecture.

Note that you may also submit partial… Read more

Dear students,

You will now find a Bonus Exercise B-C in dCMS.

Submitting solutions to this exercise is entirely optional, and we recommend you only work on it if you already have a deep understanding of the main materials presented in the lecture.

Note that you may also submit partial solutions. If you do submit this exercise, you may be awarded bonus points. You can find more details on the bonus exercise sheet itself.

For this bonus exercise, you are not allowed to work in your group, i.e., you must solve it by yourself. Plagiarism will be punished by exclusion from the lecture and reporting to the examination board.

Kind regards,
Your Concurrent Programming Team

Exercise Sheet C

Written on 02.05.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet C in dCMS.

Note that you are required to hand in the solution for exercise EC.2 prior to the colloquium (07.05.2023, 23:59 at the latest). For this, you have to collaborate within your group.

Kind regards,
Your Concurrent Programming Team

Exercise Sheet B

Written on 24.04.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet B in dCMS.

Note that you are required to hand in the solution for exercise EB.2 prior to the colloquium (30.04.2023, 23:59 at the latest). For this, you have to collaborate within your group.

Kind regards,
Your Concurrent Programming Team

Colloquia Groups and Submission of Exercise EA.3

Written on 19.04.23 by Maximilian Köhl

Dear students,

We have finalized the formation of colloquia groups as well as the assignment of time slots to colloquia groups. You will find your group and slot on your personal status page in dCMS. To contact your teammates, use the forum. Their usernames are provided on your personal status page… Read more

Dear students,

We have finalized the formation of colloquia groups as well as the assignment of time slots to colloquia groups. You will find your group and slot on your personal status page in dCMS. To contact your teammates, use the forum. Their usernames are provided on your personal status page as well. Make sure you have activated your forum account, otherwise your teammates will not be able to contact you!

Furthermore, the system now accepts submission of solutions for Exercise EA.3. Note that this is a group submission, i.e., you have to collaborate within your group and submit a single solution together. The submission deadline is 23.04.2023, 23:59.

Kind regards,
Your Concurrent Programming Team

Exercise Sheet A and Tutorials

Written on 17.04.23 by Maximilian Köhl

Dear students,

You will now find the Exercise Sheet A in dCMS.

Note that you are required to hand in the solution for exercise EA.3 prior to the colloquium (23.04.2023, 23:59 at the latest). For this, you have to collaborate within your group. We will finalize the colloquia groups in the next… Read more

Dear students,

You will now find the Exercise Sheet A in dCMS.

Note that you are required to hand in the solution for exercise EA.3 prior to the colloquium (23.04.2023, 23:59 at the latest). For this, you have to collaborate within your group. We will finalize the colloquia groups in the next two days.

Furthermore, you will find your tutorial slot on your personal status page now.

Kind regards,
Your Concurrent Programming Team

Scheduling of Colloquia

Written on 13.04.23 by Maximilian Köhl

Dear students,

As explained, colloquia form an important component of our learning concept. See here for details.

The survey to schedule your preferred time slot for the colloquium is online now. You can find your personalized link to the survey on your personal status page in dCMS. You can… Read more

Dear students,

As explained, colloquia form an important component of our learning concept. See here for details.

The survey to schedule your preferred time slot for the colloquium is online now. You can find your personalized link to the survey on your personal status page in dCMS. You can update your preferences until Tuesday, 18.04.2023, 23:59. At least one member of each pre-formed group, and all students who do not pre-form a group, must submit the survey.

Until Tuesday, you can also form (and change) the colloquium groups yourself. Afterwards, we will complete the groups and assign you a time slot. You can find further information in the forum.

Kind regards,
Your Concurrent Programming Team

Show all

This is a module in the computer science Bachelor's programme and related programmes at Saarland University.

The module has been awarded the Preis des Fakultätentages Informatik 2013 and multiple Busy Beaver Awards for excellent teaching (in 2011, 2017, and 2019).


Concurrent Programming

In today's world, multi-core CPUs and other parallel architectures, such as graphics processors, are ubiquitous. However, programming and efficiently working with such systems is a major challenge, both theoretically and practically. This challenge arises due to the foundational principles underlying concurrency and the need to design efficient algorithms and software systems that can take advantage of these architectures.

The goal of the lecture is to familiarize students with the theory and application of concurrent programming. A tremendous challenge, without doubt.

In this course, participants will gain a comprehensive understanding of concurrency in computation as a foundational principle of modern computing sciences, both in theory and application. Through analysis and application of various formal models, participants will deepen their understanding of concurrency and learn to apply formal computing concepts correctly. The theoretical knowledge gained in the first part of the module will be applied to practical programming in the second part. Participants will learn about the programming paradigms "shared memory" and "message passing", starting with the programming language pseuCo. They will also learn to describe various phenomena of concurrent programming using formal models and derive concrete solutions for practical problems. Additionally, participants will examine concurrent programming practices with respect to their adequacy and effectiveness, focusing on the strategically adequate reaction to concurrency problems under tight time constraints.


Audience

The target audience of this module is primarily undergraduate students majoring in computer science or related fields. Students may enroll in this module as early as their second term. The only prerequisite is successful completion of the module Programming 1.


Organisation

The module starts on Tuesday, 11.04.2023. All elements will be held in-person.

Details of the organization and all formalities can be found on the Rules & Regulations page.

Lectures are scheduled to take place in-person on Mondays from 14:15 to 16:00 and on Tuesdays from 10:15 to 12:00 in the lecture hall HS 002 located in building E1 3.

Our team of tutors will provide support through tutorials that we plan to offer in English and German (depending on demand). During the registration process, you will have the option to indicate your preferred language. The tutorials will be held on Wednesdays either from 8:15 to 10:00 or from 10:15 to 12:00. Additionally, you can attend the Concurrency Café, where you can ask questions and receive more direct help. The Concurrency Café takes place on Thursdays from 14:00 to 16:00 and on Fridays from 14:00 to 16:00. You can also ask questions at any time in our forum.

In addition to lectures and tutorials, the module includes weekly colloquia. Colloquia are 15-minute sessions assigned to you and 2-3 other students in a peer group. In a colloquium, your tutor will assess whether you have adequately grasped the current module content. There will be a total of 8 colloquia scheduled on Mondays or Tuesdays throughout the teaching term. Passing at least 7 colloquia is a prerequisite for passing the module. You can find more information about the colloquia on the Rules & Regulations page.

Note that this module spans the teaching term in a somewhat unusual manner. Lecture season finishes early (prior to the practical project phase), and some weeks do not feature two lectures. Please refer to our calendar for all dates.

The schedule is still tentative and some dates may change.

Examination

The Concurrent Programming lecture is divided into two blocks: theory (𝓣) and application (𝓐), with each block spanning around four weeks. Following these blocks, the students will complete a practical project (𝓟) that concludes their learning experience. It is important to note that all three elements (𝓣, 𝓐, and 𝓟) must be passed to successfully pass the module (for more details, please refer to the Rules & Regulations page). There will be a written exam at the end of each lecture block, with the examination 𝓣 taking place on 22.05.2023 between 14:00 and 16:00 and the examination 𝓐 taking place on 01.08.2023 between 10:00 and 12:00. Re-examinations will be offered in early fall.


Registration

The registration will open during the first lecture on Tuesday, 11.04.2023 at 10:15.


Literature

The participants will get access to lecture material consisting of lecture notes and other resources that altogether cover the entire content of the lecture. Additional literature can also be found here.


Content

  • Concurrency as a Concept
    • Potential Parallelism
    • Actual Parallelism
    • Conceptional Parallelism
  • Concurrency in Practice
    • Object Orientation
    • Operation Systems
    • Multi-Core Processors, Coprocessors
    • Programmed Parallelism
    • Distributed Systems (Client-Server, Peer-to-Peer, Databases, Internet)
  • The Difficulty of Concurrency
    • Ressource Conflicts
    • Fairness
    • Mutual Exclusion
    • Deadlock
    • Livelock
    • Starvation
  • Foundations of Concurrency
    • Sequential vs. Concurrent Processes
    • States, Events, and Transitions
    • Transition Systems
    • Observable Behavior
    • Determinism vs. Nondeterminism
    • Algebras und Operators
  • CCS: The Calculus of Communicating Systems
    • Construction of Processes: Sequence, Choice, Recursion
    • Concurrency
    • Interaction
    • Structural Operational Semantics
    • Equivalence of Observations
    • Implementation Relations
    • CCS with Message Passing
  • Programming Concurrency
    • pseuCo
    • Message Passing in pseuCo
    • Shared Memory in pseuCo and Java
    • Monitors and Semaphors
    • Shared Objects and Threads in Java
    • Shared Objects and Threads as Transition Systems
  • Programming and Analysis Support
    • Deadlock Detection
    • Verification of Safety and Liveness
    • Model-Based Design Supporting Concurrency
    • Software-Architectures Supporting Concurrency
Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators