Flashing Wheels Lesson 3
In this lesson students use their paper prototypes and algorithms from the previous lesson to create their micro:bit prototype using the MakeCode editor
- Computing: Algorithms, pseudocode, logical thinking, programming, iteration, loops, selection, variables, testing and debugging, paired programming, evaluation
- Science: Day and Night / Sensors
- Citizenship: Road safety
- Design and Technology: Product design
Skills: Designing, analysing, problem solving, team working, presenting
It is assumed that you have first completed Lesson 1 and 2 of the Flashing Wheels activity. Although some experience of programming and using iteration, loops, selection and variables and using micro:bit is helpful, you can adjust the lesson accordingly for your students and spend more on these areas if necessary.
In this lesson students use their paper prototypes and algorithms from the previous lesson to create their micro:bit prototype using the MakeCode editor.
- To follow a pseudocode algorithm to program a ‘Flashing wheel’ device
- To use iteration, loops, selection and variables in code as appropriate
- To use paired programming if helpful
- To test and debug code
- To evaluate and present a complete Flashing Wheels solution
- Introduction (5 minutes)
- MakeCode environment (5 minutes)
- Programming (paired) (15 minutes)
- Testing and refining code (15 minutes)
- Wrap up (5 minutes)
- Remind students they will be coding their ‘Flashing Wheels’ device (slide 2) and recap their algorithms from last lesson (slide 3), inviting them to share how the algorithms will help them in their coding today. Share the learning objectives on slide 4 if you wish.
Programming their Flashing Wheels solution
- If necessary, use Sarah’s Flashing Wheels example to illustrate moving from algorithm to programming (slide 5) and give students time to explore the environment or let them get started straight away.
- If helpful, introduce paired programming to students if they have not used it already (slide 7), inviting them to share their ideas about why it is helpful. Get them to choose the initial driver and navigator, though ensure they swop roles during programming.
- As they program, encourage students to work through the problems together (e.g. what is the ‘right’ level for darkness?), thinking about why the program is behaving that way (logical thinking) and to regularly test and debug their code together.
- If they encounter issues, encourage them to work with another pair to problem solve.
Screenshots of example code can be found in the lesson presentation slides above, or you may wish to download the example hex files.
Testing and refining code
- As students finish, ask them to share their work with other students to help them to test and refine their code.
- They can then evaluate their work (slide 8).
Presenting Flashing Wheels devices
- Help students to set up a ‘station’ with their work on display (the user persona, paper and micro:bit prototype) and have a class showcase of their work where they explain what they have created.
- You could invite other students and/or teachers. Invite students to present their work and others to give feedback (e.g. WWW/EBI, 2 stars and a wish)
- Discuss any common issues and highlight key learning as appropriate to your students.
Lesson wrap up
Explain that next lesson they will be using the knowledge, understand and skills they have been developing over the last 4 lessons to design their own innovation to address a problem relating to safety for children and remind them of the micro:bit challenge (slide 9). Explain that next lesson they will be using the knowledge, understand and skills they have been developing over the last 4 lessons to design their own innovation to address a problem relating to safety for children and remind them of the micro:bit challenge (slide 9).
Extension / homework
- You could video students presenting their work and they could add it to an assessment portfolio.
- You could get students to start thinking up ideas for the Global Challenge for homework.
- You could also give out printed versions of the blocks to sequence before coding and help students to program their device by working with others, or through additional support.
Stretch & challenge:
Students can be challenged to consider the most efficient way of writing the program and to explain why. They can act as ‘expert troubleshooters’ to help others if workable and if students wish, they could also use one of the other editors (e.g. python)
Opportunities for assessment:
- You could ask students to create an assessment portfolio of their work for formal assessment, or you could informally assess their work as they present it and from their programs.