Principles of ParallelismCovers the basics of parallelism, including physical examples, historical context, multicore era, and parallel collections in Scala.
Parallel Scan LeftIntroduces parallel scan left in Scala, covering its properties, sequential solutions, and efficient parallel computation techniques.
Fold Reduce OperationsExplores fold (reduce) operations in parallel programming using Scala, covering associative operations, expression trees, parallel reduction, and array reduction.
Associative Operations: FundamentalsCovers associative and commutative operations in parallel programming, using mathematical examples and discussing challenges in preserving associativity.
Parallel Programming: FundamentalsCovers the basics of parallel programming, including exploiting parallelism in algorithms and the importance of avoiding race conditions.
Implementing CombinersCovers the implementation of combiners in parallel programming in Scala, including efficient combine methods and set data structures.
Natural NumbersCovers the concept of natural numbers, including properties like commutativity and associativity.
Concurrency with FuturesExplores futures as a structured approach to concurrency, simplifying parallel tasks and input-output operations.
Safe Mutation in ScalaExplores safe mutation in Scala, emphasizing the management of mutable state and its significance in interactions, modeling, and implementation efficiency.