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 term 1 

Subject: Comp 1.1 System architecture

Skills

Be able to explain what is meant by a computer system and an embedded system

Be able to describe the structure of the central processing unit and the role of its components

Be able to describe the process of program execution (i.e. the fetch – decode -

execute cycle) and its effect on registers

Be able to explain the impact on CPU performance of its component features

Be able to explain the need for and role of multiple cores and cache

Describing how a range of embedded computers input, process and output data

Knowledge

Understand the purpose of the CPU

Understand the features of Von Neumann architecture:

  • MAR (Memory Address Register)
  • MDR (Memory Data Register)
  • Program Counter
  • Accumulator

Understand common CPU components and their function:

  • ALU (Arithmetic Logic Unit)
  • CU (Control Unit)
  • Cache

Understand the function of the CPU is to fetch and execute instructions stored in memory

Know how common characteristics of CPUs affect their performance:

  • clock speed
  • cache size
  • number of cores

Understand embedded systems:

  • purpose of embedded systems
  • examples of embedded systems

Rationale

A miracle in its day, the first computers built in the 1940s were the size of a modern classroom and had less computational power than a modern smart phone. Today’s home computers routinely execute over 3 billion instructions per second, multi-task between several applications, and are found in an ever-increasing range of devices.

This unit examines how this is achieved through the design of the modern processor.  This unit demystifies what goes on ‘under the hood’ when computers are switched on and programs are run. It also examines external factors which affect CPU performance – understanding these will enable students to make appropriate decisions to help better performance on their own computers. It also highlights how computers are embedded into everyday objects – to see computers in this light will enable a student to think like a maker and one day contribute to a ‘maker society’.

Students must also be able to successfully respond to GCSE level test questions on the above.

unit overview - autumn term 2

Subject: Comp 2.1 Algorithms

Skills

Being able to apply features of abstraction, decomposition & algorithmic thinking to a range of common computing contexts

Being able to perform a binary search on a given array

Being able to program a linear search

Being able to perform bubble, merge and insertion sorts on given arrays

Being able to solve common computing problems using pseudocode

Being able to represent problems using flowcharts; and read flowcharts to track outputs from a range of inputs

Knowledge

Understanding computational thinking: abstraction, decomposition, algorithmic thinking

Understanding standard searching algorithms: binary search, linear search

Understanding standard sorting algorithms: bubble sort, merge sort, insertion sort

Knowing how to produce algorithms using: pseudocode, using flow diagrams

Interpreting, correcting or completing given algorithms

Rationale

While observers of the development of computing often comment on the developments in storage, memory and networking capability, it is in fact the creation of more intelligent algorithms which has made the greatest advances in computer science. Algorithms enable machines to learn from our behaviour, predict financial and stock outcomes, drive vehicles and suggest new things for us to purchase.  Moreover, algorithms enable us to find data at the speed of light, no matter how large the data set, and sort data into a new order at the click of the button.

This unit considers some well-known algorithms which have contributed more to computing than developments in hardware. Answer this: how do you more quickly find one record in a billion? Should you network more computers up to the task of searching for it – line up a thousand powerful PCs to search for this data in a line until it is found?  Or do you write a clever few lines of code that conquers this task instantaneously – finding one in a billion at the blink of an eye?

The answer is the algorithm, and this unit curates some well-known algorithms.   Students will come to understand how computer programs find the data that they are searching for (and how finding it more quickly is done using better algorithms, not buying more expensive hardware).  They will understand which searching algorithm to use with which data, and some clever ways that computers sort data into order (and how it is done more efficiently, and without overusing memory).

Students will also come to understand how, through computational thinking, computers model reality, and the decisions about what goes into (and what is left out of) a program. They will understand how large problems are approached by computer scientists, how to reassemble a problem after it is broken down into smaller parts.

Students must also be able to successfully respond to GCSE level test questions on the above.

unit overview - autumn term 3

Subject: Comp 2.2 Programming techniques

Skills

Being able to apply the full range of GCSE CS programming techniques to write computer programs which solve real world problems.

Writing programs which:

  • Handle input, processing and output of all standard data types
  • Branch according to input
  • Loop according to counters and conditions
  • Manipulate strings
  • Interact with nonvolatile storage
  • Interact with databases
  • Handle larger, more complex data structures
  • Use subprograms for more efficient code
  • Perform logical and mathematical operations in programs

Knowledge

Understand the use of variables, constants, operators, inputs, outputs and assignments

Understand the use of the three basic programming constructs used to control the flow of a program: sequence, selection, iteration (count and condition controlled loops)

Understand the use of basic string manipulation

Understand the use of basic file handling operations: open, read, write, close

Understand the use of records to store data, and SQL to search for data

Understand the use of arrays (or equivalent) when solving problems, including both one and two dimensional arrays

Understand how to use sub programs (functions and procedures) to produce structured code

Understand common data types:  integer, real, Boolean, character, string, casting

Understand the common arithmetic and Boolean operators

Rationale

The heart of GCSE Computer Science is the ability to program computers to perform on our behalf.  This means writing instructions efficiently in a code which the computer will follow every time.  These instructions should also be flexible, so that the computer performs different instructions depending on the user’s input.  They should also take advantage of the computer’s enormous processing power, and be able to repeat tasks as many times as is required. 

This unit sets out to develop these programming techniques, and also addresses how to organise larger sets of data in our programs, how to manipulate the data in these larger data sets, and how to interact with data stored on our hard drives.

By engaging with these programming tasks, students will apply the full range of GCSE CS programming techniques, and write computer programs which solve real world problems. They will also learn how to write efficient algorithms which handle and search data.

Students must also be able to successfully respond to GCSE level test questions on the above, which ask them to solve simple and complex problems using computers.

unit overview - spring term 1 

Subject: Comp 1.2 Memory, Storage & Data Representation

Skills

Be able to describe features of volatile/non-volatile and read-write/read-only primary storage; to apply these technologies to a range of contexts.

Be able to explain the need for, the role of and the process of virtual memory use; and to apply its advantages and disadvantages to standard computing contexts

Describing features of flash memory in a range of standard computing contexts

Be able to describe why primary storage is insufficient in a computer system, and why non-volatile, read-write memory is also required

Be able to calculate data capacity requirements for common computing contexts

Be able to apply the features of optical, magnetic and solid state memory to a range of common computing contexts

Be able to justify why a range of storage devices would be appropriate for a given computing context

Explain how data is represented by computer systems

Explain why the binary system is essential for computer processing

Be able to convert binary numbers into denary and vice versa

Be able to carry out addition, subtraction, multiplication and division on binary numbers

Be able to use left and right shifts when multiplying or dividing binary numbers by powers of 2

Explain why hexadecimal numbers are used

Be able to convert between hexadecimal, denary and binary

Knowledge

Understand the difference between RAM and ROM

Know the purpose of ROM and RAM in a computer system

Understand the need for virtual memory

Understand the features of flash memory

Understand the need for secondary storage.

Understand data capacity and calculation of data capacity requirements.

Know the common types of storage (optical, magnetic, solid state)

Understand the suitable storage devices and media for a given application, and the advantages and disadvantages of these, including characteristics (capacity, speed, portability, durability, reliability, cost)

Understand the units of data in a computer system: bit, nibble, byte, kilobyte, megabyte, gigabyte, terabyte, petabyte

Understand how data needs to be converted into a binary format to be processed by a computer

Know how to convert positive denary whole numbers (0–255) into 8 bit binary numbers and vice versa

Know how to add two 8 bit binary integers and explain overflow errors which may occur

Understand the process of binary shifts

Know how to convert positive denary whole numbers (0–255) into 2 digit hexadecimal numbers and vice versa

Know how to convert from binary to hexadecimal equivalents and vice versa

Understand the role of check digits

Understand the use of binary codes to represent characters

Understand the term ‘character-set’

Understand the relationship between the number of bits per character in a character set and the number of characters which can be represented (for example ASCII, extended ASCII and Unicode)

Understand how an image is represented as a series of pixels represented in binary

Understand the metadata included in a file

Understand the effect of colour depth and resolution on the size of an image file

Understand how sound can be sampled and stored in digital form

Understand how sampling intervals and other factors affect the size of a sound file and the quality of its playback: sample size, bit rate, sampling frequency

Understand the need for compression

Understand common types of compression, such as lossy and lossless

Rationale

1.2a

Over the past seventy years, the capacity of computers has approximately doubled every eighteen months.  In the 1980s, loading 8-bit games from a cassette tape onto a home computer in just five minutes was considered as the height of modern technology.  A decade later, games and applications were stored on what was considered to be enormous 1GB hard drives.  Another decade saw the same capacity on pen drives, and another still, hard disks on home PCs have terabytes of storage.  The same advances have been made in RAM, where computers can now multi-task between memory-intensive applications without loss of performance, and sports and combat games can be played live over a network. 

The above has been made possible through developments in memory technology, and this unit seeks to understand how this is possible.  Students will understand how primary storage makes multi-tasking possible, so that they can better manage their computers to run quickly without overheating or blowing the power supply.  With this knowledge, they will make appropriate decisions when addressing common issues such as slow performance and overheating.

Students must also be able to successfully respond to GCSE level test questions on the above.

1.2b

As storage devices evolve over time, three broad technologies have emerged: magnetic (storing data using magnetic media such as a hard disk drive), optical (using optical devices such as CDs) and solid state (using devices such as flash memory). 

Understanding the features of each enables a student to make informed decisions about the storage in their computer systems.  Knowing why computers need permanent, non-volatile storage is important when building/purchasing a computer system with the correct components.

Given that students will spend their entire lives owning and using hundreds of digital devices, this knowledge enables them to purchase/select an appropriate storage technology and device for any given situation.  In addition, it will enable them to calculate data capacity requirements no matter what the situation.

Students must also be able to successfully respond to GCSE level test questions on the above.

1.2c

Students must know that all the data in all the applications they have ever used has been converted into billions of 1s and 0s – because despite the spectacular capabilities of computers, 1s and 0s are all a computer can work with.

The billions of transistors on a computer act as switches which are either ON or OFF – this two-state system is known as a binary system.  All computer programs turn these switches on and off, and these combinations represent binary numbers.

This unit first seeks to understand how these binary numbers represent numbers as we know them. It then goes on to explain how these numbers, in turn, represent letters and symbol on the keyboard, colours on our monitor, images on your smart phone and music on your stereo.

Once a student masters this knowledge, it can be applied to a wide range of uses, such as image enhancement, encryption.  Before this, it is also applied in common decisions about how much digital data an application is likely to generate, and how much storage is required.

Students must also be able to successfully respond to GCSE level test questions on the above.

unit overview - spring term 2 

Subject: Comp 1.3 Wired and wireless networks / Network topologies, protocols and layers

Skills

Explain what is meant by a computer network and list the different types of networks

Describe the differences between a client-server and peer-to-peer networks

Explain the functions of the hardware needed to connect computers

Explain how computers connect using cable and microwave

Describe network topologies

Explain how users connect to and use the Internet

Explain how data is transmitted across networks

Explain the use of protocols

Explain how virtual networks can be set up

Knowledge

Understand types of networks: LAN (Local Area Network), WAN (Wide Area Network)

Understand factors that affect the performance of networks

Understand the different roles of computers in a client-server and a peer-to-peer network

Know the hardware needed to connect stand-alone computers into a Local Area Network: wireless access points, routers/switches, NIC (Network Interface Controller/Card), transmission media

Understand the internet as a worldwide collection of computer networks: DNS (Domain Name Server), hosting, the cloud

Understand the concept of virtual networks

Understand star and mesh network topologies

Understand Wifi: frequency and channels, encryption

Understand Ethernet

Understand the uses of IP addressing, MAC addressing, and protocols including: TCP/IP (Transmission Control Protocol/Internet Protocol), HTTP (Hyper Text Transfer Protocol), HTTPS (Hyper Text Transfer Protocol Secure), FTP (File Transfer Protocol), POP (Post Office Protocol), IMAP (Internet Message Access Protocol), SMTP (Simple Mail Transfer Protocol)

Understand the concept of layers

Understand packet switching

Rationale

Students must know that the networking of computers has made an enormous impact on our working and social lives, and in how we research, shop, communicate and learn.

This unit examines ways in which this connected world is made possible through use of networks – thanks to which we can publish our thoughts and images to a global audience wherever they are on the world wide web.

By studying this unit, students will learn how our home computers are networked with our smart phones, printers and speakers.  Further still, it examines how the data we send and receive travels across the Internet instantaneously, and enables our real-time connections with people and services worldwide.

Students must also be able to successfully respond to GCSE level test questions on the above.

Decisions made about how to organise computer networks are based upon factors such as geography, usage, security, etc.  The unit explores common ways that networks are organised and the various hardware items utilised in their setup.

By studying this unit, students will learn how to make sensible decisions about organisation of computer networks, and understand why the networks that they use are organised in the way they are.

They will also come to understand the various layers that each text message travels along on its way from one phone to the next. This unit demystifies the engineering behind this speedy data transfer, and provides a vocabulary for describing each step of this complex process.

Students must also be able to successfully respond to GCSE level test questions on the above.

unit overview - spring term 3

Subject: Comp 2.2 Programming techniques

Skills

Being able to apply the full range of GCSE CS programming techniques to write computer programs which solve real world problems.

Writing programs which:

  • Handle input, processing and output of all standard data types
  • Branch according to input
  • Loop according to counters and conditions
  • Manipulate strings
  • Interact with nonvolatile storage
  • Interact with databases
  • Handle larger, more complex data structures
  • Use subprograms for more efficient code
  • Perform logical and mathematical operations in programs

Knowledge

Understand the use of variables, constants, operators, inputs, outputs and assignments

Understand the use of the three basic programming constructs used to control the flow of a program: sequence, selection, iteration (count and condition controlled loops)

Understand the use of basic string manipulation

Understand the use of basic file handling operations: open, read, write, close

Understand the use of records to store data, and SQL to search for data

Understand the use of arrays (or equivalent) when solving problems, including both one and two dimensional arrays

Understand how to use sub programs (functions and procedures) to produce structured code

Understand common data types:  integer, real, Boolean, character, string, casting

Understand the common arithmetic and Boolean operators

Rationale

The heart of GCSE Computer Science is the ability to program computers to perform on our behalf.  This means writing instructions efficiently in a code which the computer will follow every time.  These instructions should also be flexible, so that the computer performs different instructions depending on the user’s input.  They should also take advantage of the computer’s enormous processing power, and be able to repeat tasks as many times as is required. 

This unit sets out to develop these programming techniques, and also addresses how to organise larger sets of data in our programs, how to manipulate the data in these larger data sets, and how to interact with data stored on our hard drives.

By engaging with these programming tasks, students will apply the full range of GCSE CS programming techniques, and write computer programs which solve real world problems. They will also learn how to write efficient algorithms which handle and search data.

Students must also be able to successfully respond to GCSE level test questions on the above, which ask them to solve simple and complex problems using computers.

unit overview - summer term 1 

Subject: Comp 1.4 System security

Skills

Describing ways in which human beings are the weakest form of defence on a network. 

Describing common ways that computers come under threat on a network.

Suggesting appropriate defences for a range of cyber-attacks in a series of given personal and organisational contexts.

Program a Caesar cipher in Python using a decomposed set of functions.

Knowledge

Understand forms of attack

Understand threats posed to networks: malware, phishing, people as the ‘weak point’ in secure systems (social engineering), brute force attacks, denial of service attacks, data interception and theft, the concept of SQL injection, poor network policy

Identifying and preventing vulnerabilities: penetration testing, network forensics, network policies, anti-malware software, firewalls, user access levels, passwords, encryption

Rationale

Cyber security comprises the various methods of deploying technology to protect data, applications, computers and networks from malicious attack. 

This unit makes the student aware of various ways that hackers seek to gain unauthorized access to computers through social engineering.  It then focuses on a wide range of attacks which hackers use to inflict damage on computer systems, so that each one can be recognised. Finally, the unit highlights some sound practices that computer users should use to detect and prevent cyber security threats.

Students must also be able to successfully respond to GCSE level test questions on the above.

unit overview - summer term 2

Subject: Comp 2.3 Producing robust programs

Skills

To be able to write Python programs which sanitise and validate input and authenticate user access

To be able to write maintainable Python programs featuring comments, functions, indentation, white space, etc.

To be able to write a range of common tests for some simple Python programs, then run the tests using test data

To be able to trouble-shoot Python programs for syntax and logic errors

To be able to describe the differences between common tests: iterative, final

Knowledge

To understand defensive design considerations: input sanitisation/validation, planning for contingencies, anticipating misuse, authentication

To understand the features of maintainability: comments, indentation

To understand the purpose of testing

To understand types of testing: iterative, final/terminal

To understand how to identify syntax and logic errors

To be able to select and use suitable test data

Rationale

Everybody who ever studied how to write computer programs has found that once they had mastered the standard range of programming techniques, their programs still came off worse in comparisons to professional programs. The professional programs were far smoother to read, and made sense from beginning to end, and had a logical feel to them. They were shorter, and made less demands on memory as they ran; they also handled a wide range of possibly erroneous inputs form the user and avoided crashing; they were also so skilfully written that they defended against hackers.  They were also widely tested during development and again before release so that these programs did exactly what they were supposed to, and did not behave strangely over time.

This unit is about writing better, more refined, smarter computer programs which handle common input errors, are readable by other programmers, and do not crash.  It is also about designing, writing and running tests that catch logic errors before programs are shared.

Students must also be able to successfully respond to GCSE level test questions on the above.

knowledge Organiser

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.