Coding Efficiency
Learning Objectives
- Code a solution to be fit for purpose.
- Know the importance of code efficiency.
- Learn to detect and correct errors and refine programs.
Lesson Description
This series of three Computing coding lessons uses the real-life context of the America’s Cup race start in the form of a coding game to support and engage students in learning to code. They are challenged to code their foiling race boat to cross the start line as close to the start gun as possible but not before!
This engaging series of lessons will promote computational thinking, providing both a challenge and a competitive experience. Throughout this topic, students will gain an understanding of the importance of coding efficiency by exploring a range of algorithmic solutions developed using code blocks. They will sequence instructions to develop a program which they will test and then make further refinements to.
This unit comprises of a set of three editable lesson presentations (including teacher notes) which support the underpinning computational thinking concepts and provide the teacher with guidance and suggestions for further exploration. A Google classroom link is provided to allow easy sharing of the resources with students.


Use this link to access and share the game resource with students for use in all three lessons.




A two minute video from INEOS TEAM UK highlighting the crucial role played by cutting edge programming and software design in the development of a winning race boat and professional sports team.

Find out all about how INEOS TEAM UK are using the STEM subjects in their bid to win the 36th America’s Cup

Curriculum Links
Key stage 2
Pupils should be taught to:
- design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts
- use sequence, selection, and repetition in programs; work with variables and various forms of input and output
- use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs
Key stage 3
Pupils should be taught to:
- design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems
- understand several key algorithms that reflect computational thinking [for example, ones for sorting and searching]; use logical reasoning to compare the utility of alternative algorithms for the same problem
- use two or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions