Parallel Programming: FundamentalsCovers the basics of parallel programming, including exploiting parallelism in algorithms and the importance of avoiding race conditions.
Threads and LocksExplores threads in programming, shared data challenges, locks, and thread management in graphical interfaces and web applications.
Principles of ParallelismCovers the basics of parallelism, including physical examples, historical context, multicore era, and parallel collections in Scala.
Concurrency OverviewExplores the significance of concurrency in enhancing system performance and responsiveness, emphasizing the need for synchronization and atomicity to prevent race conditions and non-determinism.
Concurrency with FuturesExplores futures as a structured approach to concurrency, simplifying parallel tasks and input-output operations.
Readers-writer LockIntroduces the readers-writer lock for handling concurrency in scenarios with frequent reads and occasional updates.
Concurrency: VolatileExplores volatile variables in Java for concurrent programming and synchronization importance.