Lab
Concurrent and Event-Based Programming
Laboratory page
This page is outdated, and no longer maintained. Please follow the lab section on Campus Virtual.
Authors: Dan Cosma, Petru Mierlutiu, Vlad Nemes (c) 2008-2022
Updated: 26 September 2021
Links for connecting to the online labs, where applicable
- available on th Campus Vitual page
Projects
During the lab classes, students must develop one medium-sized project, working in teams of at most 4 persons
Students will attend the lab and submit the project with their team, at the date they were registered to.
Projects must be written in Java. The lab supervisor may approve using other platforms in special cases. Projects must be designed to deal with all concurrency problems specific to the chosen subject, such as deadlock, livelock, starvation, visibility, etc. Project submission after the deadline leads to penalties.
Project description
The project can be implemented as a local application or a distributed one. The project deadline is Week 12.
Students can choose the specification of projects, which has to be approved by the lab supervisor.
Examples of projects (only partially translated from Romanian, for now):
Course page
All information about the course, including slides, exam dates and grades are available on the course site.
Resources
Programare concurenta
- Introducere: semafoare/lacate/variabile de conditie in UNIX.
- Probleme clasice de sincronizare.
- Semafoare in java.
- Monitoare in Java : wait() si tot acolo vezi si notify(), notifyAll(); synchronized.
- Tutorialul de Java - Probleme de concurenta
Programare bazata pe evenimente
- From Structured to Event-Driven Programming
- Event-Driven Programming (Wikipedia)
- Java Swing Tutorial: Writing Event Listeners
- JMS Tutorial
- Tiparul de programare Observer
Information
For questions please contact the lab supervisors by e-mail:
- Dan Cosma, at adress danc at cs -dot- upt dot ro.