Source: https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-2-linked-list

[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) › Linked List

# Linked List

Computer Science: OCR A Level, topic 4.2.2

## Linked List

Linked lists are commonly used data structures with benefits of flexibility and ease of use. They can be used to implement other data structures such as stacks and queues.

### Linked list

![Linked list](https://image-v2.cdn.app.senecalearning.com/courseImages/physics/1.4.1%20-%20Effects%20of%20forces/vector-min.jpg)

- Linked lists consist of nodes.
- Each node contains a data item and a pointer to the next node in the sequence.
- A null pointer is used to identify the last item of data.
- The use of pointers means that unlike arrays, data in linked lists do not have to be stored contiguously in memory.
- They are also referred to as being ‘dynamic’ in that they can grow or shrink in size as and when necessary.

### Example

![Example](https://image-v2.cdn.app.senecalearning.com/2020-08/2ca0dfa6-cfd7-477c-80c3-4b70a174e03d/Screenshot%202020-08-21%20at%2017.55.30-min.png)

- The diagram shown is graphical representation of a linked list containing the names of three animals in alphabetical order.

### Adding nodes

![Adding nodes](https://image-v2.cdn.app.senecalearning.com/2020-08/f87d229d-aab0-47d7-b57a-469fc4554600/Screenshot%202020-08-21%20at%2017.55.46-min.png)

- To add ‘Tiger’ to the list alphabetically, the pointer of node 1 is updated to point to the new node, which in turn points to the next in the sequence (node 2).

### Deleting nodes

![Deleting nodes](https://image-v2.cdn.app.senecalearning.com/2020-08/b7c4d3c1-96ef-4ed4-a97d-0ea7f7d3f5bf/Screenshot%202020-08-21%20at%2017.55.47-min.png)

- To delete ‘Rhino’ from the list, the pointer of node 0 is updated to point to node 3.
- The data of node 1 is deleted.
- This node becomes the first of a separate list of empty nodes, ready to be filled again.

## Test yourself on Linked List

[Practise this topic for free](https://app.senecalearning.com/classroom/course/0427a30a-fd38-4222-9775-2d193021a4a1/section/fc1369ab-f06f-454e-9669-c6fbe35fafb3/session)

- Previous topic: [4.2.1 3D Arrays](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-1-3d-arrays.md)
- Next topic: [4.2.3 Queues](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/4-2-3-queues.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)
