While we are no longer developing Digital Mysteries and Thinking Kit, we are leaving our website up for those of you interested in the ideas behind the Apps.


Bob’s Algorithm

bobs algorythm app

Audience: KS2

Subject: Computing

Topic: Logical Reasoning, Algorithms, Variables, Passwords, Digital Literacy

Question: Can you write Bob’s algorithm in one line and show what the password will be for a different name and website?

Author: Reflective Thinking




This mystery is about a simple password generation algorithm that ‘Bob’ suggested to his family that can help them create unique passwords for each family member and for each website. Through explaining how his algorithm works, ‘Bob’ explains what an algorithm is by making basic use of variables and some simple logic.

The task has been designed for the curriculum topic ‘use logical reasoning to explain how simple algorithms work’. It also provides the opportunity to refresh students’ understanding of other areas in the earlier stages of the curriculum such as algorithms and variables while they apply logical reasoning skills to understand the behaviour of an algorithm and predict its output. The mystery also demonstrates to the students how the result of the same algorithm differs based on its initial state and its input variables.

In addition to the programming-related aspects of the curriculum, the mystery also brings students’ attention to digital literacy with regards to keeping personal information private (such as passwords), and the importance of choosing strong, private, yet easy to remember passwords.

’Bob’s password algorithm’ can be used:

  • To introduce new concepts such as logical reasoning
  • To review topics such as algorithms and variables
  • As a tool for assessing students’ understanding of algorithms, how variables are used, and how to follow up and execute an algorithm using logical reasoning

Learning outcomes:

  • Use logical reasoning to understand how a simple algorithm works
  • Understand variables and terms such as initial values and input variable
  • Recognise that the same algorithm can produce different outputs depending on its initialization values (in this case the person’s name), and its input variables (in this case the secret number and the website name)
  • Understand the importance of keeping passwords secret
  • Learn some ideas on how to create their own algorithm to gene