Multithreaded programming, semaphores, monitors, lock-free synchronization, resource allocation; client/server distributed systems programming, logical clocks, global snapshots and property evaluation, leader election, consensus, protection, and transactions.
Electrical Engineering 422C (or 322) and 360C with a grade of at least C-.
**EE 360C (Algorithms) is a new pre-req for this course. For Spring 2019 only, you will be allowed to use 360C as a co-req. This means you will be allowed to take both 360P and 360C at the same time. If you are registered for 360C AND you also want to register for 360P, please come to the ECE advising office and talk to an advisor**.