Revise Computingrevisecomputing.co.uk
At a glanceFeaturesStudentsPricingHow it worksFree GCSE notesExam dates
At a glanceFeaturesStudentsPricingHow it worksFree GCSE notesExam dates
Knowledge organisers/GCSE Computer Science (J277)

GCSE Computer Science (J277)

Full-course coverage including programming skill-building — open any subtopic below for structured notes and examples.

208 knowledge pages in this course.

Jump to unit

  • Computer systems
  • Computational thinking, algorithms and programming
  • Skill Building:Programming (BETA)
Computer systems

1.1.1 Systems Architecture

  • The purpose of the CPU: The Fetch-Execute cycle
  • Common CPU components and their function: ALU, CU, Cache, Registers
  • Von Neumann architecture: MAR, MDR, Program Counter, Accumulator

1.1.2 CPU performance

  • How common characteristics of CPUs affect their performance: Clock speed, Cache size, Number of cores

1.1.3 Embedded Systems

  • The purpose and characteristics of embedded systems
  • Examples of embedded systems

1.2.1 Primary Storage (memory)

  • The need for primary storage
  • The difference between RAM and ROM
  • The purpose of ROM in a computer system
  • The purpose of RAM in a computer system
  • Virtual memory
  • Cache memory

1.2.2 Secondary Storage

  • The need for secondary storage
  • Common types of storage: Optical, Magnetic, Solid State
  • Suitable storage devices and storage media for a given application
  • The advantages and disadvantages of different storage devices and storage media relating to these characteristics: Capacity, speed, portability, durability, reliability, cost

1.2.3 Units

  • The units of data storage: Bit, Nibble, Byte, KB, MB, GB, TB, PB
  • How data needs to be converted into a binary format to be processed by a computer
  • Data capacity and calculation of data capacity requirements

1.2.4a Data Storage: Numbers

  • Numbers: How to convert positive denary whole numbers to binary numbers (up to and including 8 bits) and vice versa
  • Numbers: How to add two binary integers together (up to and including 8 bits) and explain overflow errors which may occur
  • Numbers: How to convert positive denary whole numbers into 2-digit hexadecimal numbers and vice versa
  • Numbers: How to convert binary integers to their hexadecimal equivalents and vice versa
  • Numbers: Binary shifts

1.2.4b Data Storage: Characters

  • Calculate file sizes of text
  • Characters: The use of binary codes to represent characters
  • Characters: The term 'character set'
  • Characters: The relationship between the number of bits per character in a character set, and the number of characters which can be represented, e.g. ASCII, Unicode

1.2.4c Data Storage: Images

  • Calculate file sizes of image
  • Images: How an image is represented as a series of pixels, represented in binary
  • Images: Metadata
  • Images: The effect of colour depth and resolution on:quality of the image, size of an image file

1.2.4d Data Storage: Sound

  • Calculate file sizes of sound
  • Sound: How sound can be sampled and stored in digital form
  • Sound: The effect of sample rate, duration and bit depth on: playback quality, size of the sound file

1.2.5 Compression

  • The need for compression
  • Types of compression: Lossy, Lossless

1.3.1 Networks and topologies

  • Types of network: LAN (Local Area Network), WAN (Wide Area Network)
  • Factors that affect the performance of networks
  • The different roles of computers in a client-server and a peer-to peer network
  • 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
  • The Internet as a worldwide collection of computer networks: DNS (Domain Name Server), Hosting, The Cloud, Web servers and clients
  • The Internet: DNS (Domain Name Server)
  • The Internet: Hosting
  • The Internet: The cloud
  • The Internet: Web servers and clients
  • Star and Mesh network topologies

1.3.2 Wired and wireless networks, protocols and layers

  • Modes of connection: Wired - Ethernet; Wireless - Wi-Fi, Bluetooth;
  • Encryption
  • IP addressing and MAC addressing
  • Standards
  • Common protocols
  • Common protocols: TCP/IP (Transmission Control Protocol/Internet Protocol)
  • Common protocols: HTTP (Hyper Text Transfer Protocol)
  • Common protocols: HTTPS (Hyper Text Transfer Protocol Secure)
  • Common protocols: FTP (File Transfer Protocol)
  • Common protocols: POP (Post Office Protocol)
  • Common protocols: IMAP (Internet Message Access Protocol)
  • Common protocols: SMTP (Simple Mail Transfer Protocol)
  • The concept of layers

1.4.1 Threats to computer systems and networks

  • Forms of attack
  • Forms of attack: Malware
  • Forms of attack: Social engineering, e.g. phishing, people as the 'weak point'
  • Forms of attack: Brute-force attacks
  • Forms of attack: Denial of service attacks
  • Forms of attack: Data interception and theft
  • Forms of attack: The concept of SQL injection

1.4.2 Identifying and preventing vulnerabilities

  • Common prevention methods
  • Common prevention methods: Penetration testing
  • Common prevention methods: Anti-malware software
  • Common prevention methods: Firewalls
  • Common prevention methods: User access levels
  • Common prevention methods: Passwords
  • Common prevention methods: Encryption
  • Common prevention methods: Physical security

1.5.1 Operating Systems

  • The purpose and functionality of operating systems: User interface, Memory management and multitasking, Peripheral management and drivers, User management, File management
  • The purpose and functionality of operating systems: User interface
  • The purpose and functionality of operating systems: Memory management and multitasking
  • The purpose and functionality of operating systems: Peripheral management and drivers
  • The purpose and functionality of operating systems: User management
  • The purpose and functionality of operating systems: File management

1.5.2 Utility software

  • The purpose and functionality of utility software
  • Utility system software: Encryption software; Defragmentation; Data compression

1.6.1 Ethical, legal, cultural and environmental impact

  • Impacts of digital technology on wider society including: Ethical issues; Legal issues; Cultural issues; Environmental issues; Privacy issues
  • Legislation relevant to Computer Science:The Data Protection Act 2018; Computer Misuse Act 1990; Copyright Designs and Patents Act 1988; Software licences (i.e. open source and proprietary)
  • Legislation relevant to Computer Science: The Data Protection Act 2018
  • Legislation relevant to Computer Science: Computer Misuse Act 1990
  • Legislation relevant to Computer Science: Copyright Designs and Patents Act 1988
  • Legislation relevant to Computer Science: Software licences (i.e. open source and proprietary)
Computational thinking, algorithms and programming

2.1.1 Computational Thinking

  • Principles of computational thinking: Abstraction; Decomposition; Algorithmic thinking.

2.1.2 Designing, creating and refining algorithms

  • Identify the inputs, processes, and outputs for a problem
  • Structure diagrams
  • Create, interpret, correct, complete, and refine algorithms using: Pseudocode
  • Create, interpret, correct, complete, and refine algorithms using: Flowcharts
  • Create, interpret, correct, complete, and refine algorithms using: Reference language/high-level programming language
  • Identify common errors
  • Trace tables

2.1.3 Searching and sorting algorithms

  • Standard searching algorithms: Binary search
  • Standard searching algorithms: Linear search
  • Standard sorting algorithms: Bubble sort
  • Standard sorting algorithms: Merge sort
  • Standard sorting algorithms: Insertion sort

2.2.1 Programming Fundamentals

  • The use of variables, constants, operators, inputs, outputs and assignments
  • The use of the three basic programming constructs used to control the flow of a program: Sequence
  • The use of the three basic programming constructs used to control the flow of a program: Selection
  • The use of the three basic programming constructs used to control the flow of a program: Iteration (count- and condition-controlled loops)
  • The common arithmetic operators
  • The common Boolean operators AND, OR and NOT

2.2.2 Data Types

  • The use of data types
  • Casting

2.2.3 Additional Programming Techniques

  • The use of basic string manipulation: Concatenation
  • The use of basic string manipulation: slicing
  • The use of basic file handling operations: Open, Read, Write, Close
  • The use of records to store data
  • The use of SQL to search for data
  • The use of arrays (or equivalent) when solving problems: one-dimensional (1D)
  • The use of arrays (or equivalent) when solving problems: two-dimensional arrays(2D)
  • How to use sub programs (functions and procedures) to produce structured code
  • Functions and Procedures: local variables
  • Functions and Procedures: global variables
  • Functions and Procedures: arrays
  • Random number generation

2.3.1 Defensive Design

  • Defensive design considerations: Anticipating misuse, Authentication
  • Input validation
  • Maintainability: Use of sub programs; Naming conventions; Indentation; Commenting

2.3.2 Testing

  • The purpose of testing
  • Types of testing: Iterative, Final/terminal
  • Identify syntax and logic errors
  • Selecting and using suitable test data: Normal; Boundary; Invalid/Erroneous
  • Refining algorithms

2.4.1 Boolean Logic

  • Simple logic diagrams using the operators AND, OR and NOT
  • Truth tables
  • Combining Boolean operators using AND, OR and NOT
  • Applying logical operators in truth tables to solve problems

2.5.1 Languages

  • Characteristics and purpose of different levels of programming language: High-level languages; Low-level languages
  • The purpose of translators
  • The characteristics of a compiler and an interpreter

2.5.2 IDEs

  • Common tools and facilities available in an Integrated Development Environment (IDE): Editors; Error diagnostics; Run-time environment; Translators
Skill Building:Programming (BETA)

301.1 Output and Sequence

  • Basic print / output
  • Literals vs variables
  • Sequence execution

301.2 Arithmetic Operators

  • Arithmetic operators
  • DIV and MOD
  • Exponentiation
  • Operator precedence

301.3 Variables and Constants

  • Declare variables
  • Constants
  • Tracing variables
  • Naming conventions

301.4 Data Types and Casting

  • Common data types
  • Choosing types
  • Casting
  • Fix type errors

301.5 Concatenation and Basic Strings

  • String concatenation
  • Strings + Numbers
  • Readable output

301.6 Input

  • Input basics
  • Numeric input
  • IPO Pattern

301.7 Maintainable Code

  • Meaningful names
  • Indentation
  • Comments
  • Tidy code comparison

301.8 Boolean Expressions

  • Comparison operators
  • Logical operators
  • Translate logic

301.9 Selection

  • IF and Else
  • ELIF chains
  • Nested IF
  • Match Case

301.10 Iteration

  • FOR loops
  • WHILE loops
  • Loop patterns
  • Loop bugs

301.11 String Manipulation

  • String length
  • Substring slicing
  • Case conversion
  • String validation

301.12 Subprograms

  • Why subprograms
  • Procedures
  • Functions
  • Scope + parameters

301.13 Testing

  • Why test?
  • Test data types
  • Dry run tracing
  • Expected vs actual
  • Test tables
  • Debugging

301.14 Random Number Generation

  • Random integers
  • Games
  • Off-by-one

301.15 File Handling Techniques

  • Opening files
  • Reading files
  • Writing files
  • Closing files

301.16 Defensive Design

  • Anticipate misuse
  • Validation checks
  • Authentication
  • Validation subprograms
  • Error messaging

301.17 Arrays and Records

  • 1D arrays
  • 2D arrays
  • Arrays in subprograms
  • Records

301.18 IDE Skills

  • Editor usage
  • Error messages
  • Running code
  • Debugging tools