Out of Order
Find and fix mistakes in a program in order to make a delivery cart work as it was meant to.
Lesson plan
1. Prepare
- Read through the pupil material in the LEGO® Education SPIKE™ App.
2. Engage (5 Min.)
- Use the ideas in the Ignite a Discussion section below to engage your pupils in a discussion relating to this lesson.
- Use the video to explain the lesson.
3. Explore (15 Min.)
- Have your pupils work in pairs to build the cart.
- Ask them to play the program, keeping in mind that it has some bugs that must be fixed.
4. Explain (5 Min.)
- Ask your pupils to share their methods for finding bugs.
5. Elaborate (15 Min.)
- Have your pupils play with the second programming stack.
- Ask them to make a list of all the bugs they think they've found.
- Allow them a few minutes to correct the program.
- Have each team write their own program to make their cart follow a second path shown in the video.
- To avoid introducing bugs into their programs, make sure that they document their key actions.
- Don't forget to leave some time for tidying up.
6. Evaluate
- Give feedback on each pupil's performance.
- In order to simplify the process, you can use the assessment rubrics that have been provided.
Ignite a Discussion
Start a discussion about prototyping by asking relevant questions. Here are a few suggestions:
- How do you fix something that goes wrong on your bike?
- What do you do when your phone or tablet update fails?
- When solving a maths problem, how do you check your work?
Have your pupils watch this video to see what they're about to do.
Building Tips
A Funny Little Cart
This delivery cart has a unique way of moving around. The two Medium Motors in front are for driving forwards and backwards and the Large Motor at the back is for steering. This model is intentionally designed to be a little unpredictable.
Coding Tips
Main Program
Possible Solution
Differentiation
Simplify this lesson by:
- Conducting the lesson in larger groups, guiding your pupils towards the bugs they have to correct
Take this lesson to the next level by:
- Creating a ‘problem cards’ pdf and seeing how many problems each team can solve during a lesson
- Arranging these problems in an increasing order of complexity
Assessment Opportunities
Teacher Observation Checklist
Establish a scale that suits your needs, for example:
- Partially accomplished
- Fully accomplished
- Overachieved
Use the following success criteria to evaluate your pupils' progress:
- The pupils can find bugs in a program.
- The pupils can fix bugs after finding them.
- The pupils can correctly document modifications and improvements to a program.
Self-Assessment
Have each pupil choose the brick that they feel best represents their performance.
- Blue: I've found some bugs in the program.
- Yellow: I've found and fixed all of the bugs in the program.
- Violet: I've found and fixed all of the bugs in the program and have recorded the fixes so that other people can modify their programs based on my notes.
Peer-Assessment
Encourage your pupils to provide feedback to one another by:
- Having one pupil use the coloured brick scale above to score another pupil’s performance
- Asking them to present constructive feedback to one another so that they can improve their group’s performance during the next lesson
Language Arts Extension
To incorporate the development of language arts skills:
- Have your pupils create a detailed checklist of elements to verify as they're coding.
- Introduce them to adding comments to their programs, focusing on the importance of making their comments precise and easily understood by anyone.
Note: This will require additional time.
Maths Extension
To incorporate the development of maths skills:
- Give a maths problem and demonstrate how to debug it, focusing on key concepts, for example:
▷ Correctly isolating the problem to be solved
▷ Reviewing each step of the process
Note: This will require additional time.
Career Links
The pupils who enjoyed this lesson might be interested in exploring these career pathways:
- Manufacturing and Engineering (Pre-Engineering)
- Media and Communication Arts (Digital Media)
- Transportation (Automotive Technology)
Teacher Support
The pupils will:
- Identify and fix programming problems
LEGO® Education SPIKE™ Prime Set
CAS Computing Progression Pathways
Algorithms:
Represents solutions using a structured notation. (AL) (AB)
Programming and Development:
Designs, writes and debugs modular programs using procedures. (AL) (DE) (AB) (GE)