Homeschool Guide: These lesson plans are a guide for parents. Content may contain errors — always cross-reference with official exam board specifications.

data structures

FoundationHigherAll Boards

4 detailed 50-minute lessons with teaching scripts, worked examples, parent guides, and assessment criteria.

Fastmail

Lesson Overview

Total Lessons: 4
Tier: Foundation and Higher
Duration: 50 minutes per lesson (200 minutes total)
Exam Boards: AQA, Edexcel, OCR, Eduqas, CCEA

Learning Objectives

Prerequisites

Materials & Equipment

Lesson 1: Introduction: data structures

Duration: 50 minutes

Starter Activity (5 minutes)

Quick Recall

Write down everything you already know about data structures. Then check against the key terms: Data structures, A 1D array, A 2D array. Use a mini-whiteboard or paper.

Main Content (35 minutes)

Parent/Teacher Guide:
Before lesson: Read the script below. Pre-teach key vocab: Data structures, A 1D array, A 2D array.
If stuck: Re-read the revision notes (link above), then break the content into smaller steps.
Extension: See the Stretch & Challenge ideas in Lesson 4.
Teaching Script (35 mins):
Mins 0-5 - Hook: "Today: data structures. By the end you will be able to answer exam questions on it unaided. It connects to the rest of Computer Science because the ideas here recur across the spec."
Mins 5-20 - Direct Instruction: Work through the core ideas below one at a time; after each, ask your student to explain it back in their own words.
Mins 20-30 - Guided Practice: Model the worked example together, then let your student attempt the first practice question with guidance.
Mins 30-35 - Independent Practice: 2-3 practice questions from Lesson 3 below, with immediate feedback.
First Look

Start with the revision notes summary, then attempt: Write pseudo-code to declare an array of 5 temperatures and output the third temperature.

Plenary (5 minutes)

Check Out

Your student states one thing they learned and one question they still have about data structures.

Lesson 2: Core Concepts: data structures

Duration: 50 minutes

Starter Activity (5 minutes)

Review Previous Lesson

Quick recap: write 3 key points from Lesson 1 on data structures. Check them against the notes below.

Main Content (35 minutes)

Data structures: are ways of organising and storing data so it can be accessed and modified efficiently. At GCSE, you need to know about arrays (1D and 2D) and records.
A 1D array: is an indexed collection of items of the same data type stored under one name. Each item is called an element and is accessed using its index (position number). Arrays are zero-indexed in most languages - the first element is at index 0.
A 2D array: is an array of arrays - a grid with rows and columns. Each element is accessed using two indices: the row index and the column index. Think of it like a table or spreadsheet.
A record: is a data structure that groups related fields of different data types under one name. Each field has a name and can hold a different type of data. Records are ideal for representing real-world entities.
GCSE Computer Science Exam Tips: Arrays: same type, accessed by index. Records: different types, accessed by field name. Always state the size when declaring an array. For 2D arrays, use two indices [row][column]. Know the difference between arrays (same type, indexed) and records (different types, named fields). When asked to choose, consider whether the data is the same type (array) or mixed types (record).
TermMeaningExample
1D ArrayA list of items of the same type, accessed by indexStoring a list of scores, names, or temperatures
2D ArrayA grid of items in rows and columns, accessed by two indicesStoring a seating plan, grid, or spreadsheet
RecordA collection of named fields of different typesStoring related data about one entity (e.g. a student)
Access methodBy index numberBy field name
Data typesAll elements same typeEach field can be different type
When to useList of similar itemsRelated data about one thing
ExampleList of scores [85, 92, 78]Student {name, age, grade}
Accessing index 5 in a 5-element arrayIndices go from 0 to 4 for length 5Use LENGTH(array) - 1 for the last index

Practice (10 minutes)

Q: Write pseudo-code to declare an array of 5 temperatures and output the third temperature.

Answer: temps ← [18.5, 20.3, 22.1, 19.8, 21.0] OUTPUT temps[2] // Outputs 22.1 (third element, index 2)

Plenary (5 minutes)

Explain Back

Your student teaches the key points back to you without looking. Fill any gaps immediately.

Lesson 3: Application: data structures

Duration: 50 minutes

Starter Activity (5 minutes)

Quick Recall

Recall the key terms: Data structures, A 1D array, A 2D array. Define each in one sentence.

Main Content (35 minutes)

Parent/Teacher Guide: Let your student attempt each question alone first, then compare with the model answer. Award method marks for correct working even if the final answer is wrong.

Q1: Write pseudo-code to declare an array of 5 temperatures and output the third temperature.

Answer: temps ← [18.5, 20.3, 22.1, 19.8, 21.0] OUTPUT temps[2] // Outputs 22.1 (third element, index 2)

Q2: Write pseudo-code that finds the sum of all elements in the array [10, 20, 30, 40, 50].

Answer: numbers ← [10, 20, 30, 40, 50] total ← 0 FOR i ← 0 TO 4 total ← total + numbers[i] NEXT i OUTPUT total // 150

Q3: A 2D array represents a 3x3 tic-tac-toe board. How would you access the centre square?

Answer: The centre square is at row 1, column 1: board[1][1]

Q4: Define a record called Car with fields for make (string), model (string), year (integer), and price (real).

Answer: TYPE Car make AS STRING model AS STRING year AS INTEGER price AS REAL ENDTYPE

Q5: Write pseudo-code that iterates through an array of names and outputs only the names that start with "A".

Answer: names ← ["Alice", "Bob", "Amy", "Charlie", "Anna"] FOR i ← 0 TO 4 IF SUBSTRING(names[i], 0, 1) = "A" THEN OUTPUT names[i] ENDIF NEXT i

Plenary (5 minutes)

Error Review

Review any questions answered incorrectly. Identify whether the error was knowledge, method, or reading the question.

Lesson 4: Exam Practice: data structures

Duration: 50 minutes

Starter Activity (5 minutes)

Command Words

Review what these command words require: state (one point), describe (say what happens), explain (say why), compare (both sides), evaluate (judgement).

Main Content (35 minutes)

Extended Answer

Extended question: Full-Mark Response A program needs to store the names and test scores of 5 students. Explain why a record is more suitable than two separate arrays, and write pseudo-code to declare and use this data structure. [5 marks] <div class="

Using two separate arrays (one for names, one for scores) keeps related data in separate structures, making it harder to keep data together when sorting or passing to subroutines. A record groups related fields of different types into one unit. TYPE Student name : STRING score : INTEGER ENDTYPE declare students : ARRAY[1:5] OF Student students[1].name ← 'Alice' students[1].score ← 87 students[2].name ← 'Bob' students[2].score ← 72 This keeps each student's name and score together as a single unit, making the data easier to manage, sort, and pass to subroutines.

Exam Tips: Arrays are zero-indexed - the first element is at index 0 | For 2D arrays, always use grid[row][column] order | Use FOR loops to iterate through arrays - loop from 0 to LENGTH-1 | Records use dot notation: recordName.fieldName | You can have arrays of records for storing multiple entities | Remember: arrays hold one data type, records can hold multiple types
Common Errors: ✗ Thinking arrays and records are the same thing ✓ An array stores multiple values of the SAME data type accessed by index; a record stores related values of DIFFERENT data types accessed by field name. ✗ Confusing 0-based and 1-based indexing ✓ Most programming languages use 0-based indexing (first element is index 0). Some pseudo-code uses 1-based. Always check the exam board convention. ✗ Forgetting that arrays have a fixed size once declared ✓ In most GCSE-level languages, arrays have a fixed size declared at creation. You cannot add or remove elements beyond the declared size. ✗ Believing a 2D array is a completely different concept from a 1D array ✓ A 2D array is an array of arrays — e
Stretch & Challenge (Grade 8-9):
  • Synoptic links: explain how data structures connects to another Computer Science topic you have studied
  • Real-world: research one real-world use or example of data structures
  • Critical: "What are the limitations of the models used in data structures?"

Plenary (5 minutes)

Assessment Criteria
  • Got it: Confident explanation + correct worked examples
  • Getting there: Main points OK, needs support with detail
  • Not yet: Confused on key concepts - re-run Lesson 2

Homework & Consolidation

Recommended Resources

🎓 Smart Lesson (Guided)