Skip Navigation

Parallel Computing

By Bilal Qadar 30 minutes
Level
Grades 1-3
Subjects
Art,
Science and Technology,
Mathematics
components
  • Programming
  • Computing and Networks
Tools & Languages
Unplugged

Key Coding Concepts

  • Algorithms
  • Parallel Execution

Terminology

Algorithms

A step-by-step set of operations to be performed to help solve a problem

 

Parallel Events

Making things happen at the same time

Have you ever wondered how your code is able to run so quickly on a computer? In this activity, learners will explore parallel computing - the concept behind the speed of computers.

Materials

  • Pencil crayons
  • Scissors
  • Tape

Before the lesson…

  • Review key coding concepts and ensure you are confident describing them to your group
  • Complete the lesson’s main activity, ensuring you are comfortable with all steps
  • Print 5 robot sheets per group
  • Cut each robot sheet into 4 pieces, each with a robot on it
  • Split learners into groups of 4

Introduction

  1. Conduct a discussion about hardware and software.

    Ask: “What is hardware?” (A: Hardware is all the physical objects that make up a computer. These are all objects that you can hold in your hands. Examples of hardware are keyboards, mice, monitors, central processing unit (CPU), etc.)

    Ask: “What is software?” (A: These are the written instructions that we write so our computer knows what to do. This is code!)

    Ask: “What happens when we combine hardware and software?” (A: We get smart technology! Examples are like phones, smart watches, airplanes, etc.)

    Say: “Hardware and software are always working together. Software is the instructions written by a human which hardware uses to perform a task. The relationship between hardware and software is similar to how we interact with our cars! While our vehicle does all the work getting us from point A to point B, it is useless without our instructions on where to go.”

  2. Say: “Today, we will learn about two different ways that hardware reads our instructions. Computers read code just like humans read books, top to bottom. Computers will read one line and perform the action.”

Activity #1

  1. Say: “Today, we are going to be the hardware! We are going to perform an algorithm for giving a robot some color.”

    Ask: “What is an algorithm?” (A: A set of step-by-step instructions to follow in order to solve a problem.)

  2. Write the ‘Robot Colour Algorithm’ somewhere that all learners can see:

    Colour 1, black
    Colour 2, black
    Colour 3, White
    Colour 4, White
    Colour 5, Blue
    Colour 6, Yellow
    Colour 8,Green
    Colour 9, Orange
    Colour 10, Orange
    Colour 11, Purple
    Colour 12, Purple
    Colour 13, Black
    Colour 14, Black

  3. Explain the rules of the activity: The goal for each group is to bring as many robots to life as possible! For the first challenge, learners will work together on coloring in robots following the Robot Colour Algorithm. Learners take turns performing 1 step of the algorithm at a time. For example, Learner 1 must finish step 1 before learner 2 can start on step 2.

  4. Put a timer of 3 minutes up, and have learners try to make as many robots as possible.

  5. Explain to the learners that the activity they just did was an example of single thread computing.

    Say: “Single thread means that a computer only processes one line of code at a time. This was a big factor in why first generation computers were so slow. Imagine if you had 5 lines of code, and each line took 5 seconds to run. How long would the code take to run? 25 seconds!

    It wasn’t until the early 2000s when multithread computers began to show up in the market. Multi threaded processors allow computers to perform multiple lines of code at a time as parallel events! Let’s think back to our 5 line program from before. Imagine now our computer can perform 5 lines at a time. This program now only takes 5 seconds to run! That is 500% better! Modern day computers now have over 64 threads, allowing them to perform 64 processes at a time. Let’s test if threaded processors are actually faster!”

  6. Have the learners perform the same algorithm as before. However, this time learners can split the robot up. Have learners cut the robots into three parts, the head, the body and the legs. Each team should have at least 10 of each. One person’s job is to only colour the face of the robot. The second person's job is to colour the body of the robot. The third person’s job is to color in the legs and the last person’s job is to tape the robot back together.

    Say: “Let’s see how this compares to our single thread operation from before.”

Activity #2 (Optional): How threaded processors complete multiple tasks that are dependent on each other

  1. Say: “While going through the lesson, you may have wondered how a processor can perform multiple tasks at once if they are dependent on each other.”
  2. Write the following instructions somewhere learners can see:
    1. Set pineapple = ‘Spongebob’
    2. Change pineapple = ‘Squarepants’’
    3. Read value of pineapple out loud

  3. Ask learners to shout out what they think pineapple is equal to if all these steps happened at the same time. (A: Since they happen at the same time, sentence is equal to nothing!)

  4. Say: “The problem is we need step 1 and 2 to finish processing before step 3. Luckily, companies such as Intel and Qualcomm have thought of this! Processors are very intelligent so they choose which processes they can and can’t do. In the example above, the processor will skip line 2 and 3 and move onto something else, waiting for line 1 to finish. This process is called pipelining.”

Reflection

  1. Ask learners to provide you with individual words or concepts that they feel were most important to this lesson. As words are provided, write them somewhere all learners can see.

  2. Give learners a few minutes to write a sentence describing what they learned using at least two of brainstormed words.

  3. Ask learners to share their sentences with the group.

Learning Outcomes

I can create an algorithm.
I can learn programming concepts without computers.
I can explain the difference between single thread and multi thread computers.
I can explain the relationship between hardware and software.
Bonus: I can explain what CPU pipelining is.

Assessment Ideas

Have learners write an algorithm on how to draw a robot. The instructions should be clear and concise. Learners should find a partner and have them try to draw the robot according to their instructions. Encourage learners to keep revising their algorithm until others are drawing their robot the way they envisioned. Bonus, have learners include instructions for multiple threads. Learners should indicate which steps can be performed simultaneously.

Ask learners to think of methods to increase the efficiency of making robots. Learners should identify hold ups, and see if they can determine ways to make the process faster!

Modifications

Rather than drawing a robot, change the algorithm to have students create Lego objects.

Teach lessons that are tied to your existing curriculum! https://bit.ly/CLClessons

r

More Lesson Plans For Grades 1-3

    View All Lesson Plans

    Explore lessons based on components

    The K-12 Computer Science Framework

    Although learning how to build digital projects is a key part of Computer Science education, students should also learn a wider set of skills and competencies that will help them to harness the power of digital technologies as both creators and consumers. A comprehensive approach to K-12 Computer Science education includes learning about the following five focus areas:

    View Framework ➝

    Programming

    By the end of high school, students should be able to create a simple computer program.

    Computing and Networks

    By the end of high school, students should understand and be able to use the tools and devices commonly used to build digital projects.

    Data

    By the end of high school, students should be able to explain how we use computers to create, store, organize, and analyze data.

    Technology and Society

    By the end of high school, students should be able to explore the ways in which technology and society have mutually shaped each other.

    Design

    By the end of high school, students should be able to apply design principles to the digital projects they create.