Course Outcomes
Formally reason about concurrent systems and executions
Formally reason about concurrent systems and executions
Define correctness in concurrent systems
Define basic correctness principles of concurrent systems including deadlock, live-lock, safety, and general liveness.
Analyze concurrent objects for correctness
Use tools to analyze concurrent objects for correctness and performance
Learn best-practices for spin locks and monitors
Learn best-practices for spin locks and monitors
Discuss wait-free versus lock-free implementations
Compare and contrast wait-free and lock-free properties in concurrent objects
Understand and use concurrent data structures
Understand and use concurrent data structures
Correctly use barriers and fences
Correctly use barriers and fences
Have working knowledge of tools and techniques for testing c
Have working knowledge of tools and techniques for testing concurrent programs
Be familiar to libraries to support concurrent programming i
Be familiar to libraries to support concurrent programming in C, C , C#, and Java
Describe future trends in multi-processor programming
Describe future trends in multi-processor programming