Covers the basics of parallel programming, including concurrency, forms of parallelism, synchronization, and programming models like PThreads and OpenMP.
Covers the evolution of computer science, from Moore's Law to multicores, research on parallelizing Lisp code, experiences at UC Berkeley and Microsoft Research, and insights on cloud computing and faculty management.
Explores parallelism in programming, emphasizing trade-offs between programmability and performance, and introduces shared memory parallel programming using OpenMP.
Explores synchronization principles using locks and barriers, emphasizing efficient hardware-supported implementations and coordination mechanisms like OpenMP.