Skip to content ↓

Computer Science

Learning Journey & Sequencing Rationale

A high-quality computing education equips learners to use computational thinking and creativity to understand and change the world. Computing has deep links with mathematics, science and design and technology, and provides insights into both natural and artificial systems. The core of computing is computer science, in which learners are taught the principles of information and computation, how digital systems work and how to put this knowledge to use through programming. Building on this knowledge and understanding, learners are equipped to use information technology to create programs, systems and a range of content. Computing also ensures that learners become digitally literate – able to use, and express themselves and develop their ideas through, information and communication technology – at a level suitable for the future workplace and as active participants in a digital world.

 

 

Year 7

Topic

Rationale

Impact of technology – Collaborating online respectfully

This unit has been devised as a transitional unit to allow students to confidently move from Year 6 to Year 7. By the end of the unit, they should be able to use the school network safely and respectfully.

Modelling data – Spreadsheets

 

This unit progresses students’ knowledge and understanding of modelling data using a spreadsheet. Due to the transitional nature of Year 7, the unit assumes that students have little to no experience of using spreadsheets.

Programming essentials in Scratch – part I

This unit is the first programming unit of KS3. The aim of this unit and the following unit (‘programming 2’) is to build students’ confidence and knowledge of the key programming constructs. Importantly, this unit does not assume any previous programming experience, but it does offer students the opportunity to expand on their knowledge throughout the unit.  The main programming concepts covered in this unit are sequencing, variables, selection, and count-controlled iteration.

Networks from semaphores to the Internet

This unit progresses students’ knowledge and understanding of networks and associated hardware. The unit will establish a foundation understanding of how data is transmitted across networks, as well as exploring the factors that can affect performance. The unit will spend time focusing on the internet and services provided over the internet.

Programming essentials in Scratch – part II

 

Programming II follows on from the foundations built in ‘Programming I’. It is vital that students complete ‘Programming I’ before beginning this unit.

This unit begins right where ‘Programming I’ left off. Student will build on their understanding of the control structures’ sequence, selection, and iteration (the big three), and develop their problem-solving skills. Students will learn how to create their own subroutines, develop their understanding of decomposition, learn how to create and use lists, and build upon their problem-solving skills by working through a larger project at the end of the unit.

Using media – Gaining support for a cause

This unit progresses students’ knowledge and understanding of licensing and legal issues surrounding the use of online sources of information. They will also gain an understanding of how to apply techniques to help determine the reliability of a source. Learners will develop practical skills in using software to make a blog that could be published online.

Year 8

Topic

Rationale

Introduction to Python programming

This unit introduces learners to text-based programming with Python. The lessons form a journey that starts with simple programs involving input and output, and gradually moves on through arithmetic operations, randomness, selection, and iteration. Emphasis is placed on tackling common misconceptions and elucidating the mechanics of program execution.

A range of pedagogical tools is employed throughout the unit, with the most prominent being pair programming, live coding, and worked examples.

The Year 7 Programming units (ncce.io/year7) are a prerequisite for this unit.

Developing for the web

In this unit, learners will explore the technologies that make up the internet and World Wide Web. Starting with an exploration of the building blocks of the World Wide Web, HTML, and CSS, learners will investigate how websites are catalogued and organised for effective retrieval using search engines. They will also consider the hidden network technologies that protect us from the threats that a connected world brings, as well as looking at the impact of these services and technologies.

Computing systems

This unit takes learners on a tour through the different layers of computing systems: from programs and the operating system, to the physical components that store and execute these programs, to the fundamental binary building blocks that these components consist of.

The aim is to provide a concise overview of how computing systems operate, conveying the essentials and abstracting away the technical details that might confuse or put off learners.

The last lessons cover two interesting contemporary topics: artificial intelligence and open source software. These are linked back to the content of the unit, helping learners to both broaden their knowledge and focus on the topics addressed in the unit.

The unit assumes no prior knowledge. There are, however, links to the ‘Representations’ units taught in Years 8 and 9 and the ‘Networks’ units taught in Years 7 and 8.

Media – Vector graphics

This unit progresses students’ knowledge and understanding of designing vector graphics.

Mobile app development

This unit progresses students’ knowledge and understanding of programming constructs in a block-based programming environment. Learners will also develop their computational thinking and project planning, by going from decomposing a larger project into smaller parts and creating success criteria for the project to getting user feedback and evaluating their projects.

Representations – from clay to silicon

The fundamental concepts around binary representations and the way in which they have been approached in this unit are visualised in the concept map. This can be found in Lesson 1: Across time and space.

Year 9

Topic

Rationale

Cybersecurity

This unit takes the learners on an eye-opening journey of discovery about techniques used by cybercriminals to steal data, disrupt systems, and infiltrate networks. The learners will start by considering the value of their data to organisations and what they might use it for. They will then look at social engineering techniques used by cybercriminals to try to trick users into giving away their personal data. The unit will look at the more common cybercrimes such as hacking, DDoS attacks, and malware, as well as looking at methods to protect ourselves and our networks against these attacks.

Media – Animations

This unit progresses learners’ knowledge and understanding of creating animations using Blender. By completing this unit learners will gain a greater understanding of how this important creative field is used to make the media products that we consume.

Python programming with sequences of data

The Year 7 and 8 Programming units are prerequisites for this unit. It is assumed that learners are already able to write Python programs that display messages, receive keyboard input, use simple arithmetic expressions, and control the flow of program execution through selection and iteration structures.

Physical computing

Python syntax and short examples relevant to the contents of this unit are condensed into a set of Python for micro:bit cheat sheets. This resource can be found in Lesson 1: Hello physical world.  The Year 8 and 9 programming units are prerequisites for this unit. It is assumed that learners are already able to write Python programs that use variables and data structures to keep track of information. They are also expected to be able to combine sequence, selection, iteration, and function/method calls to control the flow of program execution.

Representations – going audiovisual

The fundamental concepts around binary representations and the way in which they have been approached in this unit are visualised in these concept maps:

  • Bitmap images concept map (part of Lesson 1: Binary mosaic)
  • PCM sound concept map (part of Lesson 4: Good vibrations.

The structures of the nodes in these two concept maps are identical. This illustrates the direct correspondence between the concepts that pertain to image and sound digital representations.

Python Turtle

The Year 7 and 8 Programming units are prerequisites for this unit. It is assumed that learners are already able to write Python programs that display messages, receive keyboard input, use simple arithmetic expressions, and control the flow of program execution through selection and iteration structures.  This unit brings together learning from KS3 in order to create eye-catching visual displays.

Year 10

Topic

Rationale

1.1 Systems architecture

In this unit, learners will gain an understanding and knowledge of how computer systems work. Starting with the building blocks of the microprocessor — logic gates — learners will discover how a computer system works and executes instructions.

The term ‘note taking’ is used throughout this unit, how this is applied is left to your judgement. Some computing teachers use exercise books or paper folders with learners, some use files on the computer, and some use online note-taking software. You should adapt the lesson to your preferred way of working.

Ideally, learners would have prior knowledge of the binary number system and programming in a high-level language.

2.2 Programming fundamentals

This extensive programming unit takes learners from being complete novices to having the confidence to tackle any GCSE-level programming challenge. Essential programming theory is also interleaved into the practical elements of programming to provide tangible links between required knowledge and skills.

The latest pedagogical research has been used to ensure that learners are appropriately scaffolded and challenged as they move through the lessons. Learners that have already programmed with a text-based language might advance through the earlier lessons at a faster rate than planned. Explorer tasks have been provided to help stretch learners that need a further challenge.

2.1 Algorithms

The main focus of this unit is on searching and sorting algorithms, though other topics are covered, such as computational thinking, flow charts, and tracing algorithms. Learners will have opportunities to analyse, interpret, modify, and implement a range of algorithms.

Each lesson that introduces a new searching or sorting algorithm uses numbers hidden under cups to help learners visualise how the algorithm works step by step. This is so that learners can better understand how a computer executes these algorithms, as a computer cannot ‘see’ all of the items in a list at once as a human can, but instead is only able to compare two values at a time. There are also written instructions alongside each of these steps that together represent the algorithm in structured English; coded solutions are provided in a subsequent lesson.

There are many crossovers with the KS4 Programming unit so the order of which unit is taught first, or possibly alongside, depends on the teacher. For instance, the lessons that involve tracing code (Lesson 3), coding linear search and binary search (Lesson 6) and coding bubble sort and insertion sort (Lesson 9) require learners to be familiar with programming concepts such as selection, iteration, and lists. However, the lessons on computational thinking, representing algorithms, and introducing the searching and sorting algorithms can be taught without any prior programming experience. These non-programming dependent lessons could be taught at the beginning of KS4 and then the code-based lessons in this unit could be revisited once learners are better prepared.

1.2 Memory and storage

In this unit, learners will gain an understanding and knowledge of how computer systems work. Ideally, learners would have prior knowledge of the binary number system and programming in a high-level language.

This unit allows learners to gain the understanding and skills required for the data representation sections of the GCSE computer science exam. First, learners look at binary and hexadecimal numbering systems, how they work, and how to convert between bases. Then, learners explore different coding systems and find out how text, images, and sound are represented in computers. All lessons include worksheets to allow learners to explore each topic through practical application.

1.3 Computer networks, connections and protocols

This unit guides learners to gain an understanding of computer networks as required for GCSE Computer Science. It starts by defining what networks are and where we find them in our modern world. Then, learners look at the hardware involved in creating networks. In this unit, you will use Raspberry Pi computers to create a network and demonstrate to learners how data is shared across networks.

1.4 Network security

This unit enables GCSE students to gain knowledge and understanding of the range of cybersecurity threats impacting the world, our organisations, and us as individuals. The learners start by defining fundamental terms such as cybersecurity and network security. They then progress to understanding different forms of attack, both non-automated and automated. Examining the different techniques used by social engineers (perpetrating non-automated attacks) enables the learners to protect themselves against such tactics as blagging, phishing, and pharming. They also learn about automated cybercrime such as denial of service (DoS) attacks and SQL injection.

The learners then take this further by examining how organisations design and use networks and software to reduce the likelihood of attack, for example by using firewalls, MAC address filtering, automatic software upgrades, and modular testing. They also learn about the policy side of organisations, understanding how levels of access and network policies can protect an organisation.

Once they have understood the impact of cybercrime, they learn about how companies identify and reduce vulnerability through penetration testing. Lastly, they will be inspired to be part of the solution, when they learn about the potential for lucrative and fulfilling careers in cybersecurity.

2.3 Producing robust programs

This unit provides depth to students’ experience with programming, and introduces some methods to code more reliable programs that do not fall down.  It introduces a range of validation and testing methods.  Students should have developed fundamental Python programming techniques before attempting this unit – certainly be confident with sequence, selection and iteration.

Year 11

Topic

Rationale

    1. Programming fundamentals

This series of lessons revisits the programming techniques encountered in Y10 and before, and applies them to solve common algorithms encountered in GCSE exams.  Students work though a short programming project.

    1. Systems software

In this unit, students engage with the purpose and functionality of operating systems, and learn about a range of utility system software.  They should have studied the Computer Systems unit first, as the knowledge in this unit rests on understanding the CPU, primary and secondary storage.

2.4 Boolean logic

Starting with the building blocks of the microprocessor — logic gates — learners will discover how a computer system works and executes instructions.

1.6 Ethical, legal, cultural and environmental impacts of digital technology

This unit has been designed to enable GCSE students to gain knowledge and understanding of the impact of technology on individuals, organisations, and the planet. Through a range of real-world examples, they will learn how to identify the specific type of impact, i.e. legal, cultural, privacy, environmental, and ethical. They will then progress to identifying stakeholders who are impacted by technology, and learn how these impacts are experienced, negated, or adapted to. Throughout the unit, learners will be encouraged to discuss their views and make use of sample long-form answers as either cloze or comprehension exercises, to further develop their rhetorical skills. Lastly, they will complete an assessment and identify which of the technologies that they have studied they believe to have had the most negative or positive effect on our society as a whole.

2.5 Programming languages and Integrated Development Environments

This unit extends the knowledge in 1.1, 1.2 and 1.5, and also features assembly language programming.  Ideally, students should have completed the above units before engaging with 2.5, and also be confident in Python, so as to make better progress in programming on the LMC.

 
 

unit overview - autumn 1 

Subject: Introduction to Python programming

Skills

  • Write and execute first programs in Python.
  • Construct short programs for the first time.
  • Revisit and extend programs to use selection.
  • Build programs that check weather conditions and display appropriate responses.
  • Apply skills and knowledge to create a times tables practice game.
  • Extend a number guessing game that they developed previously into an iterative version that allows multiple guesses.

Knowledge

  • Describe what algorithms and programs are and how they differ.
  • Recall that a program written in a programming language needs to be translated in order to be executed by a machine.
  • Describe the semantics of assignment statements.
  • Use simple arithmetic expressions in assignment statements to calculate values.
  • Receive input from the keyboard and convert it to a numerical value.
  • Use relational operators to form logical expressions.
  • Use binary selection (if, else statements) to control the flow of program execution.
  • Generate and use random integers.
  • Use multi-branch selection (if, elif, else statements) to control the flow of program execution.
  • Describe how iteration (while statements) controls the flow of program execution.
  • Use iteration (while loops) to control the flow of program execution.
  • Use variables as counters in iterative programs.
  • Combine iteration and selection to control the flow of program execution.
  • Use Boolean variables as flags.

Rationale

This unit introduces students to text-based programming with Python.

The lessons form a journey that starts with simple programs involving input and output, and gradually moves on through arithmetic operations, randomness, selection, and iteration. Emphasis is placed on tackling common misconceptions and elucidating the mechanics of program execution.

A range of pedagogical tools is employed throughout the unit, with the most prominent being pair programming, live coding, and worked examples.

unit overview - autumn term 2

Subject: HTML and web-pages

Skills

Create, reuse, revise, and repurpose digital artefacts for a given audience, with attention to trustworthiness, design, and usability.

Use HTML to structure static web pages; modify HTML to improve the appearance of web pages.

Apply HTML tags to construct a web page structure from a provided design.

Use CSS to style static web pages.

Use search technologies effectively.

Create hyperlinks to allow users to navigate between multiple webpages.

Knowledge

This unit focuses on the following key areas of networks:

  • Searching
  • Threats
  • HTML and CSS

Describe HTML, images within a web page, what CSS is.

Assess the benefits of using CSS to style pages instead of in-line formatting.

Describe what a search engine is; explain how search engines ‘crawl’ through the WWW and how they select and rank results.

Discuss the impact of search technologies, networking technologies and services.

Discuss issues of safety and security from a technological perspective.

Rationale

Students grow up using web pages on their computers, tablets, and smart phones, and engage with them daily as consumers. This unit seeks to explore the technologies that make up the internet and World Wide Web. Starting with the building blocks of the World Wide Web, HTML, and CSS, students will investigate how websites are catalogued and organised for effective retrieval using search engines. They will also consider the hidden network technologies that protect us from the threats that a connected world brings, as well as looking at the impact of these services and technologies.

unit overview - spring term 1

Subject: Computing Systems

Skills

Describe the function of the hardware components used in computing systems, and how they work together in order to execute programs

Describe the NOT, AND, and OR logical operators, and how they are used to form logical expressions

Use logic gates to construct logic circuits, and associate these with logical operators and expressions

Describe how hardware is built out of increasingly complex logic circuits

Describe the steps involved in training machines to perform tasks (gathering data, training, testing)

Describe how machine learning differs from traditional programming

Explain the implications of sharing program code

Knowledge

That a general-purpose computing system is a device for executing programs

That a program is a sequence of instructions that specify operations that are to be performed on data

That all computing systems, regardless of form, have a similar structure (‘architecture’)

What an operating system is, and recall its role in controlling program execution

Since hardware is built out of logic circuits, data and instructions alike need to be represented using binary digits

Broad definitions of ‘artificial intelligence’ and ‘machine learning’

Examples of artificial intelligence and machine learning in the real world – and associate the use of artificial intelligence with moral dilemmas

Rationale

This unit covers the different layers of computing systems: it starts with examining programs and the OS, then turns its attention to the hardware components that store and execute this software; then it examines binary building blocks that comprise all the hardware and software on a computer system.

The ‘Computing Systems’ unit is a nice overview of how computers operate, highlighting the most essential features of this question and abstracting away the technical details that often confuse or put students off the subject.

The unit concludes with some engaging topics: artificial intelligence and open source software. Study of both refers back to the knowledge of the unit, which helps students revisit what they have already considered, and grasp some deeper topics. 

‘Computing Systems’ assumes no prior knowledge.

unit overview - spring term 2

Subject: Media – Vector graphics

Skills

  • This unit progresses students’ knowledge and understanding of designing vector graphics.
  • Students are acquainted with the basics of using software to draw geometrical shapes and manipulate them.
  • Students are able to combine simple shapes into more complex ones.
  • Students are presented with a set of monochrome icons and are challenged to create some of them from scratch.
  • Students undertake a short, open-ended project out of a range of suggestions and work in pairs to complete it.
  • Students will explore cases where vector graphics are (or aren’t) useful.
  • Students conclude, showcase, and peer assess their projects.

Knowledge

  • Draw basic shapes (rectangle, ellipse, polygon, star) with different properties (fill and stroke, shape-specific attributes).
  • Manipulate individual objects (select, move, resize, rotate, duplicate, flip, z-order).
  • Manipulate groups of objects (select, group/ungroup, align, distribute).
  • Combine paths by applying operations (union, difference, intersection).
  • Convert objects to paths.
  • Draw paths.
  • Edit path nodes.
  • Combine multiple tools and techniques to create a vector graphic design.
  • Explain what vector graphics are.
  • Provide examples where using vector graphics would be appropriate.
  • Peer-assess another pair’s project work.
  • Improve their own project work based on feedback.
  • Complete a summative assessment.

Rationale

This unit offers students the opportunity to design graphics using vector graphic editing software. The lessons are tailored to Inkscape (inkscape.org), which is open source and cross-platform, but the resources should be readily adaptable to any vector graphics editor.

Vector graphics can be used to design anything from logos and icons to posters, board games, and complex illustrations. Through this unit, students will be able to better understand the processes involved in creating such graphics and will be provided with the knowledge and tools to create their own.

One of the most interesting and challenging aspects of creating vector graphics is their unlikely link to computational thinking. Creating a complex design is a multi-step process that starts with elementary shapes and involves combining them into more intricate ones using operations such as union, difference, and intersection. There are usually multiple paths to achieving the goal and the process involves decomposition, evaluation, and plenty of inventiveness!

unit overview - summer term 1

Subject: Mobile app development

Skills

  • Consider an app that could do good in the world;
  • Consider how to decompose the large problem of creating an app.
  • Develop elements of an app with teacher guidance.
  • Debug errors in an app.
  • Create success criteria for their own app.
  • Develop their own app.
  • Add code to a prebuilt app to deal with user input.
  • Decompose their own app project into manageable steps.
  • Reflect on and evaluate progress creating their own app.
  • Complete and evaluate app project.
  • Take a multiple-choice assessment.

Knowledge

  • Identify when a problem needs to be broken down.
  • Implement and customise GUI elements to meet the needs of the user.
  • Recognise that events can control the flow of a program.
  • Use user input & variables in an event-driven programming environment.
  • Develop a partially complete application to include additional functionality.
  • Identify and fix common coding errors.
  • Pass the value of a variable into an object.
  • Establish user needs when completing a creative project.
  • Apply decomposition to break down a large problem into more manageable steps.
  • Use user input in a block-based programming language.
  • Use a block-based programming language to create a sequence.
  • Use variables in a block-based programming language.
  • Use a block-based programming language to include sequencing and selection.
  • Reflect and react to user feedback.
  • Evaluate the success of the programming project.

Rationale

In a world where there’s an app for every possible need, this unit aims to take the students from designer to project manager to developer in order to create their own mobile app.

Using App Lab from code.org, students will familiarise themselves with the coding environment and have an opportunity to build on the programming concepts they used in previous units before undertaking their project.

Students will work in pairs to consider the needs of the user; decompose the project into smaller, more manageable parts; use the pair programming approach to develop their app together; and finish off by evaluating the success of the project against the needs of the user.

unit overview - summer term 2 

Subject:  Representations – from clay to silicon

Skills

  • Students discuss familiar examples of representations, some of which date back millennia, to better understand their use and characteristics.
  • Students encode, transmit, and decode short messages, with each group using a different coding scheme and communication medium (signals, light, sounds, holes on paper, etc.).
  • Students grasp what binary digits are by associating them with familiar sets of symbols such as letters and decimal digits. Students solve simple problems that reinforce the connection between (alphanumeric) information and its binary representation. They also consider the question of why binary digits are predominantly used in conjunction with computing systems.
  • Students build upon their familiarity with using a decimal numbering system, in order to draw analogies with how numbers can be represented using binary. They use activities, either unplugged or software-based, to become familiar with binary number representation and convert between binary and decimal.
  • Students work with bytes and the prefixes used for measuring representation size, such as ‘kilo-’, ‘mega-’, ‘giga-’ and ‘tera-’. Simple activities embed these concepts in real-life settings and introduce students to conversions between the different units and multiples.
  • The unit is concluded with a summative assessment quiz and a puzzle activity that challenges students to unchain Alan Turing’s mug.

Knowledge

  • List examples of representations
  • Recall that representations are used to store, communicate, and process information
  • Provide examples of how different representations are appropriate for different tasks
  • Recall that characters can be represented as sequences of symbols and list examples of character coding schemes
  • Measure the length of a representation as the number of symbols that it contains
  • Provide examples of how symbols are carried on physical media
  • Explain what binary digits (bits) are, in terms of familiar symbols such as digits or letters
  • Measure the size or length of a sequence of bits as the number of binary digits that it contains
  • Describe how natural numbers are represented as sequences of binary digits
  • Convert a decimal number to binary and vice versa
  • Convert between different units and multiples of representation size
  • Provide examples of the different ways that binary digits are physically represented in digital devices

Rationale

This unit conveys essential knowledge relating to binary representations.

The activities gradually introduce students to binary digits and how they can be used to represent text and numbers.

The concepts are linked to practical applications and problems that the students are familiar with.

knowledge organisers

A knowledge organiser is an important document that lists the important facts that learners should know by the end of a unit of work. It is important that learners can recall these facts easily, so that when they are answering challenging questions in their assessments and GCSE and A-Level exams, they are not wasting precious time in exams focusing on remembering simple facts, but making complex arguments, and calculations.

We encourage all pupils to use them by doing the following:

  • Quiz themselves at home, using the read, write, cover, check method.
  • Practise spelling key vocabulary
  • Further researching people, events and processes most relevant to the unit.