Course Outline

CS Workout is designed to cover the specific requirements and topics outlined by each exam board - OCR, AQA and Edexcel (SQA, WJEC/Eduqas, and CIE coming soon), ensuring that students gain a robust understanding of computer science principles and practical skills. Whether you're looking to excel in theoretical concepts, master programming techniques, or understand the ethical implications of technology, CS Workout provides all the essential knowledge and tools you need to succeed.

Explore the detailed specifications below to see how CS Workout aligns with your chosen exam board.

  •   OCR J277

    The OCR GCSE Computer Science course offers students a comprehensive foundation in computing concepts and programming skills. This course emphasises practical problem-solving and theoretical knowledge, preparing students for further education and careers in the rapidly evolving tech industry.

    OCR specification CSW Topics
    1.1 Systems architecture
      1.1.1 Architecture of the CPU
    • ⚬ The Purpose of the CPU
    • ⚬ Common CPU Components and their Function
    • ⚬ Von Neumann Architecture
      1.1.2 CPU performance
    • ⚬ CPU Performance
      1.1.3 Embedded systems
    • ⚬ Embedded Systems
    1.2 Memory and storage
      1.2.1 Primary storage (Memory)
    • ⚬ Primary Storage
      1.2.2 Secondary storage
    • ⚬ Secondary Storage
      1.2.3 Units
    • ⚬ Units
      1.2.4 Data storage
    • ⚬ Binary Numbers
    • ⚬ Hexadecimal Numbers
    • ⚬ Characters
    • ⚬ Images
    • ⚬ Sound
      1.2.5 Compression
    • ⚬ Compression
    1.3 Computer networks, connections and protocols
      1.3.1 Networks and topologies
    • ⚬ Networks
    • ⚬ Network Performance
    • ⚬ Network Models
    • ⚬ Network Hardware
    • ⚬ The Internet
    • ⚬ Network Topology
      1.3.2 Wired and wireless networks, protocols and layers
    • ⚬ Modes of Connection
    • ⚬ Encryption
    • ⚬ IP and MAC Addressing
    • ⚬ Standards and Protocols
    • ⚬ Layers
    1.4 Network security
      1.4.1 Threats to computer systems and networks
    • ⚬ Network Threats
      1.4.2 Identifying and preventing vulnerabilities
    • ⚬ Preventing Security Threats
    1.5 Systems software
      1.5.1 Operating systems
    • ⚬ Operating Systems
      1.5.2 Utility software
    • ⚬ Utility Software
    1.6 Ethical, legal, cultural and environmental impacts of digital technology
      1.6.1 Ethical, legal, cultural and environmental impact
    • ⚬ Impacts of Digital Technology
    • ⚬ Ethical Issues
    • ⚬ Legal Issues
    • ⚬ Cultural Issues
    • ⚬ Environmental Issues
    • ⚬ Privacy Issues
    • ⚬ Legislation
    2.1 Algorithms
      2.1.1 Computational thinking
    • ⚬ Computational Thinking
      2.1.2 Designing, creating and refining algorithms
    • ⚬ Identify the Inputs, Processes and Outputs for a Problem
    • ⚬ Structure Diagrams
    • ⚬ Using Pseudocode
    • ⚬ OCR Exam Reference Language
    • ⚬ Using Flowcharts
    • ⚬ Identifying Common Errors
    • ⚬ Trace Tables
      2.1.3 Searching and sorting algorithms
    • ⚬ Linear Search
    • ⚬ Binary Search
    • ⚬ Bubble Sort
    • ⚬ Merge Sort
    • ⚬ Insertion Sort
    2.2 Programming fundamentals
      2.2.1 Programming fundamentals
    • ⚬ Variables and Constants
    • ⚬ Inputs and Outputs
    • ⚬ Programming Constructs
    • ⚬ Sequence
    • ⚬ Selection
    • ⚬ Iteration
    • ⚬ Arithmetic Operators
    • ⚬ Comparison Operators
    • ⚬ Boolean Operators
      2.2.2 Data types
    • ⚬ Data Types
    • ⚬ Casting
      2.2.3 Additonal programming
    • ⚬ String Manipulation
    • ⚬ File Handling
    • ⚬ Structured Records
    • ⚬ Searching Data
    • ⚬ Arrays
    • ⚬ Two-Dimensional Arrays
    • ⚬ Sub Programs
    • ⚬ Random Number Generation
    2.3 Producing robust programs
      2.3.1 Defensive design
    • ⚬ Defensive design
    • ⚬ Maintainability
      2.3.2 Testing
    • ⚬ Testing
    2.4 Boolean logic
      2.4.1 Boolean logic
    • ⚬ Boolean Logic
    • ⚬ Logic Circuits
    2.5 Programming languages and Integrated Development Environments
      2.5.1 Languages
    • ⚬ Languages
    • ⚬ Translators
      2.5.2 The Integrated Development Environment (IDE)
    • ⚬ The Integrated Development Environment (IDE)
  •   AQA 8525

    The AQA GCSE Computer Science course is designed to develop students' understanding of computer science principles and enhance their problem-solving skills using programming. This course balances theoretical concepts with practical application, fostering critical thinking and technical proficiency.

    AQA specification CSW Topics
    3.1 Fundamentals of algorithms
      3.1.1 Representing algorithms
    • ⚬ Computational Thinking
    • ⚬ Using Flowcharts
    • ⚬ Using Pseudo-code
    • ⚬ AQA Pseudo-code
    • ⚬ Identify the Inputs, Processes and Outputs for a Problem
    • ⚬ Determining the Purpose of an Algorithm
    • ⚬ Trace Tables
      3.1.2 Efficiency of algorithms
    • ⚬ Efficiency of Algorithms
      3.1.3 Searching algorithms
    • ⚬ Linear Search
    • ⚬ Binary Search
    • ⚬ Comparing Search Algorithms
      3.1.4 Sorting algorithms
    • ⚬ Merge Sort
    • ⚬ Bubble Sort
    • ⚬ Comparing Sorting Algorithms
    3.2 Programming
      3.2.1 Data types
    • ⚬ Data Types
      3.2.2 Programming concepts
    • ⚬ Variables and Constants
    • ⚬ Programming Constructs
    • ⚬ Sequence
    • ⚬ Selection
    • ⚬ Iteration
    • ⚬ Subrountines
      3.2.3 Arithmetic operations in a programming language
    • ⚬ Arithmetic Operators
      3.2.4 Relational operations in a programming language
    • ⚬ Relational Operators
      3.2.5 Boolean operations in a programming language
    • ⚬ Boolean Operators
      3.2.6 Data structures
    • ⚬ Arrays
    • ⚬ Two-Dimensional Arrays
    • ⚬ Records
      3.2.7 Input/output
    • ⚬ Inputs and Outputs
      3.2.8 String handling operations in a programming language
    • ⚬ String Manipulation
    • ⚬ Casting
    • ⚬ Character Conversion
      3.2.9 Random number generation in a programming language
    • ⚬ Random Number Generation
      3.2.10 Structured programming and subroutines (procedures and functions)
    • ⚬ Subrountines
    • ⚬ Structured Programming
      3.2.11 Robust and secure programming
    • ⚬ Authentication and validation
    • ⚬ Testing
    3.3 Fundamentals of data representation
      3.3.1 Number bases
    • ⚬ Binary Numbers
    • ⚬ Hexadecimal Numbers
      3.3.2 Converting between number bases
    • ⚬ Converting Binary Numbers
    • ⚬ Converting Hexadecimal Numbers
      3.3.3 Units of information
    • ⚬ Units
      3.3.4 Binary arithmetic
    • ⚬ Binary Arithmetic
    • ⚬ Binary Shifts
      3.3.5 Character encoding
    • ⚬ Character Encoding
      3.3.6 Representing images
    • ⚬ Representing Images
      3.3.7 Representing sound
    • ⚬ Representing Sound
      3.3.8 Data compression
    • ⚬ Data Compression
    • ⚬ Huffman Coding
    • ⚬ Run-Length Encoding
    3.4 Computer systems
      3.4.1 Hardware and software
    • ⚬ Hardware and Software
      3.4.2 Boolean logic
    • ⚬ Boolean Logic
    • ⚬ Logic Circuits
      3.4.3 Software classification
    • ⚬ Operating Systems
    • ⚬ Utility Software
    • ⚬ Application Software
      3.4.4 Classification of programming languages and translators
    • ⚬ Classification of Programming Languages
    • ⚬ Translators
      3.4.5 Systems architecture
    • ⚬ The Purpose of the CPU
    • ⚬ Common CPU Components and their Function
    • ⚬ Von Neumann Architecture
    • ⚬ CPU Performance
    • ⚬ Primary Storage (Memory)
    • ⚬ Secondary Storage
    • ⚬ Cloud Storage
    • ⚬ Embedded Systems
    3.5 Fundamentals of computer networks
      3.5 Fundamentals of computer networks
    • ⚬ Networks
    • ⚬ Wired and Wireless Networks
    • ⚬ Topologies
    • ⚬ Network Protocols
    • ⚬ Network Security
    • ⚬ Encyption
    • ⚬ TCP/IP Layers
    3.6 Cyber security
      3.6.1 Fundamentals of cyber security
    • ⚬ Cyber Security
      3.6.2 Cyber security threats
    • ⚬ Penetration Testing
    • ⚬ Social Engineering
    • ⚬ Malicious Code
      3.6.3 Methods to detect and prevent cyber security threats
    • ⚬ Preventing Security Threats
    3.7 Relational databases and structured query language
      3.7.1 Relational databases
    • ⚬ Database Concepts
    • ⚬ Relational Databases
      3.7.2 Structured query language (SQL)
    • ⚬ Structured Query Language (SQL)
    • ⚬ Multi-Table Queries
    • ⚬ Manipulating Data
    3.8 Ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy
      3.8 Impacts of Digital Technology
    • ⚬ Impacts of Digital Technology
    • ⚬ Cyber Security
    • ⚬ Mobile Technologies
    • ⚬ Wireless Networking
    • ⚬ Cloud Storage
    • ⚬ Hacking
    • ⚬ Wearable Technologies
    • ⚬ Computer Based Implants
    • ⚬ Autonomous Vehicles
    • ⚬ Legislation
  •   Edexcel 1CP2

    The Edexcel GCSE Computer Science course provides students with a solid understanding of computational theory and practical programming experience. This course focuses on developing logical thinking and problem-solving abilities, crucial for success in computing and technology fields.

    Edexcel specification CSW Topics
    1 Computational thinking
      1.1 Decomposition and abstraction
    • ⚬ Computational Thinking
    • ⚬ Using Subprograms
      1.2 Algorithms
    • ⚬ Identify the Inputs, Processes and Outputs for a Problem
    • ⚬ Using Flowcharts
    • ⚬ Using Pseudocode
    • ⚬ Programming Constructs
    • ⚬ Variables and Constants
    • ⚬ Arrays
    • ⚬ Two-Dimensional Arrays
    • ⚬ Arithmetic Operators
    • ⚬ Relational Operators
    • ⚬ Logical Operators
    • ⚬ Determining the Purpose of an Algorithm
    • ⚬ Trace Tables
    • ⚬ Types of Error
    • ⚬ Bubble Sort
    • ⚬ Merge Sort
    • ⚬ Comparing Sorting Algorithms
    • ⚬ Linear Search
    • ⚬ Binary Search
    • ⚬ Comparing Search Algorithms
    • ⚬ Efficiency of Algorithms
      1.3 Truth tables
    • ⚬ Boolean Logic
    • ⚬ Logic Circuits
    2 Data
      2.1 Binary
    • ⚬ Binary Numbers
    • ⚬ Converting Binary Numbers
    • ⚬ Two’s Complement Signed Integers
    • ⚬ Binary Arithmetic
    • ⚬ Binary Shift
    • ⚬ Hexadecimal Numbers
    • ⚬ Converting Hexadecimal Numbers
      2.2 Data representation
    • ⚬ Characters
    • ⚬ Images
    • ⚬ Sound
      2.3 Data storage and compression
    • ⚬ Binary Units of Measurement
    • ⚬ Data Compression
    3 Computers
      3.1 Hardware
    • ⚬ The Purpose of the CPU
    • ⚬ Common CPU Components and their Function
    • ⚬ Von Neumann Architecture
    • ⚬ CPU Performance
    • ⚬ Main Memory
    • ⚬ Secondary Storage
    • ⚬ Embedded Systems
      3.2 Software
    • ⚬ Operating Systems
    • ⚬ Utility Software
      3.3 Programming languages
    • ⚬ Programming Languages
    • ⚬ Translators
    4 Networks
      4.1 Networks
    • ⚬ Networks
    • ⚬ The Internet
    • ⚬ IP and MAC Addressing
    • ⚬ Wired and Wireless Networks
    • ⚬ Network Performance
    • ⚬ Network Protocols
    • ⚬ TCP/IP Layers
    • ⚬ Topologies
      4.2 Network security
    • ⚬ Cyber Security
    • ⚬ Network Threats
    • ⚬ Preventing Security Threats
    5 Issues and impact
      5.1 Environmental
    • ⚬ Environmental Issues
      5.2 Ethical and legal
    • ⚬ Personal Data
    • ⚬ Legislation
    • ⚬ Artificial Intelligence (AI)
    • ⚬ Intellectual Property (IP)
    • ⚬ Software Licensing
      5.3 Cybersecurity
    • ⚬ Malware
    • ⚬ Social Engineering
    • ⚬ Encyption
    6 Problem solving with programming
      6.1 Develop code
    • ⚬ Structure Diagrams
    • ⚬ Maintainability
      6.2 Constructs
    • ⚬ Subrountines
    • ⚬ Sequence
    • ⚬ Selection
    • ⚬ Iteration
      6.3 Data types and structures
    • ⚬ Data Types
    • ⚬ Casting
    • ⚬ String Manipulation
      6.4 Input/output
    • ⚬ Inputs and Outputs
    • ⚬ Opening and Reading Files
    • ⚬ File Writing Basics
    • ⚬ Authentication and Validation
    • ⚬ Defensive Design
      6.5 Operators
    • ⚬ Arithmetic Operators
    • ⚬ Relational Operators
    • ⚬ Logical Operators
      6.6 Subprograms
    • ⚬ Structured Programming
  •   Python Programming

    Python is one of the most popular programming languages in the world, known for its simplicity and versatility. Our Python programming section is designed to equip students with essential coding skills, focusing on both fundamental concepts and advanced techniques. Through hands-on exercises and real-world projects, students will learn to write efficient, readable, and robust code, preparing them for further studies and careers in computer science and related fields.

    Python Programming Topics
    1 Getting started with Python
      1.1 Introduction to Python
    • ⚬ Introduction to Python
      1.2 Setting up the environment
    • ⚬ Setting up the Environment
    • ⚬ Hello, World!
      1.3 Understanding the Python interactive Shell
    • ⚬ The Shell Window
    2 Basic Python syntax and data types
      2.1 Python syntax
    • ⚬ Basic Python Syntax
      2.2 Variables and data types
    • ⚬ Variables and Assignment
    • ⚬ Basic Data Types
      2.3 Basic operators
    • ⚬ Arithmetic Operators
    • ⚬ Relational Operators
    • ⚬ Boolean Operators
    3 Input and output
      3.1 Basic input and output
    • ⚬ Input and Output
    4 Control structures
      4.1 Conditional statements
    • ⚬ Conditions (if, elif, & else)
    • ⚬ Nested Conditions
      4.2 Loops
    • ⚬ For Loops
    • ⚬ While Loops
    • ⚬ Break and Continue Statements
    5 Data structures
      5.1 Lists
    • ⚬ Lists
    • ⚬ List Iteration
    • ⚬ 2D Lists
      5.2 Tuples
    • ⚬ Tuples
      5.3 Sets
    • ⚬ Sets
      5.4 Dictionaries
    • ⚬ Dictionaries
    6 Functions and modules
      6.1 Functions
    • ⚬ Introduction to Functions
    • ⚬ Function Arguments
    • ⚬ Variable Scope
    • ⚬ Advanced Argument Handling
    • ⚬ Advanced Function Concepts
    • ⚬ Recursion
    • ⚬ Lambda Functions
      6.2 Modules and packages
    • ⚬ Introduction to Modules
    • ⚬ Creating Custom Modules
    • ⚬ Introduction to Packages
    • ⚬ External Modules
    7 String manipulation
      7.1 String operations
    • ⚬ String Handling
    • ⚬ String Formatting
    • ⚬ String Indexing and Slicing
    • ⚬ Character Codes
    8 File handling
      8.1 File handling
    • ⚬ Opening and Reading Files
    • ⚬ File Path Management
    • ⚬ File Writing Basics
    • ⚬ Deleting and Renaming Files
    9 Error handling
      9.1 Errors
    • ⚬ Introduction to Errors
      9.2 Exceptions
    • ⚬ Understanding Exceptions
    • ⚬ Raising Exceptions
    • ⚬ The Try/Except Statement
      9.3 Debugging
    • ⚬ Understanding Debugging
    • ⚬ The PDB Module
    10 Validation and regular expressions
      10.1 Validation
    • ⚬ Introduction to Validation
    • ⚬ Implementing Validation
      10.2 Regular expressions
    • ⚬ Introduction to Regular Expressions
    • ⚬ The re Module
    • ⚬ Basic Syntax
    • ⚬ Wildcards
    • ⚬ Character Classes
    • ⚬ Quantifiers
    • ⚬ Validating User Data

Have any questions? Get in Touch