Skip to content ↓

Computer Science

subject oVERVIEW

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.

unit overview - e-saftey and my digital world

Subject: E-safety and my digital world

Skills

Explain aspects of e-safety such as:

  • a range of online dangers and how to stay safe online and respond to these threats
  • features of websites which indicate trustworthiness and reliability
  • features of search tools and some techniques to improve results by reducing and increasing result relevance
  • Copyright Law and how to use other peoples’ ideas/work without breaking this law

Knowledge

A range of online dangers

How to respond to and stay clear of online dangers

Definitions of cyber abuse and how to combat it

Features of websites which indicate trustworthiness and reliability

Search tools and techniques to improve results

Features of Copyright Law, including how to use other peoples’ ideas/work without breaking Copyright Law

Rationale

The ubiquity of computers in modern life exposes students to various threats and dangers at school and at home.  This unit identifies some of those threats and makes students aware of their own responsibilities and what other external agency mechanisms exist to alleviate these dangers.

By the end of the unit, students will have a clear understanding of what those dangers are both morally, ethically and legally, and will be able to give guidance on how to regulate their online behaviour to avoid those dangers.

Students will improve their search skills, to focus results on relevant data and be aware that confirmatory results cannot be necessarily regarded as proof of a perspective due to the nature and scale of online data and search engine designs.

unit overview - data representation 

Subject: Data Representation

Skills

Explain the binary and hexadecimal number systems used in computing and justify their use

Describe how to convert between the various number systems (binary, denary and hexadecimal)

Add binary numbers

Explain the purpose of the ASCII table in character representation

Explain the principle of image resolution and how to represent colours using binary

Describe how images are constructed using binary numbers and how changes to the image quality and/or colour depth impact upon image size

Knowledge

Binary numbers

  • Addition
  • Representations
  • Conversion

Representing data in hexadecimal

Conversions between number systems

The ASCII system

  • Representation
  • Conversion

Computer images

  • Representation using binary
  • Pixels
  • colour depth
  • Resolution and implications

Rationale

All modern computers hardware handles data and instructions represented by transistors that support only 2 states, one and off.  This is represented by the binary number system, which features two values, 1 and 0.  

Students should first understand how this binary number system represents numeric values, and then how these numeric values can represent anything we see on a computer system – any keyboard character, any number, with or without a decimal point, any image and any sound.

unit overview - python turtle graphics

Subject: Python Turtle Graphics

Skills

Create simple computer programs using the Python Turtle Graphics (PTG) module, which extends on existing Python skills to reinforce:

  • Sequence - input and output and basic image generation
  • Selection – modification of behaviour within the code for selective execution of code paths
  • Iteration – the use of looping constructs to create dynamic images.
  • Computational mathematical operations to manipulate screen coordinates

Implement sub-routines in program code

Develop programs for image generation

Debug and correct problems in their code

Annotate code using appropriate terminology and technical language

Knowledge

Implement Python Turtle Graphic module code by importing the PTG module and referencing its library of functions

Utilise the PTG syntax to create images and draw custom shapes:

  • Movement commands: left, right, forward
  • Pen commands: pen-up, pen-down, colour, size
  • Shape Commands: circle, square, fill and end fill

Nest loops within loops for kaleidoscopic image creation

Implement mathematical operations as part of plotting images on the screen

Produce algorithmic solutions for specific problems based on requirement statements

The purpose of subroutines in a program, and understand how to implement sub-routines

The importance of ‘commenting’ code and documentation

Rationale

This unit extends and reinforces the students’ programming skills using the Python PTG extension.   It applies their learning of Python and computational thinking to some motivating tasks where they create ever more creative and colourful shapes using the Turtle module.

By the end of the unit, students will be able to design their own images using short snippets of code, as well as debug, annotate and document their code.  They are also encouraged to explain their designs, so as to become conscious of the algorithms they are creating.  

We believe that creating patterns and shapes in Python is an excellent pathway to learning the programming techniques used in the higher year groups, because the students often become so determined to make better and better shapes, they start using more complex techniques.  For example, it is not uncommon in this unit to see students coding in nested loops and making use of subroutines in their code – if they master these techniques, they will thrive at GCSE.

unit overview - computing systems

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 - html and web-pages

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 - python programming with primm (units 1-7)

Subject: Python programming with PRIMM (units 1-7)

Skills

Apply some elementary programming techniques to write simple computer programs which solve real world problems.

Investigate, modify and write programs which:

  • Handle input, processing and output of all standard data types
  • Manipulate strings
  • Perform logical and mathematical operations in programs

Predict the output of an unseen program containing elementary programming techniques.

Knowledge

The use of variables, constants, operators, inputs, outputs and assignments

The use of the first programming construct used in programming: sequence

The use of basic string manipulation

Common data types:  integer, real, Boolean, character, string, casting

Common arithmetic and Boolean operators

Rationale

Learning Computing has, at its heart, learning how to program computers to perform tasks for us.  This means writing instructions that the computer can reliably execute. 

In Year 8, this means spending considerable time working on the basics, so that these can then be applied to more complex tasks like writing programs which branch and iterate.  Those higher concepts take a long time to master – and mastery will come a lot faster once a student knows about common data types, and that the sequence of instructions is important in a program, and that variables identify data in memory, and that input can be captured in a variable, and output to a screen, and that computers can perform mathematics better than their calculators do.

unit overview - python programming with primm (units 8-13)

Subject: Python programming with PRIMM (units 8-13)

Skills

Apply some pre-intermediate programming techniques to write simple computer programs which solve real world problems.

Investigate, modify and write programs which:

  • Branch according to input
  • Loop according to counters
  • Perform logical evaluations in programs

Predict the output of an unseen program containing elementary programming techniques such as branching and count-controlled iteration.

Knowledge

The use of one basic programming construct used to control the flow of a program: selection

The use of another basic programming construct used to control the flow of a program: iteration (count-controlled loops)

How the common arithmetic and Boolean operators are applied in selection statements

Rationale

Learning Computing has, at its heart, learning how to program computers to perform tasks for us.  This goes beyond writing instructions that the computer can reliably execute, and addresses how to write programs that branch in various directions depending on the data the user inputs, as well as programs that perform tasks again and again, as many times as we wish.

In Year 8, this means spending considerable time writing programs which branch and iterate.  Concepts such as these take a long time to master, and a resilient approach is required as the branches and loops that you code fail before your eyes.  This unit features three lessons working through tasks that develop understanding of branching, and applies this techniques to a series of more challenging tasks.  It then does the same for count-controlled iteration, also applying this technique to a series of increasingly complex tasks.

By engaging with these lessons, a student should be able to write useful programs which are versatile enough to perform different tasks depending on the user input, and which perform tasks again and again until the programmer says they are done.  After all, the processor can handle over 3 billion instructions per second, and will not complain no matter how many times it is asked to do something.

unit overview - python programming with primm (units 14-17)

Subject: Python programming with PRIMM (units 14-17)

Skills

Apply some pre-intermediate programming techniques to write simple computer programs which solve real world problems

Investigate, modify and write programs which:

  • Loop according to conditions
  • Perform logical evaluations in loops

Predict the output of an unseen program containing elementary programming techniques such as condition-controlled iteration

Knowledge

The use of a basic programming construct used to control the flow of a program: iteration (condition-controlled loops)

Rationale

Learning Computing has, at its heart, learning how to program computers to perform tasks for us.  This goes beyond writing instructions in sequence and which branch, and loop for a set number of times – and addresses how to write programs that perform tasks again and again, as long as a condition is true.

In Year 8, this means spending considerable time writing programs which branch and iterate while a condition is true – while the Boolean value of True is returned from a logical operation.  This particular concept takes students hours to master, and a resilient approach is required as the condition-controlled loops that you code behave unexpectedly.  This unit features four lessons working through tasks that develop understanding of condition-controlled looping, and applies this techniques to a series of more challenging tasks.

By engaging with these four lessons, a student should be able to write useful programs which will run as long as they need to.

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.