Skip to content
Marlbridge

Revision Notes

AQA A-Level Computer Science: Data Structures and Arrays — Revision Notes

Condensed recall notes on the definition of a data structure and using single- and multi-dimensional arrays, for AQA A-Level Computer Science (7517), 4.2.1.1 and 4.2.1.2.

Level
A LEVELS
Topic
Fundamentals of data structures
Updated

Aligned to AQA A Level Computer Science (7517), 2015-onwards. Official specification .

Syllabus page (what it covers and how it is assessed): AQA A Level Computer Science.

Syllabus points this page covers

7517

  • 4.2.1.1 Data structures

Found an error? Report a correction.

Need help with this topic? Request a free trial class for A Level Computer Science (7517).

Condensed for the final weeks. For the full explanation, use the Data Structures and Arrays study guide.

What is a data structure? (4.2.1.1)

Data structure — a way of organising, storing and accessing data so it can be used efficiently for a given task. Learn this precise definition, not a looser one, since exam answers are marked against it. The specification expects you to demonstrate data structures in a practical context, not just define the term abstractly.

Arrays: vectors, matrices and the general case (4.2.1.2)

Dimensions Represents Indexing
1-D array A vector — a single ordered list One index
2-D array A matrix — values in rows and columns Two indices (row, column)
n-D array A set of elements indexed by a tuple of n integers n indices

Arrays hold elements of the same data type. AQA sets no pseudocode convention of its own at AS or A-level, so check whether the language or convention your course uses indexes arrays from 0 or from 1.

Vector vs. matrix, precisely:

  • A 1-D array is useful for representing a vector.
  • A 2-D array is useful for representing a matrix.
  • More generally, an n-dimensional array is a set of elements with the same data type, indexed by a tuple of n integers — an ordered list of index values, one per dimension.

Worked example: choosing the right dimensionality

A program must store the temperature at 7am, 1pm and 7pm for each of 7 days.

Data needed:   3 readings x 7 days = 21 values, naturally organised
               by day AND time of day
Structure:     a 2-D array, e.g. temperatures[7][3]
Justification: index 1 = day (0-6); index 2 = time slot (0-2);
               this lets the program access, update, or loop
               through any single reading, a whole day, or one
               time slot across all days, using index logic --
               rather than declaring 21 separate variables

Justify the choice by how the data will actually be accessed, not just that “it fits” — this is what the sub-topic is really testing. Stating the number of dimensions needed, and naming what each index represents, is a stronger answer than simply writing “use an array.”

Distinguishing dimensionality from size

Two different ideas that are easy to blur:

  • Dimensionality — how many indices are needed to locate one element (1-D, 2-D, n-D).
  • Size — how many elements the array holds in total (e.g. a 7×3 array holds 21 elements).

An array can be large in size but still one-dimensional (a 1-D array of 100 values), or small in size but two-dimensional (a 2×2 array of 4 values) — keep these independent when describing or declaring an array in an answer.

Why this content underpins the rest of the specification

Data structures and arrays are the foundation the rest of Topic 2 builds on: fields, records and files (4.2.1.3) group array-like data with named fields; and the named abstract data types (4.2.1.4 onward — queues, stacks, graphs, trees, hash tables, dictionaries, vectors) are frequently implemented internally using arrays or the same indexing logic covered here. Being genuinely fluent with array declaration, indexing and iteration now — rather than treating it as a quick topic to memorise and move past — pays off directly when those later, more complex structures are introduced, since exam questions on them regularly assume this array fluency as a prerequisite rather than re-teaching it.

Key terms

Data structure — a way of organising, storing and accessing data efficiently for a task. Vector — a 1-D, ordered collection of same-type values, each accessed by one index. Matrix — a 2-D arrangement of values in rows and columns, each accessed by a pair of indices. Tuple — an ordered list of elements; used to describe how one element in an n-D array is located (n integers, one per dimension). Index — the position used to access a specific array element; AQA sets no pseudocode convention of its own at this level, so check whether your course indexes from 0 or from 1.

Practising array operations directly

Beyond defining and justifying array structures, be comfortable writing and tracing short pseudocode that declares an array, loops through it, and reads or updates a specific element – for example, a FOR loop that sums every value in a one-dimensional array, or nested FOR loops that visit every element of a two-dimensional array row by row. Exam questions frequently combine the conceptual justification (why this structure) with a short practical task (write or complete the code that uses it), so revising the two together, rather than treating theory and practical coding as separate revision activities, better matches how this sub-topic is actually assessed.

Common mistakes

  • Describing an array only as “a list of values” without reference to indexing or dimensionality.
  • Confusing a 1-D array (vector) with a 2-D array (matrix) when justifying a structure choice.
  • Reaching for 21 separate variables instead of a structured array when the data is clearly indexable.
  • Miscounting indices when describing how to access an element in a multi-dimensional array.
  • Assuming a fixed index origin instead of checking whether your course’s language or convention indexes from 0 or from 1.

A note on “(or equivalent)”

AQA’s specification says arrays “(or equivalent)” because different languages implement the same underlying concept differently — Python’s lists, for example, serve a similar role. Know how arrays are declared, indexed and iterated over in whichever language your course actually uses for practical work, since the underlying concept (organising same-type data for indexed access) is what’s assessed, not one specific language’s syntax.

Quick self-test

  • Give the specification’s precise definition of a data structure.
  • State what a 1-D array represents, and what a 2-D array represents.
  • For a program storing 5 students’ scores across 3 tests, state the array dimensions needed and what each index represents.
  • Explain the difference between an array’s dimensionality and its size, with an example of each.
  • State why you should check your own course’s index origin rather than assume one, since AQA sets no pseudocode convention of its own at this level.

Data Structures and Arrays study guide | Data Structures and Arrays practice questions

Official syllabus

AQA A-Level Computer Science (7517) specification, first teaching 2015 — aqa.org.uk/7517.

Get free revision emails (optional)

Occasional emails with practice questions, worked explanations and links to free resources for the qualification and subjects you choose. No spam, and you can unsubscribe from any email. The free tools on this site never need an email.

Subjects (optional, up to 6)

Choose a qualification to see its subjects.

Related resources

Related articles

Studying this with a teacher

Working through Computer Science A LEVELS?

This page is free and stays free. If you would rather be taught it, Marlbridge runs Computer Science classes one-to-one and in small groups of up to 15, online in your own time zone. The first trial class is free. WhatsApp replies within an hour (8am–11pm Pakistan time, every day); email the same day.

AQA Computer Science teachers at Marlbridge