- Lab 0 - Introductory class (critical section, mutual exclusion, deadlock, starvation)
- Lab 1 - Threads and Synchronization in Java (simple implementation tasks)
- Lab 2 - Condition Waiting in Java (The Bounded Buffer Problem - Producers-Consumers)
- Lab 3 - The Dining Philosophers Problem (implementation of 5 variants, performace testing and comparison)
- Lab 4 - Trace Theory (graph grammar models, Foata Normal Form and Diekert graph)
- Lab 5 - Trace Theory (thread scheduler in Java based on Foata classes)
- Lab 6 - Dependency Analysis Tool (dependency and independecy relations, Foata Normal Form, dependency graph)
- Lab 7
- Lab 8