Source: https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-7-modes-of-addressing-memory

[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) › Modes of Addressing Memory

# Modes of Addressing Memory

Computer Science: OCR A Level, topic 2.4.7

## Modes of Addressing Memory

Programs can be coded to use direct types of memory address. This allows program instructions to access high numbers of memory locations for storing and retrieving data and instructions.

### Immediate addressing

![Immediate addressing](https://image-v2.cdn.app.senecalearning.com/2018-06/c1284d0b-8736-4a13-ad53-3ae6b10d4c01/CPU.jpeg)

- In immediate addressing, the opcode is the actual value to be used. 
- The binary opcode of 00000101 would give the value of 5 to the CPU to work with if we used the immediate addressing mode. 
- This is a way to give the data directly to the processor so it doesn’t need to access another memory location.

### Direct addressing

![Direct addressing](https://image-v2.cdn.app.senecalearning.com/2019-06/be34a3ae-bd16-46b2-824c-35b0e38ef0ae/board-453758_1920-min.jpg)

- In direct addressing, the opcode is the address for the memory location where the data can be found. 
- The instruction contains the memory address of the operand. 
- The value is not given directly. The CPU has to retrieve the value from the given memory location. 
- In Little Man Computer, this is the only type of addressing available.

### Indirect addressing

![Indirect addressing](https://image-v2.cdn.app.senecalearning.com/2018-07/b43201c6-4785-4a02-8529-99b5ab9f8ea8/Computer-Cache-Memory-CPU-.jpg)

- In indirect addressing, the opcode is the location of the value to be used. 
- The instruction contains the address of a memory location that holds the actual address of the operand.
- This is usually a register.
- By using indirect addressing, the CPU can access a significantly higher number of addressable locations.

### Indexed addressing

![Indexed addressing](https://image-v2.cdn.app.senecalearning.com/2018-06/33774513-7bde-46e6-8adf-a16f6a32887f/CPU.jpg)

- In indexed addressing, the opcode is one value that is added together with a value stored in the index register to give the location of the data to be used. 
- The index register value is a constant value that indicates the first memory location for an array of data items. 
- By adding the index register and the opcode value together, you get the address of the next location to get data from.

## Test yourself on Modes of Addressing Memory

- In which type of addressing is the opcode the actual value used by the machine instruction?
- In which type of addressing does the opcode specify the address memory location of the value to be used?

[Practise this topic for free](https://app.senecalearning.com/classroom/course/0427a30a-fd38-4222-9775-2d193021a4a1/section/78b96cd2-a6e6-4ef3-8be6-dcaa3eb0cc6b/session)

- Previous topic: [2.4.6 Machine Code](https://senecalearning.com/en-gb/revision-notes/a-level/computer-science/ocr/2-4-6-machine-code.md)
- Next topic: [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)

## 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)
