Tag: PRIMARYpathway


It is vital that our children and young people understand how computers work and the many roles that they perform in almost every aspect of our lives. Whether it means that they are aware that the car, TV or toaster is a computer that may require software updates or security measures because it is connected to the internet, or because they want to design and build driverless cars and wearable technologies, such as the Fitbits of the future. Learning about how computing technology has developed from the past to the present, and how it will change in our lifetime, is an excellent opportunity to spark wonder, imagination and creativity in learners.  

This organiser is split into two Es & Os (three at Fourth level) and they deal with coding (x-14a) and computer systems (x-14b):

Coding (x-14a) 

Computers are electronic devices and can only interpret information as a series of electrical signal that are either ‘on’ or ‘off’. This requires us to use ‘language’ that the computer can understand, and this is often referred to as ‘code’. There are many guides to different languages, and these can be found online.

 At Early level, learners should learn that symbols can represent information, such as arrows for directions, and be able to predict the outcome of a sequence of these instructions (algorithm) – this might be predicting the path of a Bee-bot or another learner. 

Learners at First level should be able to identify different parts of an algorithm in a visual coding language (such as Scratch, Swift Playgrounds or MakeCode), such as repetition (loops) and selection (when a decision is made). Visual coding languages are very popular and represent ‘code’ as blocks that can be joined together, like jigsaw pieces, to build algorithms. Learners should be confident to predict the outcome of such sequences. 

As the progress to Second level, learners should be much more confident with block-based coding and able to explain the function of variables (information the computer stores from the user, such as your answer to a question) and conditional loops (such as ‘repeat the question until the answer = 5’). They should now also be able to identify parallel processes (where two or more bits of code are running at once, and may impact each other, such as a computer-controlled character and a user-controlled character in a game) and their outcomes. 

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to understand how textual language is used to create databases (often SQL) and webpages (usually HTML and CSS). By the end of the BGE, they should be able to write basic code in a textual language (such as Python) and be aware of the different file formats computers use and why these are used.  

Computer Systems (x-14b) 

Practically every computer is built of input devices (which take information from the user or environmentie. your mouse, keyboard or touchscreen), processor (can be thought of as the computer’s brain – it follows instructions and makes decisions) and output devices (the computer uses these to show information to the userie. your speakers, screen or printer). 

At Early level, learners should be encouraged to find and identify computers in the world around them, including ‘hidden’ ones, such as those in household appliances or automated devices like an automated door. This is easier than ever, as so many of us own smart devices, such as speakers, watches, TVs and cars. 

Learners at First level should be able to explain the model of computers being input -> process and storage -> output. This should include a basic knowledge of what components are inputs or outputs, and a basic understanding of the computer’s processor making decisions – this links to their coding learning as it is the code that the computer is processing, and the algorithms may include inputs (stored as variables) and outputs. 

As the progress to Second level, learners should be much more confident with the computer’s architecture and be able to explain the difference between memory (temporary information the computer is processing) and storage (long-term information). This includes an understanding of the computer only being able to store information in a binary format (base-2 number system that only uses 0 and 1). There are great links to numeracy here as learners will need to understand place value. They could also explore Charles Babbage, who invented the binary system as we know it.

They should also be aware of the interconnectivity of computers and the role of the internet and how it is used to share information between them – it is important to understand that the (world wide) web and internet are very different, and learner should be aware of this! 

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to know the von Neumann architecture model and how machine code (binary) is stored and processed within it.

They should also be able to use technical language to explain the components and processes involved as computers communicate across the internet – including compression (to save on storage space) and encryption (for security – this presents an opportunity to introduce learners to the field of study that is Cyber Security, which can be studied as a National Progression Award (NPA)). By the end of BGE, they should understand how the computer stores and represents different information, inlcuding graphics and video, as well as being able to describe the concepts (including inputs, process and storage, output) of complex systems such as online payment systems or satnav. 



Computational thinking is a process of understanding and solving problems presented to us. It is a systematic process that encourages breaking a problem into smaller parts, identifying the key elements and discarding the superfluous, and then building a solution in a logical, ordered way. This makes it very similar to mathematical thinking, and indeed there is much research linking the benefits of using the two together.

There are many opportunities to embed these concepts and approaches into your curriculum, especially in numeracy and mathematics. Instead of learners trying to work out a route in a textbook exercise they could programme a beebot to follow a path, try to solve a code.org challenge with directional language or test a a range of skills and strategies with Bebras.

This organiser deals with learners’ ability to identify sequences and steps in a process, classify and group objects and identify patterns and similarities between objects. From Early to First levels, learners should be developing the ability to follow step-by-step instructions, make logical decisions and group information in a logical way. In terms of computing, learners should be able to identify repetition, Boolean and IF statements. By Second level, learners should be able to identify parallel processes, random processes and conditional statements. 
Third and Fourth level sees the introduction of two additional E/Os and learners should be able to identify communication systems in the world around them, understand how compression and encryption of data works, and understand that a database can be used to store data with unique identifiers.

There are lots of great, free computational thinking resources and activities available online. Many of these resources have the added benefit of being ‘unplugged’, meaning no devices or computers are required to teach them.

In Scotland, we have partnered with Barefoot Computing and they provide an excellent computational thinking programme and resources. Barefoot splits computational thinking into the concepts and approaches below:



Every computer we use has been built to make a process quicker, easier, cheaper or safer. This organiser is all about recognising computer systems as solutions to design problems. Learners should experience a range of techniques and approaches to understanding the problems, planning solutions and then building a working computer solution. This can be done with code, web mark-up languages (such as HTML) or databases. Ideally, this organiser should be the application – an opportunity to assess – learners’ knowledge and skills from their computational thinking, coding and systems learning. 

At Early level, learners should be encouraged to create a simple sequence of instructions (algorithm) for a programmable device, such as a Bee-bot, or online platform, such as code.org. They should be able to spot and correct errors in a sequence – this is a great opportunity to develop resilience and problem solving strategies, including the computational thinking concepts and skills from x-13a. 

Learners at First level should be able to break a problem down into smaller parts and identify key steps, before creating a solution in a visual coding language, including use of selection (a decision is being made) and fixed repetition. They should then be able to evaluate the accuracy and efficacy of theirs and others’ solutions.  

As the progress to Second level, learners should be much more confident with visual coding languages and should be able to use the concepts of variables and conditional repetition (loops) as learned in x-14a. They should be building their knowledge of code and developing ability to identify where blocks of code might be similar in different solutions, before being able to reuse old code in a new solution. This might be seen as a ‘Eureka!’ moment where they ‘see’ the solution to the problem, like they might do when the start to ‘get’ other concepts like fractions.

Beyond Second level there is an increasing complexity of knowledge and skills as learners are required to create design solutions in visual languages with multiple variables and also to manipulate computer data, such as a database, with textual language (this may be searching or sorting but not creating a database).  They should also be introduced to web languages, such as HTML, CSS and JavaScript. By the end of the BGE, learners should be familiar with a wide array of design solutions and processes, including interactive webpages (usually JavaScript) and relational databases and code in a textual language (such as Python).