Navigation
Home Page

Algorithms & Programs

 

 

The national curriculum for computing aims to ensure that all pupils:

  • can understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms and data representation.
  • can analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to solve such problems.

 

Key stage 1

Pupils should be taught to:

  • understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions
  • create and debug simple programs
  • use logical reasoning to predict the behaviour of simple programs

 

 

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 
  • select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information

 

Year 1

Create and debug simple programs.

Children can work out what is wrong with a simple algorithm when the steps are out of order,

 Children know that an unexpected outcome is due to the code they have created and can make logical attempts to fix the code 

Use logical reasoning to predict the behaviour of simple programs.

When looking at a program, children can read code one line at a time and make good

attempts to envision the bigger picture of the overall effect of the program. Children can, for example, interpret where the turtle in 2Go challenges will end up at the end of the program.

Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions.

Children understand that an algorithm is a set of instructions used to solve a problem or achieve an objective. They know that a computer program turns an algorithm into code that the computer can understand.

  

 

 

 

  

 

Year 2

Understand what algorithms are; how they are implemented as programs on digital devices; and that programs execute by following precise and unambiguous instructions.

Children can explain that an algorithm is a set of instructions to complete a task. When designing simple programs, children show an awareness of the need to be precise with their algorithms so that they can be successfully converted into code.

Create and debug simple programs.

Children can create a simple program that achieves a specific purpose. They can also identify and correct some errors. Children’s program designs display a growing awareness of the need for logical, programmable steps.

Use logical reasoning to predict the behaviour of simple programs.

Children can identify the parts of a program that respond to specific events and initiate specific actions. For example, they can write a cause and effect sentence of what will happen in a program.

   

   

 

Year 3

Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.

Children can turn a simple real-life situation into an algorithm for a program by deconstructing it into manageable parts. Their design shows that they are thinking of the desired task and how this translates into code. Children can identify an error within their program that prevents it following the desired algorithm and then fix it

Use sequence, selection and repetition in programs; work with variables and various forms of input and output.

Children demonstrate the ability to design and code a program that follows a simple sequence. They experiment with timers to achieve repetition effects in their programs. Children are beginning to understand the difference in the effect of using a timer command rather than a repeat command when creating repetition effects.

Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.

Children’s designs for their programs show that they are thinking of the structure of a program in logical, achievable steps and absorbing some new knowledge of coding structures. For example, repetition and use of timers. They make good attempts to ‘step through’ more complex code in order to identify errors in algorithms and can correct this. e.g. In programs such as Logo, they can ‘read’ programs with several steps and predict the outcome accurately.

   

   

   

   

 

Year 4

Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.

When turning a real-life situation into an algorithm, the children’s design shows that they are thinking of the required task and how to accomplish this in code using coding structures for selection and repetition. Children make more intuitive attempts to debug their own programs.

Use sequence, selection and repetition in programs; work with variables and various forms of input and output.

Children’s use of timers to achieve repetition effects are becoming more logical and are integrated into their program designs. They understand ‘IF statements’ for selection and attempt to combine these with other coding structures including variables to achieve the effects that they design in their programs. As well as understanding how variables can be used to store information while a program is executing, they are able to use and manipulate the value of variables. Children can make use of user inputs and outputs such as ‘print to screen’. e.g. 2Code.

Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.

Children’s designs for their programs show that they are thinking of the structure of a program in logical, achievable steps and absorbing some new knowledge of coding structures. For example, ‘IF’ statements, repetition and variables. They can trace code and use step-through methods to identify errors in code and make logical attempts to correct this. In programs such as Logo, they can ‘read’ programs with several steps and predict the outcome accurately.

Select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information.

Children are able to make improvements to digital solutions based on feedback. Children make informed software choices when presenting information and data. They create linked content using a range of software such as 2Connect and 2Publish+. Children share digital content within their community, i.e. using Virtual Display Boards.

          

   

 

Year 5

Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.

Children may attempt to turn more complex real-life situations into algorithms for a program by deconstructing it into manageable parts. Children are able to test and debug their programs as they go and can use logical methods to identify the approximate cause of any bug but may need some support identifying the specific line of code.

Use sequence, selection and repetition in programs; work with variables and various forms of input and output.

Children can translate algorithms that include sequence, selection and repetition into code with increasing ease and their own designs show that they are thinking of how to accomplish the set task in code utilising such structures. They are combining sequence, selection and repetition with other coding structures to achieve their algorithm design.

Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.

When children code, they are beginning to think about their code structure in terms of the ability to debug and interpret the code later, e.g. the use of tabs to organise code and the naming of variables.

Select, use and combine a variety of software (including internet services) on a range of digital devices to design and create a range of programs, systems and content that accomplish given goals, including collecting, analysing, evaluating and presenting data and information.

Children are able to make appropriate improvements to digital solutions based on feedback received and can confidently comment on the success of the solution. e.g. creating their own program to meet a design brief using 2Code. They objectively review solutions from others. Children are able to collaboratively create content and solutions using digital features within software such as collaborative mode. They are able to use several ways of sharing digital content, i.e. 2Blog, Display Boards and 2Email.

          

     

 

Year 6

Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts.

Children are able to turn a more complex programming task into an algorithm by identifying the important aspects of the task (abstraction) and then decomposing them in a logical way using their knowledge of possible coding structures and applying skills from previous programs. Children test and debug their program as they go and use logical methods to identify the cause of bugs, demonstrating a systematic approach to try to identify a particular line of code causing a problem.

Use sequence, selection and repetition in programs; work with variables and various forms of input and output.

Children translate algorithms that include sequence, selection and repetition into code and their own designs show that they are thinking of how to accomplish the set task in code utilising such structures, including nesting structures within each other. Coding displays an improving understanding of variables in coding, outputs such as sound and movement, inputs from the user of the program such as button clicks and the value of functions.

Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs.

Children are able to interpret a program in parts and can make logical attempts to put the separate parts of a complex algorithm together to explain the program as a whole.

     

     

 

  

 

   

 

Top