GCSE Computer Science Curriculum

January 2015

Contents

The content for computer science GCSEs

Introduction

Subject content

Knowledge and understanding

Skills

The content for computer science GCSEs

GCSE Computer Science Curriculum

Introduction

  1. The GCSE subject content sets out the knowledge, understanding and skills common to all GCSE specifications in a given subject. Together with the assessment objectives it provides the framework within which the awarding organisations create the detail of their specifications, so ensuring progression from key stage 3 national curriculum requirements and the possibilities for development into A level.

Subject aims and learning outcomes

  1. All specifications in computer science must build on the knowledge, understanding and skills established through the computer science elements of the programme of study for computing at key stage 3, satisfy the computer science elements of computing at key stage 4 and enable students to progress into further learning and/or employment.
  1. GCSE specifications in computer science should enable students to:
    • understand and apply the fundamental principles and concepts of computer science, including abstraction, decomposition, logic, algorithms, and data representation
    • analyse problems in computational terms through practical experience of solving such problems, including designing, writing and debugging programs
    • think creatively, innovatively, analytically, logically and critically
    • understand the components that make up digital systems, and how they communicate with one another and with other systems
    • understand the impacts of digital technology to the individual and to wider society
    • apply mathematical skills relevant to computer science

Subject content

Knowledge and understanding

  1. GCSE specifications must require students to develop a knowledge and understanding of the fundamentals of computer science and programming including:
  • Standard algorithms, including binary search and merge sort
  • Following and writing algorithms to solve problems including
    • Sequence, selection and iteration
    • Input, processing and output
  • How particular programs and algorithms work
  • The concept of data type, including integer, Boolean, real, character and string, and data structures, including records and one- and two-dimensional arrays
  • Representation of numbers in binary and hexadecimal; conversion between these and decimal; binary addition and shifts
  • Representation of text, sound, and graphics inside computers
  • Boolean logic using AND, OR and NOT, combinations of these, and the application of logical operators in appropriate truth tables to solve problems
  • The purpose and functionality of systems software, including the operating system and utility software
  • Characteristics of systems architectures, including
    • CPU architecture, including Von Neumann and the role of the components of the CPU in the fetch-execute cycle
    • Main and contemporary secondary storage and ways of storing data on devices including magnetic, optical and solid state
    • Data capacity and calculation of data capacity requirements
    • Hardware components and embedded systems
  • Networks and the importance of:
    • Connectivity, both wired and wireless
    • Types of network
    • Common network topologies
    • Network security
    • The concept of networking protocols, including Ethernet, Wi-Fi, TCP/IP, HTTP, HTTPS, FTP and email protocols
    • Layers
  • Cyber security: forms of attack (based on technical weaknesses and behaviour), methods of identifying vulnerabilities, and ways to protect software systems

(during design, creation, testing, and use)

  • The ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy and cyber security
  • Characteristics and purpose of different levels of programming language, including low-level language

Skills

  1. GCSE specifications must require students to develop the following skills:
  • Take a systematic approach to problem solving including the use of decomposition and abstraction, and make use of conventions including pseudo code and flowcharts
  • Design, write, test and refine programs, using one or more high-level programming language with a textual program definition, either to a specification or to solve a problem
  • Use appropriate security techniques, including validation and authentication
  • Evaluate the fitness for purpose of algorithms in meeting requirements efficiently using logical reasoning and test data[1]
  • Use abstraction effectively
  • To model selected aspects of the external world in a program
  • To appropriately structure programs into modular parts with clear, well- documented interfaces
  • Apply computing-related mathematics