Skip to content
Subjects

A-Level Computer Science

Tips

A-Level Computer Science (9618) is two halves that feel like different subjects. The theory half runs from information representation and communication through hardware, processors, system software, security, databases and ethics. The practical half is algorithms, data structures, programming and software development, and A2 adds recursion and object-oriented programming.

The theory papers are marked far more literally than students expect. There is a correct vocabulary — register names, addressing modes, normal forms, the exact difference between validation and verification — and a paraphrase usually scores nothing. Learn the definitions in the syllabus wording.

The programming papers reward writing code by hand until it compiles in your head.

  • 1

    Information representation

    Watch lesson
    • 1.1 Number systems
    • 1.1 Binary arithmetic
    • 1.1 Binary Coded Decimal (BCD)
    • 1.1 Hexadecimal — practical uses
    • 1.1 Character codes
    • 1.2 Bitmap images
    • 1.2 Vector graphics
    • 1.2 Sound
    • 1.3 Compression
    • 1.3 Definitions the examiner accepts
    • 1.3 Exam tips
  • 2

    Communication

    Watch lesson
    • 2.1 Networks: purpose and benefits
    • 2.1 LAN vs WAN
    • 2.1 Client-server and peer-to-peer
    • 2.1 Thin and thick clients
    • 2.1 Network topologies
    • 2.1 Cloud computing
    • 2.1 Wired vs wireless
    • 2.1 LAN hardware
    • 2.1 Routers
    • 2.1 Ethernet and CSMA/CD
    • 2.1 Bit streaming
    • 2.1 The internet and the World Wide Web
    • 2.1 IP addresses
    • 2.1 URL and DNS
    • 2.1 Definitions the examiner accepts
    • 2.1 Exam tips
  • 3

    Hardware

    Watch lesson
    • 3.1 Computers and their components
    • 3.1 Embedded systems
    • 3.1 Principal hardware devices
    • 3.1 Buffers
    • 3.1 RAM and ROM
    • 3.1 SRAM vs DRAM
    • 3.1 PROM, EPROM and EEPROM
    • 3.1 Monitoring and control systems
    • 3.2 Logic gates
    • 3.2 Logic circuits
    • 3.2 Definitions the examiner accepts
    • 3.2 Exam tips
  • 4

    Processor Fundamentals

    Watch lesson
    • 4.1 Von Neumann architecture
    • 4.1 The CPU's main parts
    • 4.1 Buses
    • 4.1 What affects performance
    • 4.1 Ports
    • 4.1 Fetch-Execute cycle
    • 4.1 Interrupts
    • 4.2 Assembly language and machine code
    • 4.2 Addressing modes
    • 4.2 Tracing an assembly program
    • 4.3 Binary shifts
    • 4.3 Definitions the examiner accepts
    • 4.3 Exam tips
  • 5

    System Software

    Watch lesson
    • 5.1 Operating systems
    • 5.1 Program libraries
    • 5.2 Language translators
    • 5.2 Integrated Development Environment (IDE)
    • 5.2 Definitions the examiner accepts
    • 5.2 Exam tips
  • 6

    Security, privacy and data integrity

    Watch lesson
    • 6.1 Security, privacy and integrity — three different ideas
    • 6.1 Why security matters
    • 6.1 Threats from networks and the internet
    • 6.1 Security measures
    • 6.1 Matching measures to threats
    • 6.1 Protecting the data itself
    • 6.2 Data integrity
    • 6.2 Definitions the examiner accepts
    • 6.2 Exam tips
  • 7

    Ethics and Ownership

    Watch lesson
    • 7.1 Ethics for computing professionals
    • 7.1 Copyright
    • 7.1 Software licences
    • 7.1 Artificial Intelligence (AI)
    • 7.1 Definitions the examiner accepts
    • 7.1 Exam tips
  • 8

    Databases

    Watch lesson
    • 8.1 File-based storage and its limits
    • 8.1 Relational model — terms
    • 8.1 Entity-relationship (E-R) diagrams
    • 8.1 Normalisation
    • 8.2 Database Management System (DBMS)
    • 8.3 DDL and DML
    • 8.3 Definitions the examiner accepts
    • 8.3 Exam tips
  • 9

    Algorithm Design and Problem-solving

    Watch lesson
    • 9.1 Computational thinking
    • 9.2 Algorithms
    • 9.2 Identifier table
    • 9.2 Pseudocode — the three basic constructs
    • 9.2 Three notations
    • 9.2 Stepwise refinement
    • 9.2 Logic statements
    • 9.2 Definitions the examiner accepts
    • 9.2 Exam tips
  • 10

    Data Types and Structures

    Watch lesson
    • 10.1 Choosing data types
    • 10.1 Records
    • 10.2 Arrays
    • 10.3 Files
    • 10.4 Abstract Data Types (ADTs)
    • 10.4 Implementing ADTs using arrays
    • 10.4 Definitions the examiner accepts
    • 10.4 Exam tips
  • 11

    Programming

    Watch lesson
    • 11.1 Programming basics
    • 11.2 Selection
    • 11.2 Iteration
    • 11.3 Procedures and functions
    • 11.3 Writing efficient pseudocode
    • 11.3 Testing and errors
    • 11.3 Definitions the examiner accepts
    • 11.3 Exam tips
  • 12

    Software Development

    Watch lesson
    • 12.1 Program development life cycle
    • 12.2 Program design tools
    • 12.3 Errors
    • 12.3 Testing methods
    • 12.3 Test strategy and test plan
    • 12.3 Maintenance
    • 12.3 Amending an existing program
    • 12.3 Definitions the examiner accepts
    • 12.3 Exam tips
  • 13

    Data Representation

    Watch lesson
    • 13.1 User-defined data types
    • 13.2 File organisation and access
    • 13.2 Hashing
    • 13.3 Floating-point numbers
    • 13.3 Definitions the examiner accepts
    • 13.3 Exam tips
  • 14

    Communication and internet technologies

    Watch lesson
    • 14.1 Why protocols are needed
    • 14.1 Layered protocols
    • 14.1 TCP/IP protocol suite
    • 14.1 Common application-layer protocols
    • 14.2 Circuit switching vs packet switching
    • 14.2 Definitions the examiner accepts
    • 14.2 Exam tips
  • 15

    Hardware and Virtual Machines

    Watch lesson
    • 15.1 RISC vs CISC processors
    • 15.1 Pipelining
    • 15.1 Flynn's taxonomy
    • 15.1 Massively parallel computers
    • 15.1 Virtual machines
    • 15.2 Boolean algebra
    • 15.2 Karnaugh maps
    • 15.2 Half adder and full adder
    • 15.2 Flip-flops
    • 15.2 Definitions the examiner accepts
    • 15.2 Exam tips
  • 16

    System Software

    Watch lesson
    • 16.1 How an OS maximises use of resources
    • 16.1 The user interface
    • 16.1 Process management
    • 16.1 Virtual memory, paging, segmentation
    • 16.2 How an interpreter runs a program
    • 16.2 Stages of compilation
    • 16.2 Grammar: BNF and syntax diagrams
    • 16.2 Reverse Polish Notation (RPN)
    • 16.2 Definitions the examiner accepts
    • 16.2 Exam tips
  • 17

    Security

    Watch lesson
    • 17.1 How encryption works
    • 17.1 SSL / TLS
    • 17.1 Digital certificates
    • 17.1 Digital signatures
    • 17.1 Definitions the examiner accepts
    • 17.1 Exam tips
  • 18

    Artificial Intelligence (AI)

    Watch lesson
    • 18.1 What AI is
    • 18.1 Graphs in AI
    • 18.1 Artificial neural networks (ANNs)
    • 18.1 Machine learning, deep learning, reinforcement learning
    • 18.1 Training an ANN: backpropagation
    • 18.1 Regression
    • 18.1 How AI is used in a real scenario
    • 18.1 Definitions the examiner accepts
    • 18.1 Exam tips
  • 19

    Computational thinking and Problem-solving

    Watch lesson
    • 19.1 Searching algorithms
    • 19.1 Sorting algorithms
    • 19.1 ADTs in algorithms
    • 19.1 Comparing algorithms
    • 19.2 Recursion
    • 19.2 What the compiler does for recursive code
    • 19.2 Definitions the examiner accepts
    • 19.2 Exam tips
  • 20

    Further Programming

    Watch lesson
    • 20.1 Programming paradigms
    • 20.2 File processing
    • 20.2 Exception handling
    • 20.2 Definitions the examiner accepts
    • 20.2 Exam tips

Log in or create account

IGCSE, A-Level & AP