Everyday Algorithms
Time 2.6 hrs

Difficulty Intermediate
Prerequisites Instantiation
Departments Science
Authors Sandra Kuipers
Groupings Individual
Minimum Year Group None


Elevator Challenge (Part A)


This work is shared under the following license: Creative Commons BY-SA-NC


Learner Outcomes
Students will:
  • ...
Competency Focus
  • ...
Interdisciplinary Connections
  • ...
What was successful? What needs changing? Alternative Assessments and Lesson Ideas? What other Differentiation Ideas/Plans could be used?
  • ...
Any CC attribution, thanks, credit, etc.

This page requires you to be logged in to access it. Please login and try again.
5 mins
Everyday Algorithms
  • When was the last time you hopped in an elevator?
  • Chances are, you pressed a button, and didn't think much about the computer controlling it.
  • If you did, it might have been to observe that the elevator was slow, or going to wrong direction.
  • What kind of logic actually controls where an elevator goes, and where it stops?
  • Sometimes it seems like there isn't any logic at all ...

  • In this unit, you'll explore some of the algorithms behind elevators, and have an opportunity to write your own elevator logic. Maybe something faster, and smarter!
20 mins
How Elevators Think

Check out:

The Hidden Science of Elevators

This covers a lot of the algorithms behind elevators, and might explain why elevators sometimes have a mind of their own.

10 mins
Future Algorithms
  • Elevators may have been around since the 1800's, but the underlying algorithms are still being changed and improved upon.
  • One company is even working on an elevator system with two cars per elevator shaft.
  • Consider, what kind of complexity would that add to the algorithm?
  • What kinds of new conditions could occur with two cars instead of one?

Check out the Wired article:

Sticking Two Elevators in One Shaft Is Totally Safe—And a Great Idea

120 mins
A Simple Elevator

Elevator algorithms can get pretty complex. Before we consider all the algorithms other people have created, we're going to try our hand at creating our own simple elevator in Unity.

  • Load up Unity and create a new project.
  • There are no tutorials here: you're free to experiment with your own solutions.
  • Your goal is to create a Simple Elevator:
    • A single elevator shaft with a single car.
    • A number of floors, around 5 to 10 to start with.
    • A call button on each floor.
    • A main camera, aimed so we can see all the floors and buttons.
  • Consider the algorithm (set of rules) your elevator could follow:
    • What happens when a call button is pressed?
    • What happens if the elevator is already called to a different floor?


Don't worry about making your elevator system too complex ... yet! This is Part A of a two-part unit. In Part B, you'll have the opportunity to refine your algorithm, add more floors, and more elevator shafts.

  • As a note, you don't need any fancy graphics. The elevator and buttons can be as simple as default 3D cubes. You also don't need buttons on the inside of the elevator, or even an inside at all.
  • If you're stuck figuring out how to get your elevator to move at a consistent rate, check out the Vector3.MoveTowards docs.
  • Once you've programmed your simple elevator, upload the project to Drive and share a link to the project folder as evidence of your learning in this unit.
There are no records to display.
Powered by Gibbon v27.0.00dev

Founded by Ross Parker at ICHK Secondary | Built by Ross Parker, Sandra Kuipers and the Gibbon community
Copyright © Gibbon Foundation 2010-2024 | Gibbon™ of Gibbon Education Ltd. (Hong Kong)
Created under the GNU GPL | Credits | Translators | Support