Source: https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-1-elements-of-computer-systems

[Revision notes](https://senecalearning.com/en-gb/revision-notes.md) › [A Level](https://senecalearning.com/en-gb/revision-notes/a-level.md) › [Computer Science](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science.md) › [OCR](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr.md) › Elements of Computer Systems

# Elements of Computer Systems

Computer Science: OCR A Level, topic 1.3.1

## Elements of Computer Systems

Computer systems are made of hardware and software which work together. Hardware are the physical components of the computer, such as:

### Input/Output (I/O) devices

![Input/Output (I/O) devices](https://image-v2.cdn.app.senecalearning.com/2018-05/5a9662ab-b70b-4e5b-911b-d70513b89d02/shutterstock_747571558.jpg)

- I/O devices allow users to input data into the computer, or receive a data output from the computer.
- Examples of common I/O devices are:
 - Keyboard.
 - Mouse.
 - Monitor.
 - Speakers.

### Processors

![Processors](https://image-v2.cdn.app.senecalearning.com/2018-06/f43e53b5-3a4b-4683-894b-da5e6ac1cc89/board-electronics-computer-data-processing-50711.jpeg)

- A processor is a special component that processes data and instructions to control other components within the computer.
- The two main types of processor are:
 - Central Processing Unit (CPU).
 - Graphics Processing Unit (GPU).

### Primary storage

![Primary storage](https://image-v2.cdn.app.senecalearning.com/2024-01/68c889b2-c24d-4d06-8011-b7c4bf861128/data.jpg)

- Primary storage is the memory in which the computer can store the data or instructions that are currently in use.
- The two main types of primary storage are:
 - Random Access Memory (RAM).
 - Read-Only Memory (ROM).

### Secondary storage

![Secondary storage](https://image-v2.cdn.app.senecalearning.com/2018-06/a7353424-a390-4fed-a158-bb368bb8af21/shutterstock_344487563.jpg)

- Secondary storage is the memory in which the computer can store the data or instructions which are NOT currently in use.
- Not all computer systems use secondary storage.
- The main types of secondary storage are:
 - Hard Disk Drive (HDD).
 - Solid State Drive (SSD).
 - Compact Disk (CD).
 - Flash (USB Drive).

## Types of Computer System

There are lots of different types of computer systems, including:

### General purpose systems

![General purpose systems](https://image-v2.cdn.app.senecalearning.com/2018-03/6b1555d1-32f7-4034-b912-8e225967903e/shutterstock_337921478.jpg)

- General purpose systems are capable of performing many different tasks.
- For example:
 - PCs
 - Macs
 - Smartphones

### Embedded systems

![Embedded systems](https://image-v2.cdn.app.senecalearning.com/courseImages/physics/4.3.4%20Electric%20Safety/washing-machine-2668472_640-min.jpg)

- An embedded system is a computer system which is built into another device to support its operation.
- For example:
 - Washing machines.
 - Digital cameras.
 - Sat-Navs.

## Test yourself on Elements of Computer Systems

- Toggle until all are correct: common Input/Output devices include..?
- Where does the computer store data and instructions which are NOT currently in use?
- A client has asked you to develop a self-checkout machine for his small supermarket which allows customers to scan their shopping and pay for it without him having to oversee the process. 

What type of computer system would you be developing?

[Practise this topic for free](https://app.senecalearning.com/classroom/course/0427a30a-fd38-4222-9775-2d193021a4a1/section/03388f3c-37bd-4ab6-ba9c-fd9276adb634/session)

- Previous topic: [1.2.3 Multicore & Parallel Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-2-3-multicore-and-parallel-systems.md)
- Next topic: [1.3.2 Types of Computer Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-2-types-of-computer-systems.md)

## Computer Science: OCR A Level contents

### 1 Components of a Computer
- 1.1 Structure & Function of  the Processor
  - [1.1.1 Von Neumann Architecture](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-1-von-neumann-architecture.md)
  - [1.1.2 Registers](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-2-registers.md)
  - [1.1.3 Buses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-3-buses.md)
  - [1.1.4 Fetch, Decode, Execute Cycle](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-4-fetch-decode-execute-cycle.md)
  - [1.1.5 Factors Affecting CPU Performance](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-5-factors-affecting-cpu-performance.md)
  - [1.1.6 Pipelining](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-6-pipelining.md)
  - [1.1.7 CPU Architecture](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-1-7-cpu-architecture.md)
- 1.2 Types of Processors
  - [1.2.1 CISC & RISC](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-2-1-cisc-and-risc.md)
  - [1.2.2 GPUs & Their Uses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-2-2-gpus-and-their-uses.md)
  - [1.2.3 Multicore & Parallel Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-2-3-multicore-and-parallel-systems.md)
- 1.3 Input, Output & Storage
  - [1.3.1 Elements of Computer Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-1-elements-of-computer-systems.md)
  - [1.3.2 Types of Computer Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-2-types-of-computer-systems.md)
  - [1.3.3 How Magnetic Storage Works](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-3-how-magnetic-storage-works.md)
  - [1.3.4 Properties of Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-4-properties-of-magnetic-storage.md)
  - [1.3.5 Examples of Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-5-examples-of-magnetic-storage.md)
  - [1.3.6 How Optical Storage Works](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-6-how-optical-storage-works.md)
  - [1.3.7 Properties of Optical Storage](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-7-properties-of-optical-storage.md)
  - [1.3.8 Examples of Optical Storage](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-8-examples-of-optical-storage.md)
  - [1.3.9 Types of Optical Disc](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-9-types-of-optical-disc.md)
  - [1.3.10 Random Access Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-10-random-access-memory.md)
  - [1.3.11 Read Only Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-11-read-only-memory.md)
  - [1.3.12 Uses of Flash Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-12-uses-of-flash-memory.md)
  - [1.3.13 Properties of Flash Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-13-properties-of-flash-memory.md)
  - [1.3.14 What to do When We Run Out of Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-14-what-to-do-when-we-run-out-of-memory.md)
  - [1.3.15 How Virtual Memory Works](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/1-3-15-how-virtual-memory-works.md)

### 2 Software & Software Development
- 2.1 Systems Software
  - [2.1.1 Operating Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-1-operating-systems.md)
  - [2.1.2 Managing Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-2-managing-memory.md)
  - [2.1.3 Paging](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-3-paging.md)
  - [2.1.4 Segmentation](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-4-segmentation.md)
  - [2.1.5 Device Management & Drivers](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-5-device-management-and-drivers.md)
  - [2.1.6 Interrupts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-6-interrupts.md)
  - [2.1.7 Interrupt Service Routine (ISR)](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-7-interrupt-service-routine-isr.md)
  - [2.1.8 Scheduling](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-8-scheduling.md)
  - [2.1.9 Types of Scheduling](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-9-types-of-scheduling.md)
  - [2.1.10 Types of Operating System](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-10-types-of-operating-system.md)
  - [2.1.11 BIOS](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-11-bios.md)
  - [2.1.12 Virtual Machines](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-1-12-virtual-machines.md)
- 2.2 Applications Generation
  - [2.2.1 Applications Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-1-applications-software.md)
  - [2.2.2 Utilities](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-2-utilities.md)
  - [2.2.3 Encryption Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-3-encryption-software.md)
  - [2.2.4 Defragmentation Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-4-defragmentation-software.md)
  - [2.2.5 Data Compression Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-5-data-compression-software.md)
  - [2.2.6 Backup Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-6-backup-software.md)
  - [2.2.7 Open Source Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-7-open-source-software.md)
  - [2.2.8 Proprietary Software](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-8-proprietary-software.md)
  - [2.2.9 Licensing Issues](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-9-licensing-issues.md)
  - [2.2.10 Compilers](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-10-compilers.md)
  - [2.2.11 Interpreters](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-11-interpreters.md)
  - [2.2.12 Assemblers](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-12-assemblers.md)
  - [2.2.13 Compiling a Program](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-13-compiling-a-program.md)
  - [2.2.14 Lexical Analysis](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-14-lexical-analysis.md)
  - [2.2.15 Compilation Stages](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-15-compilation-stages.md)
  - [2.2.16 Linkers, Loaders & Libraries](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-2-16-linkers-loaders-and-libraries.md)
- 2.3 Software Development
  - [2.3.1 Algorithmic Thinking](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-1-algorithmic-thinking.md)
  - [2.3.2 Waterfall Lifecycle](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-2-waterfall-lifecycle.md)
  - [2.3.3 Waterfall Lifecycle - Strengths & Weaknesses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-3-waterfall-lifecycle-strengths-and-weaknesses.md)
  - [2.3.4 Agile Methodology](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-4-agile-methodology.md)
  - [2.3.5 Agile Methodology - Strengths & Weaknesses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-5-agile-methodology-strengths-and-weaknesses.md)
  - [2.3.6 Extreme Programming](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-6-extreme-programming.md)
  - [2.3.7 Extreme Programming - Strengths & Weaknesses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-7-extreme-programming-strengths-and-weaknesses.md)
  - [2.3.8 Spiral Methodology](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-8-spiral-methodology.md)
  - [2.3.9 Spiral Methodology - Strengths & Weaknesses](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-9-spiral-methodology-strengths-and-weaknesses.md)
  - [2.3.10 Rapid Application Development](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-10-rapid-application-development.md)
  - [2.3.11 RAD - Strengths & Weaknesse](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-3-11-rad-strengths-and-weaknesse.md)
- 2.4 Types of Programming Language
  - [2.4.1 High Level Programming Languages](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-1-high-level-programming-languages.md)
  - [2.4.2 Low Level Programming Languages](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-2-low-level-programming-languages.md)
  - [2.4.3 Programming Paradigms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-3-programming-paradigms.md)
  - [2.4.4 Procedural Programming Languages](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-4-procedural-programming-languages.md)
  - [2.4.5 Assembly](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-5-assembly.md)
  - [2.4.6 Machine Code](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-6-machine-code.md)
  - [2.4.7 Modes of Addressing Memory](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-7-modes-of-addressing-memory.md)
  - [2.4.8 Object-Oriented Languages](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-8-object-oriented-languages.md)
  - [2.4.9 Classes](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-9-classes.md)
  - [2.4.10 Objects](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-10-objects.md)
  - [2.4.11 Encapsulation](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-11-encapsulation.md)
  - [2.4.12 Polymorphism](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-12-polymorphism.md)

### 3 Exchanging Data
- 3.1 Compression, Encryption & Hashing
  - [3.1.1 Compression](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-1-compression.md)
  - [3.1.2 Run Length Encoding](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-2-run-length-encoding.md)
  - [3.1.3 Dictionary Coding](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-3-dictionary-coding.md)
  - [3.1.4 Encryption](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-4-encryption.md)
  - [3.1.5 Symmetric Encryption](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-5-symmetric-encryption.md)
  - [3.1.6 Hashing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-1-6-hashing.md)
- 3.2 Databases
  - [3.2.1 Records](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-1-records.md)
  - [3.2.2 Databases](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-2-databases.md)
  - [3.2.3 Relational Databases](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-3-relational-databases.md)
  - [3.2.4 Entity Relationship Modelling](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-4-entity-relationship-modelling.md)
  - [3.2.5 Managing Databases](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-5-managing-databases.md)
  - [3.2.6 Normalisation](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-6-normalisation.md)
  - [3.2.7 SQL](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-7-sql.md)
  - [3.2.8 Principles of Data Storage](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-8-principles-of-data-storage.md)
  - [3.2.9 Atomicity, Consistency, Isolation & Durability](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-2-9-atomicity-consistency-isolation-and-durability.md)
- 3.3 Networks
  - [3.3.1 The Benefits of Networks](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-1-the-benefits-of-networks.md)
  - [3.3.2 Network Performance](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-2-network-performance.md)
  - [3.3.3 Types of Networks](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-3-types-of-networks.md)
  - [3.3.4 Network Protocols](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-4-network-protocols.md)
  - [3.3.5 Transmission Protocols](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-5-transmission-protocols.md)
  - [3.3.6 What is the Internet?](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-6-what-is-the-internet.md)
  - [3.3.7 Uniform Resource Locators](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-7-uniform-resource-locators.md)
  - [3.3.8 Domain Name Service](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-8-domain-name-service.md)
  - [3.3.9 Web Hosting](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-9-web-hosting.md)
  - [3.3.10 Layering Concepts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-10-layering-concepts.md)
  - [3.3.11 TCP &. OSI Models](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-11-tcp-and-osi-models.md)
  - [3.3.12 The Advantages of Layering](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-12-the-advantages-of-layering.md)
  - [3.3.13 What's in a Packet?](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-13-whats-in-a-packet.md)
  - [3.3.14 How do Packets get Routed?](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-14-how-do-packets-get-routed.md)
  - [3.3.15 Did my Data Arrive Safely?](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-15-did-my-data-arrive-safely.md)
  - [3.3.16 Network Hardware](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-16-network-hardware.md)
  - [3.3.17 Transmission Media](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-17-transmission-media.md)
  - [3.3.18 Firewalls](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-18-firewalls.md)
  - [3.3.19 Proxies](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-19-proxies.md)
  - [3.3.20 Client-Server Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-20-client-server-model.md)
  - [3.3.21 Advantages of the Client Server Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-21-advantages-of-the-client-server-model.md)
  - [3.3.22 Disadvantages of the Client Server Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-22-disadvantages-of-the-client-server-model.md)
  - [3.3.23 Peer-to-Peer Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-23-peer-to-peer-model.md)
  - [3.3.24 Advantages of the Peer-to-Peer Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-24-advantages-of-the-peer-to-peer-model.md)
  - [3.3.25 Disadvantages of the Peer-to-Peer Model](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-3-25-disadvantages-of-the-peer-to-peer-model.md)
- 3.4 Web Technologies
  - [3.4.1 HTML](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-1-html.md)
  - [3.4.2 CSS](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-2-css.md)
  - [3.4.3 JavaScript](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-3-javascript.md)
  - [3.4.4 Search Engine Indexing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-4-search-engine-indexing.md)
  - [3.4.5 PageRank Algorithm](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-5-pagerank-algorithm.md)
  - [3.4.6 Server & Client-Side Processing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/3-4-6-server-and-client-side-processing.md)

### 4 Data Types, Data Structures & Algorithms
- 4.1 Data Types
  - [4.1.1 Data Types](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-1-data-types.md)
  - [4.1.2 Casting](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-2-casting.md)
  - [4.1.3 Arrays](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-3-arrays.md)
  - [4.1.4 2D Arrays](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-4-2d-arrays.md)
  - [4.1.5 Strings](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-5-strings.md)
  - [4.1.6 Binary](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-6-binary.md)
  - [4.1.7 Sign & Magnitude](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-7-sign-and-magnitude.md)
  - [4.1.8 Binary Addition](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-8-binary-addition.md)
  - [4.1.9 Binary Shifts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-9-binary-shifts.md)
  - [4.1.10 Hexadecimal](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-10-hexadecimal.md)
  - [4.1.11 Using Hexadecimal](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-11-using-hexadecimal.md)
  - [4.1.12 Converting Binary & Hexadecimal](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-12-converting-binary-and-hexadecimal.md)
  - [4.1.13 Converting Denary & Hexadecimal](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-13-converting-denary-and-hexadecimal.md)
  - [4.1.14 Floating Points in Binary](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-14-floating-points-in-binary.md)
  - [4.1.15 Normalisation of Floating Points](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-15-normalisation-of-floating-points.md)
  - [4.1.16 Floating Point Addition](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-16-floating-point-addition.md)
  - [4.1.17 Floating Point Subtraction](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-17-floating-point-subtraction.md)
  - [4.1.18 Bitwise Manipulation - Shifts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-18-bitwise-manipulation-shifts.md)
  - [4.1.19 Bitwise Manipulation - Masks](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-19-bitwise-manipulation-masks.md)
  - [4.1.20 Character Sets](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-20-character-sets.md)
  - [4.1.21 ASCII](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-21-ascii.md)
  - [4.1.22 Unicode](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-1-22-unicode.md)
- 4.2 Data Structures
  - [4.2.1 3D Arrays](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-1-3d-arrays.md)
  - [4.2.2 Linked List](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-2-linked-list.md)
  - [4.2.3 Queues](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-3-queues.md)
  - [4.2.4 Graphs](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-4-graphs.md)
  - [4.2.5 Hash Tables](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-5-hash-tables.md)
  - [4.2.6 Stacks](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-6-stacks.md)
  - [4.2.7 Trees](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-7-trees.md)
  - [4.2.8 Binary Search Trees](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-8-binary-search-trees.md)
- 4.3 Boolean Algebra
  - [4.3.1 Binary Systems](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-1-binary-systems.md)
  - [4.3.2 Logic Circuits](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-2-logic-circuits.md)
  - [4.3.3 Boolean Operators](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-3-boolean-operators.md)
  - [4.3.4 Evaluating Expressions](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-4-evaluating-expressions.md)
  - [4.3.5 Boolean Logic](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-5-boolean-logic.md)
  - [4.3.6 Karnaugh Maps](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-6-karnaugh-maps.md)
  - [4.3.7 Boolean Identities](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-7-boolean-identities.md)
  - [4.3.8 Boolean Rules](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-8-boolean-rules.md)
  - [4.3.9 Flip Flops](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-9-flip-flops.md)
  - [4.3.10 Adder Circuits](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-3-10-adder-circuits.md)

### 5 Legal, Moral, Cultural & Ethical Issues
- 5.1 Computing Related Legislation
  - [5.1.1 Data Protection Act (1998)](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-1-1-data-protection-act-1998.md)
  - [5.1.2 Computer Misuse Act (1990)](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-1-2-computer-misuse-act-1990.md)
  - [5.1.3 Copyright Designs & Patents Act (1988)](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-1-3-copyright-designs-and-patents-act-1988.md)
  - [5.1.4 Creative Commons Licensing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-1-4-creative-commons-licensing.md)
  - [5.1.5 Regulation of Investigatory Powers Act (2000)](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-1-5-regulation-of-investigatory-powers-act-2000.md)
- 5.2 Moral & Ethical Issues
  - [5.2.1 Online Activity Tracking](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-1-online-activity-tracking.md)
  - [5.2.2 Censorship](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-2-censorship.md)
  - [5.2.3 Positive Cultural Impacts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-3-positive-cultural-impacts.md)
  - [5.2.4 Negative Cultural Impacts](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-4-negative-cultural-impacts.md)
  - [5.2.5 E-Waste](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-5-e-waste.md)
  - [5.2.6 Energy Consumption](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-6-energy-consumption.md)
  - [5.2.7 Positive Environmental Impact](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-7-positive-environmental-impact.md)
  - [5.2.8 Layout, Colour Paradigms & Character Sets](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-8-layout-colour-paradigms-and-character-sets.md)
  - [5.2.9 Computers in the Workplace](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-9-computers-in-the-workplace.md)
  - [5.2.10 Automated Decision-Making](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-10-automated-decision-making.md)
  - [5.2.11 Artificial Intelligence](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-11-artificial-intelligence.md)
  - [5.2.12 Monitoring Behaviour](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-12-monitoring-behaviour.md)
  - [5.2.13 Analysing Personal Information](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-13-analysing-personal-information.md)
  - [5.2.14 Piracy & Offensive Communication](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/5-2-14-piracy-and-offensive-communication.md)

### 6 Elements of Computational Thinking
- 6.1 Thinking Abstractly
  - [6.1.1 Abstraction](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-1-1-abstraction.md)
- 6.2 Thinking Ahead
  - [6.2.1 Inputs & Outputs](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-2-1-inputs-and-outputs.md)
- 6.3 Thinking Procedurally
  - [6.3.1 Decomposition](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-3-1-decomposition.md)
- 6.4 Thinking Logically
  - [6.4.1 Pseudocode](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-4-1-pseudocode.md)
  - [6.4.2 Flow Diagrams](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-4-2-flow-diagrams.md)
- 6.5 Thinking Concurrently
  - [6.5.1 Concurrent Processing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/6-5-1-concurrent-processing.md)

### 7 Problem Solving & Programming
- 7.1 Programming Techniques
  - [7.1.1 Variables & Constants](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-1-1-variables-and-constants.md)
  - [7.1.2 Comments](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-1-2-comments.md)
  - [7.1.3 Inputs & Outputs](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-1-3-inputs-and-outputs.md)
  - [7.1.4 Subroutines](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-1-4-subroutines.md)
  - [7.1.5 Scope](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-1-5-scope.md)
- 7.2 Programming Construction
  - [7.2.1 Integrated Development Environments](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-2-1-integrated-development-environments.md)
  - [7.2.2 The Purpose of Testing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-2-2-the-purpose-of-testing.md)
  - [7.2.3 Types of Testing](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-2-3-types-of-testing.md)
  - [7.2.4 Test Plans](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/7-2-4-test-plans.md)

### 8 Algorithms
- 8.1 Algorithms
  - [8.1.1 Interpreting Algorithms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-1-interpreting-algorithms.md)
  - [8.1.2 Correcting Algorithms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-2-correcting-algorithms.md)
  - [8.1.3 Completing Algorithms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-3-completing-algorithms.md)
  - [8.1.4 Sort Algorithms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-4-sort-algorithms.md)
  - [8.1.5 Bubble Sort](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-5-bubble-sort.md)
  - [8.1.6 Insertion Sort](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-6-insertion-sort.md)
  - [8.1.7 Merge Sort](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-7-merge-sort.md)
  - [8.1.8 Search Algorithms](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-8-search-algorithms.md)
  - [8.1.9 Linear Search](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-9-linear-search.md)
  - [8.1.10 Binary Search](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-10-binary-search.md)
  - [8.1.11 Quick Sort Algorithm](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-11-quick-sort-algorithm.md)
  - [8.1.12 A* Algorithm](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/8-1-12-a-algorithm.md)
