The aim of the course is to provide the conceptual foundation for concurrent systems and the ability to construct small concurrent programs. In a bit more detail, after completing the course the student is expected to: Understand the foundational concepts for concurrency: processes, synchronisation and communication. Understand models for concurrency: Petri-nets, transitions systems, CCS-like process expressions Have knowledge of verification concepts: Safety and progress properties, invariants, model checking. Understand synchronisation and communication mechanisms: Semaphores, monitors, synchronous and asynchronous communication and how to use these to solve clasical concurrency problems. Posses knowledge of implementation techniques and principles: HW-architectures, multiprogramming, threads, thread-libraries, high-level languages. Master thread programming in Java and be able to design and construct small parallel programs, e.g multithreaded applications or simple controlsystems. Possess knowledge of designprinciples: SW-architectures.
Forelæsninger, 2 mindre obligatoriske opgaver, teori og lab-øvelser, miniprojekt
4-timers skriftlig eksamen med karakter efter 13-skalaen.I løbet af semesteret stilles to obligatoriske afleveringsopgaver og et mini-projekt. Aflevering af de to obligatoriske opgaver samt aflevering og godkendelse af mini-projektet er en forudsætning for at kunne tilmeldes eksamen. Besvarelserne vil dog ikke indgå i karakteren.
Udleverede noter om Petri net og semantik.