Day 5 - Parallel and Distributed Computing

Day 5: Parallel and Distributed Computing

Learning Objectives

Essential Questions

Materials Needed

Vocabulary

Procedure (50 minutes)

Opening (8 minutes)

  1. Review and Connection (3 minutes)

    • Review network concepts from previous lessons
    • Connect to today's focus on how networks enable parallel and distributed computing
  2. Warm-up Activity (5 minutes)

    • Present a task that would take a long time for one person (e.g., sorting a large deck of cards)
    • Ask students: "How could we make this faster by involving more people?"
    • Discuss strategies for dividing the work
    • Introduce the concept of parallel processing

Main Activities (32 minutes)

  1. Lecture: Parallel and Distributed Computing Concepts (12 minutes)

    • Define the three computational models:
      • Sequential computing: Operations performed one at a time in order
      • Parallel computing: Program broken into smaller operations performed simultaneously
      • Distributed computing: Multiple devices used to run a program
    • Explain key concepts:
      • Task decomposition: Breaking problems into smaller tasks
      • Speedup: Sequential time divided by parallel time
      • Amdahl's Law: Speedup limited by sequential portion
      • Overhead: Additional time required for coordination
    • Discuss real-world applications:
      • Scientific simulations
      • Weather forecasting
      • Video rendering
      • Big data processing
      • Cryptocurrency mining
    • Explain challenges of parallel/distributed computing:
      • Coordination overhead
      • Synchronization issues
      • Communication costs
      • Programming complexity
  2. Demonstration: How Tasks Can Be Split Across Systems (8 minutes)

    • Show examples of problems that can be parallelized:
      • Searching through data
      • Matrix operations
      • Image processing
      • Simulation calculations
    • Demonstrate how to calculate speedup:
      • Speedup = Sequential time / Parallel time
    • Show how adding more processors affects speedup
    • Illustrate Amdahl's Law with examples
    • Discuss the limits of parallelization
  3. Activity: Modeling Parallel Problem-Solving (12 minutes)

    • Divide class into groups of 4-5 students
    • Assign each group a task that can be parallelized (e.g., sorting numbers, counting words, finding specific items)
    • Have groups perform the task in two ways:
      • Sequential: One person does the entire task
      • Parallel: Task is divided among group members
    • Groups should time both approaches
    • Have groups calculate the speedup achieved
    • Discuss factors that affected the speedup:
      • Overhead of dividing the work
      • Communication between group members
      • Portions that couldn't be parallelized

Closing (10 minutes)

  1. Discussion: Efficiency Gains and Challenges (5 minutes)

    • Lead a discussion on what students observed in the activity
    • Ask groups to share their speedup results
    • Discuss why the speedup wasn't perfectly proportional to the number of people
    • Connect to real-world parallel and distributed systems
    • Address any misconceptions about parallelization
  2. Exit Ticket: Parallel Processing Design (5 minutes)

    • Present students with a problem scenario
    • Students design a solution that uses parallel processing
    • Students explain how they would divide the task
    • Students identify potential challenges in their approach
    • Collect responses before students leave

Assessment

Differentiation

For Advanced Students

For Struggling Students

Homework/Extension

Teacher Notes