Lesson 1: Dice Race

Unplugged | Dice Race | Algorithms

Overview

In this lesson, students will relate the concept of algorithms back to real-life activities by playing the Dice Race game. The goal here is to start building the skills to translate real-world situations to online scenarios and vice versa.

Purpose

By introducing a basic concept like algorithms to the class in an unplugged activity, students who are intimidated by computers can still build a foundation of understanding on these topics. Algorithms are essential to computer science. In this lesson, students will learn how to translate instructions into a algorithm and how that plays a role in programming.

Agenda

Warm Up (15 min)

Main Activity (30 min)

Wrap Up (15 min)

Extended Learning

Objectives

Students will be able to:

  • Decompose large activities into a series of smaller events.
  • Arrange sequential events into their logical order.

Preparation

Links

For the Teacher

Vocabulary

  • Algorithm - A precise sequence of instructions for processes that can be executed by a computer

Support

Report a Bug

Teaching Guide

Warm Up (15 min)

Introduction

  • Ask your students what they did to get ready for school this morning.
    • Write their answers on the board.
    • If possible, put numbers next to their responses to indicate the order that they happen.
      • If students give responses out of order, have them help you put them in some kind of logical order.
      • Point out places where order matters and places where it doesn't.
  • Introduce students to the idea that it is possible to create algorithms for the things that we do everyday.
    • Give them a couple of examples, such as making breakfast, brushing teeth, planting a flower, and making paper airplanes.
  • Computers need algorithms and programs to show them how to do even simple things that we can do without thinking about them.
    • It can be challenging to describe something that comes naturally in enough detail for a computer to replicate.
  • Let's try doing this with a new and fun activity, like playing the Dice Race Game!

Vocabulary

This lesson has one vocabulary word that is important to review:

  • Algorithm - Say it with me: Al-go-ri-thm

A list of steps to finish a task.

Main Activity (30 min)

Real-Life Algorithms: Dice Race - Worksheet

Lesson Tip

You know your classroom best. As the teacher, decide if students should do this in pairs or small groups.

  • You can use algorithms to help describe things that people do every day. In this activity, we will create an algorithm to describe how we play the Dice Race Game.
  • The hardest part about getting a problem ready for a computer can be figuring out how to describe real-life activities. We’re going to get some practice by playing and describing the Dice Race game.

Directions:

  • Read the rules below.
  • Play a couple rounds of the Dice Race game.
    • As you’re playing, think about how you would describe everything that you’re doing.
    • What would it look like from the computer’s point of view?

Lesson Tip

Help the students see the game from a computer's point of view. If they need to roll the dice, then the computer needs to provide dice. If the student needs to play three turns, then the computer needs to loop through the steps multiple times.

Rules:

  • Set each player’s score to 0
  • Have the first player roll
  • Add points from that roll to player one’s total score
  • Have the next player roll
  • Add points from that roll to player two’s total score
  • Each player should go again two more times
  • Check each player’s total score to see who has the most points
  • Declare Winner
Game 1 Turn 1 Turn 2 Turn 3 Total
Player 1
Player 2

Circle the Winner!

Gather the class together and have each student complete the Real-Life Algorithms: Dice Race - Assessment. Once the students have completed the worksheet, have students share out their algorithms to the class. Open a discussion on the difference between an algorithm from a human's point of view and a computer's point of view.

Wrap Up (15 min)

Flash Chat: What did we learn?

  • How many of you were able to follow your classmates' algorithms to play the Dice Race Game?
  • What's the difference between an algorithm and a program?
    • An algorithm is the thinking behind what needs to happen, while the program is the actual instruction set that makes it happen.
    • An algorithm has to be translated into a program before a computer can run it.
  • Did the exercise leave anything out?
    • What would you have added to make the algorithm even better?
    • What if the algorithm had been only one step: "Play Dice Race"?
      • Would it have been easier or harder?
      • What if it were forty steps?
  • What was your favorite part about that activity?

Journaling

Having students write about what they learned, why it’s useful, and how they feel about it can help solidify any knowledge they obtained today and build a review sheet for them to look to in the future.

Journal Prompts:

  • What was today's lesson about
  • How do you feel about today's lesson?
  • What is an algorithm?
  • What are some algorithms you use in your daily life?

Extended Learning

Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.

Go Figure

  • Break the class up into teams.
  • Have each team come up with several steps that they can think of to complete a task.
  • Gather teams back together into one big group and have one team share their steps, without letting anyone know what the activity was that they had chosen.
  • Allow the rest of the class to try to guess what activity the algorithm is for.
  • Levels
  • 1
  • 2
  • 3
  • (click tabs to see student view)
View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

Standards Alignment

View full course alignment

CSTA K-12 Computer Science Standards

AP - Algorithms & Programming
  • 1B-AP-11 - Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.