AGILE GAMES

Logo Maze (Why We Test First)

AGILE GAMES

Logo Maze (Why We Test First)

Timing

20-30 minutes

Materials

  • 1-pack of sticky notes
  • pens for each group of 3-5 people
  • dry erase board, table, window, or wall to set up the maze

Instructions

Explain to the audience that we’re going to play a game that allows them to program a robotic turtle to navigate through a maze, as pictured below. There are four simple commands in our programming language: forward, forward until it hits a wall, right 90 degrees, and left 90 degrees. You will use the arrows as pictured as symbols in writing your program. We’ll need at least two groups of 3 – 5 people, so please pick your group.

Group Instructions

  • The picture is to-scale, with a turtle being one post-it note tall. I’m also creating the same maze out of Post-it notes here (you’ll do this as they write their code).
  • Each team must pick some programmers and an artist.
  • Artist: please draw a turtle on a Post-it note. Put your team’s name on the turtle.
  • Programmers: select and write down each of the symbols required to get the turtle pictured here to the exit at the top left of the maze. We also need someone from each group to draw a turtle on a post-it note.

Facilitator says

  • What questions do you have?
  • OK, go!
  • Once you’re finished making the maze out of post-its, ask who’s ready. Groups often need a few more minutes–announce that they can have up to five more minutes and set a timer.

Running the simulation

  • For any team that is ready, collect their turtle.
  • Once you have ALL the turtles, ask the programmers to write their team name on their program, and pass their code to another team.
  • Meanwhile, line up the turtles at the front of the maze.
  • SPOILER ALERT–Now explain the algorithm by which you’ll test the teams. Every team is responsible for giving you, the CPU, one symbol at a time from the code they have in front of them. You’ll point to a turtle and the team with the corresponding code must give you the next symbol.  Since most (or all) teams wrote with the assumption they’d be the only turtle in the environment, the turtles would crash into one another. Turtles cannot pass through one another, so if a turtle hits another turtle, the command is aborted. Execute the directions as well as any three-dimensional physical robot would under the same circumstances.

Debrief

  • What happened here?
  • Why were there so many crashes?
  • What could you change to get your robot through the maze?
  • If you could add one or two commands to the language, what would they be?
  • Does anyone want to try again? (If so, see me after class!)

Learning Points

  • There are some environmental factors you cannot predict until you test in a realistic environment
  • Testing first leads to the discovery of these issues sooner, and leads to more robust code.

Facilitator Notes

Why is this called Logo Maze? It’s inspired by the plotters that were programmed in the Logo programming language, which was one of my first programming languages.
Can I use a more complex maze? Surprisingly enough, this is complex enough. Anything tougher would distract people from the lesson.

About Tasty Cupcakes

This content was originally published on Tasty Cupcakes, a community-run website founded by Michael McCullough and Don McGreal after they presented a series of games at Agile2008 in Toronto. The site’s tagline was “fuel for invention and learning.” After 15 years at TastyCupcakes.org, the content has found a new permanent home here at Agile Alliance.

The games, techniques, and approaches presented are here to use and explore. All we ask is that you tell others about us and give us some feedback on the games themselves. All of this work is licensed under a Creative Commons Attribution 4.0 International License.

Got feedback? Join the conversation!

Explore additional Agile Games

Timings: 5-10 mins Materials: 2 people (standing up) Instructions: The pair must tell a story about something imaginary they did together, but one of the pair can only interact with the story by saying the word "no". When the partner hears the word "…
Timing: 30-45 minutes (depending upon the complexity, emotion, or controversy around the topic) Materials: None Instructions: This is typically used in retrospectives but could be used by teams to critique or evaluate potential options at any time…
Timing: Up to 60 minutes (depending on the number of people) Materials Download & print Positive Change Canvas from ivopeksens.com; have Sharpies or pens for participants. Can be used individually or in larger groups of people. Instructions Po…

Ready to join Agile Alliance?

Unlock members-only access to online learning sessions, Agile resources, annual conference discounts, and more! And when you join, you’ll be supporting our member initiatives, regional events, and global community groups.

Privacy Preference Center

IMPORTANT: We have transitioned to a new membership platform. If you have not already done so, you will need to SET UP AN ACCOUNT on the new platform to establish your user profile. Your previous login credentials will not work until you do this set up.

When you see the login screen, choose “Set up Account” and follow the prompts to create your new account. You can choose to log in using your social credentials for either Google or Linkedin (recommended), or you can set up your account using an email address.