Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Explores memory consistency, coherence, weak consistency, and sequential consistency, emphasizing the importance of language-level consistency and data race-free programming.