Source: https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-15-insertion-sort

[Revision notes](https://senecalearning.com/en-gb/revision-notes.md) › [GCSE](https://senecalearning.com/en-gb/revision-notes/gcse.md) › [Computer Science](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science.md) › [OCR](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr.md) › Insertion Sort

# Insertion Sort

Computer Science: OCR GCSE, topic 2.1.15

## Insertion Sort

Insertion sort is a simple sorting algorithm, which is very intuitive.

### The concept

![The concept](https://image-v2.cdn.app.senecalearning.com/2018-08/86328769-ce4e-4cc7-8977-cb02a232c7fe/playing-cards-deck-.png)

- Imagine sorting a deck of cards.
- You'll keep all the sorted cards at the top of the deck, take the next unsorted card and compare it with all the sorted ones from the front until you find the correct place to insert it.

### In English

![In English](https://image-v2.cdn.app.senecalearning.com/2018-08/cc26cbec-d53a-4455-a2de-8d66a7768d69/playing-cards-2886284_1280.png)

- Always assume the first card is sorted, since there are no other values to compare it to.
- Take the second card and compare it to the one on top. Swap if needed.
- Take the third card. Compare it with the one on top, then with the second one. Insert it in the correct place.
- Take the fourth card. Compare it with the one on top, then with the second one, then with the third one. Insert it in the correct place.
- Repeat until you have sorted all cards.

### In pseudocode

![In pseudocode](https://image-v2.cdn.app.senecalearning.com/2018-07/78946623-6360-49da-b5c1-c0e39a712f5b/2.1.5%20Insertion%20Sort%20Pseudocode.png)

## Test yourself on Insertion Sort

[Practise this topic for free](https://app.senecalearning.com/classroom/course/a1ce4570-6e27-11e8-af4b-35cf52f905c2/section/8baeeee0-c739-45cb-983f-37d4009d16a5/session)

- Previous topic: [2.1.14 Merge Sort](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-14-merge-sort.md)
- Next topic: [2.1.16 Exam-Style Questions - Sorting Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-16-exam-style-questions-sorting-algorithms.md)

## Computer Science: OCR GCSE contents

### 1 Computer Systems
- 1.1 Systems Architecture
  - [1.1.1 Fetch-Execute Cycle](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-1-fetch-execute-cycle.md)
  - [1.1.2 Common CPU Components & Their Function](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-2-common-cpu-components-and-their-function.md)
  - [1.1.3 Von Neumann Architecture](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-3-von-neumann-architecture.md)
  - [1.1.4 Factors Affecting CPU Performance](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-4-factors-affecting-cpu-performance.md)
  - [1.1.5 Embedded Systems](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-5-embedded-systems.md)
  - [1.1.6 Exam-Style Questions - Von Neumann Architecture](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-6-exam-style-questions-von-neumann-architecture.md)
  - [1.1.7 Diagnostic Misconceptions - Embedded vs General](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-1-7-diagnostic-misconceptions-embedded-vs-general.md)
- 1.2 Memory & Storage
  - [1.2.1 Types of Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-1-types-of-memory.md)
  - [1.2.2 Flash Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-2-flash-memory.md)
  - [1.2.3 Properties of Flash Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-3-properties-of-flash-memory.md)
  - [1.2.4 Running Out of Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-4-running-out-of-memory.md)
  - [1.2.5 Virtual Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-5-virtual-memory.md)
  - [1.2.6 Units of Capacity](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-6-units-of-capacity.md)
  - [1.2.7 Calculating Capacity Requirements](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-7-calculating-capacity-requirements.md)
  - [1.2.8 Solid State Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-8-solid-state-storage.md)
  - [1.2.9 Properties of Solid State Media](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-9-properties-of-solid-state-media.md)
  - [1.2.10 Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-10-magnetic-storage.md)
  - [1.2.11 Properties of Magnetic Media](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-11-properties-of-magnetic-media.md)
  - [1.2.12 Examples of Magnetic Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-12-examples-of-magnetic-storage.md)
  - [1.2.13 Optical Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-13-optical-storage.md)
  - [1.2.14 Properties of Optical Media](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-14-properties-of-optical-media.md)
  - [1.2.15 Examples of Optical Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-15-examples-of-optical-storage.md)
  - [1.2.16 Types of Optical Disk](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-16-types-of-optical-disk.md)
  - [1.2.17 Number Bases](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-17-number-bases.md)
  - [1.2.18 Converting Number Bases](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-18-converting-number-bases.md)
  - [1.2.19 Hexadecimal](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-19-hexadecimal.md)
  - [1.2.20 Using Hexadecimal](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-20-using-hexadecimal.md)
  - [1.2.21 Converting Denary & Hexadecimal](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-21-converting-denary-and-hexadecimal.md)
  - [1.2.22 Binary Addition](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-22-binary-addition.md)
  - [1.2.23 Binary Shifts](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-23-binary-shifts.md)
  - [1.2.24 Representing Text](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-24-representing-text.md)
  - [1.2.25 ASCII & Unicode](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-25-ascii-and-unicode.md)
  - [1.2.26 Representing Images](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-26-representing-images.md)
  - [1.2.27 Converting Binary & Images](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-27-converting-binary-and-images.md)
  - [1.2.28 Representing Sound](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-28-representing-sound.md)
  - [1.2.29 Data Compression](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-29-data-compression.md)
  - [1.2.30 Grade 9 - Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-30-grade-9-storage.md)
  - [1.2.31 Exam-Style Questions - Primary Memory](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-31-exam-style-questions-primary-memory.md)
  - [1.2.32 Exam-Style Questions - Storage](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-32-exam-style-questions-storage.md)
  - [1.2.33 Exam-Style Questions - Data Conversions](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-33-exam-style-questions-data-conversions.md)
  - [1.2.34 Diagnostic Misconceptions - RAM vs ROM](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-34-diagnostic-misconceptions-ram-vs-rom.md)
  - [1.2.35 Diagnostic Misconceptions - Bits, Nibbles & Bytes](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-35-diagnostic-misconceptions-bits-nibbles-and-bytes.md)
  - [1.2.36 Diagnostic Misconceptions - Bits Required to Store](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-36-diagnostic-misconceptions-bits-required-to-store.md)
  - [1.2.37 End of Topic Test - Computer Systems](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-37-end-of-topic-test-computer-systems.md)
  - [1.2.38 End of Topic Test - Representation](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-2-38-end-of-topic-test-representation.md)
- 1.3 Computer Networks, Connections & Protocols
  - [1.3.1 Benefit of Networks](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-1-benefit-of-networks.md)
  - [1.3.2 Types of Networks](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-2-types-of-networks.md)
  - [1.3.3 Network Performance](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-3-network-performance.md)
  - [1.3.4 Networks: How Do Packets Get Routed?](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-4-networks-how-do-packets-get-routed.md)
  - [1.3.5 Client-Server Model](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-5-client-server-model.md)
  - [1.3.6 Pros & Cons of Client-Server Model](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-6-pros-and-cons-of-client-server-model.md)
  - [1.3.7 Peer-to-Peer Model](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-7-peer-to-peer-model.md)
  - [1.3.8 Pros & Cons of Peer-to-Peer Model](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-8-pros-and-cons-of-peer-to-peer-model.md)
  - [1.3.9 Network Hardware](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-9-network-hardware.md)
  - [1.3.10 Transmission Media](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-10-transmission-media.md)
  - [1.3.11 What is the Internet?](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-11-what-is-the-internet.md)
  - [1.3.12 URLs](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-12-urls.md)
  - [1.3.13 DNS & Web Hosting](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-13-dns-and-web-hosting.md)
  - [1.3.14 The Cloud](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-14-the-cloud.md)
  - [1.3.15 Pros & Cons of the Cloud](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-15-pros-and-cons-of-the-cloud.md)
  - [1.3.16 Star & Mesh Network Topologies](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-16-star-and-mesh-network-topologies.md)
  - [1.3.17 WiFi](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-17-wifi.md)
  - [1.3.18 WiFi Frequency & Channels](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-18-wifi-frequency-and-channels.md)
  - [1.3.19 WiFi Encryption](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-19-wifi-encryption.md)
  - [1.3.20 IP Addresses](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-20-ip-addresses.md)
  - [1.3.21 MAC Addresses](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-21-mac-addresses.md)
  - [1.3.22 Network Protocols](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-22-network-protocols.md)
  - [1.3.23 Transmission Protocols](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-23-transmission-protocols.md)
  - [1.3.24 Application Protocols](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-24-application-protocols.md)
  - [1.3.25 Layers](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-25-layers.md)
  - [1.3.26 Advantages of Layering](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-26-advantages-of-layering.md)
  - [1.3.27 Exam-Style Questions - Networking Models](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-27-exam-style-questions-networking-models.md)
  - [1.3.28 Exam-Style Questions - Network Protocols](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-28-exam-style-questions-network-protocols.md)
  - [1.3.29 Diagnostic Misconceptions - LAN vs WAN](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-3-29-diagnostic-misconceptions-lan-vs-wan.md)
- 1.4 Network Security
  - [1.4.1 Forms of Attack](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-1-forms-of-attack.md)
  - [1.4.2 Penetration Testing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-2-penetration-testing.md)
  - [1.4.3 Malware](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-3-malware.md)
  - [1.4.4 How Malware Spreads](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-4-how-malware-spreads.md)
  - [1.4.5 Social Engineering](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-5-social-engineering.md)
  - [1.4.6 Phishing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-6-phishing.md)
  - [1.4.7 Cracking Passwords](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-7-cracking-passwords.md)
  - [1.4.8 Denial of Service Attacks](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-8-denial-of-service-attacks.md)
  - [1.4.9 Data Interception](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-9-data-interception.md)
  - [1.4.10 Methods of Data Interception](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-10-methods-of-data-interception.md)
  - [1.4.11 SQL Injection](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-11-sql-injection.md)
  - [1.4.12 Network Administration](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-12-network-administration.md)
  - [1.4.13 Network Forensics](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-13-network-forensics.md)
  - [1.4.14 Protecting Against Malware](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-14-protecting-against-malware.md)
  - [1.4.15 Firewalls](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-15-firewalls.md)
  - [1.4.16 User Access Levels](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-16-user-access-levels.md)
  - [1.4.17 Passwords](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-17-passwords.md)
  - [1.4.18 Encryption](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-18-encryption.md)
  - [1.4.19 End of Topic Test - Networks](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-4-19-end-of-topic-test-networks.md)
- 1.5 Systems Software
  - [1.5.1 System Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-1-system-software.md)
  - [1.5.2 Utility Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-2-utility-software.md)
  - [1.5.3 Operating Systems](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-3-operating-systems.md)
  - [1.5.4 User Interfaces](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-4-user-interfaces.md)
  - [1.5.5 Memory & Process Management](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-5-memory-and-process-management.md)
  - [1.5.6 File Management](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-6-file-management.md)
  - [1.5.7 Device Management](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-7-device-management.md)
  - [1.5.8 User Management](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-8-user-management.md)
  - [1.5.9 Encryption Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-9-encryption-software.md)
  - [1.5.10 Defragmentation Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-10-defragmentation-software.md)
  - [1.5.11 Data Compression Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-11-data-compression-software.md)
  - [1.5.12 Backup Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-5-12-backup-software.md)
- 1.6 Ethical, Legal, Cultural & Environmental Concern
  - [1.6.1 Open Source Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-1-open-source-software.md)
  - [1.6.2 Proprietary Software](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-2-proprietary-software.md)
  - [1.6.3 Licensing Issues](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-3-licensing-issues.md)
  - [1.6.4 Ethical Issues - The Digital Divide](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-4-ethical-issues-the-digital-divide.md)
  - [1.6.5 Ethical Issues - Net Neutrality](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-5-ethical-issues-net-neutrality.md)
  - [1.6.6 Ethical Issues - Working Conditions](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-6-ethical-issues-working-conditions.md)
  - [1.6.7 Ethical Issues - Censorship](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-7-ethical-issues-censorship.md)
  - [1.6.8 Exam-Style Questions - Ethical Issues](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-8-exam-style-questions-ethical-issues.md)
  - [1.6.9 Data Protection Act 1998](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-9-data-protection-act-1998.md)
  - [1.6.10 Computer Misuse Act (1990)](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-10-computer-misuse-act-1990.md)
  - [1.6.11 Copyright Designs & Patents Act (1988)](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-11-copyright-designs-and-patents-act-1988.md)
  - [1.6.12 Creative Commons Licensing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-12-creative-commons-licensing.md)
  - [1.6.13 Freedom of Information Act (2000)](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-13-freedom-of-information-act-2000.md)
  - [1.6.14 Cultural Issues](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-14-cultural-issues.md)
  - [1.6.15 Environmental Issues](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-15-environmental-issues.md)
  - [1.6.16 Online Activity Tracking & The Internet of Things](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-16-online-activity-tracking-and-the-internet-of-things.md)
  - [1.6.17 Stakeholders](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-17-stakeholders.md)
  - [1.6.18 Other Impacts of Digital Technology on Society](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-18-other-impacts-of-digital-technology-on-society.md)
  - [1.6.19 End of Topic Test - Software & Issues](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-19-end-of-topic-test-software-and-issues.md)
  - [1.6.20 Diagnostic Misconceptions - Open Source](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/1-6-20-diagnostic-misconceptions-open-source.md)

### 2 Computational Thinking, Algorithms & Programming
- 2.1 Algorithms
  - [2.1.1 Computational Thinking - Abstraction](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-1-computational-thinking-abstraction.md)
  - [2.1.2 Computational Thinking - Decomposition](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-2-computational-thinking-decomposition.md)
  - [2.1.3 Algorithmic Thinking](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-3-algorithmic-thinking.md)
  - [2.1.4 Pseudocode](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-4-pseudocode.md)
  - [2.1.5 Flowchart Diagrams](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-5-flowchart-diagrams.md)
  - [2.1.6 Interpreting Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-6-interpreting-algorithms.md)
  - [2.1.7 Correcting Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-7-correcting-algorithms.md)
  - [2.1.8 Completing Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-8-completing-algorithms.md)
  - [2.1.9 Search Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-9-search-algorithms.md)
  - [2.1.10 Binary Search](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-10-binary-search.md)
  - [2.1.11 Linear Search](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-11-linear-search.md)
  - [2.1.12 Overview of Sort Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-12-overview-of-sort-algorithms.md)
  - [2.1.13 Bubble Sort](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-13-bubble-sort.md)
  - [2.1.14 Merge Sort](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-14-merge-sort.md)
  - [2.1.15 Insertion Sort](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-15-insertion-sort.md)
  - [2.1.16 Exam-Style Questions - Sorting Algorithms](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-1-16-exam-style-questions-sorting-algorithms.md)
- 2.2 Programming Fundamentals
  - [2.2.1 Variable Declaration & Assignment](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-1-variable-declaration-and-assignment.md)
  - [2.2.2 Input & Output](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-2-input-and-output.md)
  - [2.2.3 Program Flow - Sequence](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-3-program-flow-sequence.md)
  - [2.2.4 Program Flow - Selection](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-4-program-flow-selection.md)
  - [2.2.5 Program Flow - Iteration](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-5-program-flow-iteration.md)
  - [2.2.6 Arithmetic Operators](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-6-arithmetic-operators.md)
  - [2.2.7 Relational Operators](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-7-relational-operators.md)
  - [2.2.8 Boolean Operators](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-8-boolean-operators.md)
  - [2.2.9 Data Types](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-9-data-types.md)
  - [2.2.10 Casting](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-10-casting.md)
  - [2.2.11 Arrays](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-11-arrays.md)
  - [2.2.12 Strings](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-12-strings.md)
  - [2.2.13 File Handling](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-13-file-handling.md)
  - [2.2.14 Structuring Data - Records](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-14-structuring-data-records.md)
  - [2.2.15 Structured Query Language](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-15-structured-query-language.md)
  - [2.2.16 Random Number Generation](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-16-random-number-generation.md)
  - [2.2.17 End of Topic Test - Programming](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-17-end-of-topic-test-programming.md)
  - [2.2.18 Exam-Style Questions - Translation](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-18-exam-style-questions-translation.md)
  - [2.2.19 Diagnostic Misconceptions - Comparison Operators](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-19-diagnostic-misconceptions-comparison-operators.md)
  - [2.2.20 Diagnostic Misconceptions - = & ==](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-20-diagnostic-misconceptions-=-and-==.md)
  - [2.2.21 Diagnostic Misconceptions - Types of Data](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-21-diagnostic-misconceptions-types-of-data.md)
  - [2.2.22 Diagnostic Misconceptions - Last Line of Code](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-22-diagnostic-misconceptions-last-line-of-code.md)
  - [2.2.23 Diagnostic Misconceptions - Array Index](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-2-23-diagnostic-misconceptions-array-index.md)
- 2.3 Producing Robust Programs
  - [2.3.1 Defensive Design](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-1-defensive-design.md)
  - [2.3.2 Validation & Sanitisation](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-2-validation-and-sanitisation.md)
  - [2.3.3 Authentication & Contingencies](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-3-authentication-and-contingencies.md)
  - [2.3.4 Maintainability](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-4-maintainability.md)
  - [2.3.5 Purpose of Testing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-5-purpose-of-testing.md)
  - [2.3.6 Types of Testing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-6-types-of-testing.md)
  - [2.3.7 Test Plans](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-7-test-plans.md)
  - [2.3.8 Types of Errors](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-8-types-of-errors.md)
  - [2.3.9 End of Topic Test - Programming](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-9-end-of-topic-test-programming.md)
  - [2.3.10 Exam-Style Questions - Testing](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-3-10-exam-style-questions-testing.md)
- 2.4 Boolean Logic
  - [2.4.1 Binary Systems](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-4-1-binary-systems.md)
  - [2.4.2 Logic Circuits](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-4-2-logic-circuits.md)
  - [2.4.3 Boolean Logic](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-4-3-boolean-logic.md)
  - [2.4.4 Boolean Operators](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-4-4-boolean-operators.md)
  - [2.4.5 Grade 9 - Logic](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-4-5-grade-9-logic.md)
- 2.5 Programming Languages & IDEs
  - [2.5.1 High-Level vs Low-Level Languages](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-5-1-high-level-vs-low-level-languages.md)
  - [2.5.2 Translation - Compliers & Interpreter](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-5-2-translation-compliers-and-interpreter.md)
  - [2.5.3 Translation - Assemblers](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-5-3-translation-assemblers.md)
  - [2.5.4 Integrated Development Environments](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-5-4-integrated-development-environments.md)
  - [2.5.5 Exam-Style Questions - Translation](https://senecalearning.com/en-gb/revision-notes/gcse/computer-science/ocr/2-5-5-exam-style-questions-translation.md)
