Led by Edsger Dijkstra Simulacrum

About this course
Concurrent programming in Java with the discipline of correctness: threads, synchronisation, the Java Memory Model, locks, executors, concurrent collections, and the proof that concurrent programs are correct rather than merely apparently working.