Revision Notes
OxfordAQA A Level Computer Science: Arrays and Lists — Revision Notes
Condensed recall notes on static vs dynamic data structures, and one/two-dimensional arrays and lists, for OxfordAQA International A-Level Computer Science (9645), sub-topic 3.2.1.
- Subject
- Computer Science
- Level
- AS LEVEL
- Topic
- Fundamental data structures
- Author
- Marlbridge Academic Team
- Updated
- Reviewed by
- Harris Khan (what this means)
Aligned to OxfordAQA A Level Computer Science (9645), 2024-onwards. Official specification .
Syllabus page (what it covers and how it is assessed): OxfordAQA A Level Computer Science.
Syllabus points this page covers
9645 (AS Level)
- 3.2.1 Arrays and lists
Found an error? Report a correction.
Need help with this topic? Request a free trial class for A Level Computer Science (9645).
Condensed for the final weeks. For the full explanation, use the Arrays and Lists study guide.
Static vs dynamic
| Static | Dynamic | |
|---|---|---|
| Size | Fixed at creation | Grows/shrinks during execution |
| Example | Traditional array | Python’s built-in list |
| Advantage | Fast, predictable access | Adapts flexibly to varying data |
| Disadvantage | Wastes memory if oversized, fails if undersized | Extra overhead when resizing |
Python has no built-in array type — students typically use lists (dynamic) even for conceptually static-array questions, unless using the array module (no strings, no multi-dimensional) or numpy.
Worked example: choosing a structure
Storing daily temperature readings for a year (365/366 known values) vs an unknown, growing list of game high scores.
Temperatures: STATIC (array) -- exact count known and fixed in
advance, so a static structure avoids resizing
overhead and gives fast, predictable indexed access
High scores: DYNAMIC (list) -- count unknown and growing, so a
structure that expands as needed is appropriate
Justifying the choice against whether the data size is known and fixed, or unknown and growing is what this sub-topic assesses — more than naming “array” or “list” correctly.
Two-dimensional structures
A 2D array/list of lists is indexed by two coordinates (typically row, column) — used for tabular or grid-based data (a spreadsheet, a game board). Exam questions will not require more than two dimensions.
Worked example: describing a 2D structure
A program needs to store the seating arrangement of a small cinema with 6 rows and 10 seats per row, where each seat is either booked or free.
Structure: a two-dimensional array/list of lists, 6 rows x 10
columns
Indexing: seating[row][seat] -- e.g. seating[2][5] accesses row
index 2, seat index 5 (using zero-based indexing, this
is the 3rd row, 6th seat)
Content: each element holds a boolean or simple value representing
booked/free status for that specific seat
Being explicit about how the two coordinates map onto the real-world scenario (row = physical row, column = seat number within the row) is what distinguishes a strong answer from one that only states “use a 2D array” without describing the indexing scheme.
Why the static/dynamic distinction frames the rest of 3.2
This sub-topic’s static-versus-dynamic framing recurs across every later data structure: the queues and stacks covered elsewhere in 3.2 Fundamental Data Structures, and, at A-level only, the advanced structures of 3.10 (graphs, trees, hash tables, priority queues and dictionaries) – each later structure is itself built as either a static or dynamic implementation, and being able to say which, and why that choice suits the structure’s typical use case, is a skill introduced here and reused throughout the rest of the topic. Treat the advantages and disadvantages named in this sub-topic (predictable access vs resizing overhead) as a template applied again to every subsequent data structure, not content specific to arrays and lists alone.
Key terms
Data structure — an organised way of storing and accessing data suited to a task. Static data structure — fixed size at creation, unchanged during execution. Dynamic data structure — can grow/shrink while the program runs. Array — a static, fixed-size, indexed collection of same-type elements. List (Python) — a dynamic, indexed collection.
Programming-exam flexibility
In programming exam questions, it is acceptable to use either lists or arrays to solve a problem unless the question specifically states which must be used – so don’t assume a question phrased around “array” requires the array/numpy module in Python specifically if lists would solve the problem equally well and no data type is mandated.
Common mistakes
- Describing arrays and lists as interchangeable without acknowledging the static/dynamic distinction.
- Choosing a data structure without justifying the choice against whether the size is known/fixed or unknown/changing.
- Assuming exam questions require more than two dimensions.
- Forgetting Python’s list behaves dynamically even when the underlying concept tested is a static array.
Quick self-test
- Give one advantage and one disadvantage of a static data structure.
- Why does Python typically use lists even for conceptually “array” problems?
- A scenario has a known, fixed number of elements. Which structure type is more appropriate?
- What are the two coordinates typically used to index a 2D array?
- What is the maximum number of dimensions required in this specification’s exam questions?
- Describe how you would index a specific seat in a 6-row, 10-seats-per-row cinema layout stored as a 2D structure.
Answers: 1. Advantage: fast, predictable access since memory layout doesn’t change. Disadvantage: wastes memory if oversized, or fails if undersized. 2. Because Python has no built-in fixed-size array type; its built-in list behaves dynamically, so it is used even when a question is conceptually about a static array. 3. A static structure (array), since the fixed size avoids resizing overhead and gives fast indexed access. 4. Row and column. 5. Two dimensions. 6. seating[row][seat], e.g. seating[2][5] for row index 2, seat index 5, using zero-based indexing so this is physically the 3rd row and 6th seat.
Vocabulary precision matters
Keeping the words “array” and “list” mapped correctly to “static” and “dynamic” respectively – rather than treating all indexed collections as one interchangeable category – is the specific vocabulary precision this sub-topic rewards in written exam answers, even when your practical programming work uses Python lists throughout.
Related resources
Official syllabus
OxfordAQA International AS and A-level Computer Science (9645) specification, Version 1.1 — oxfordaqa.com/9645.
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.
Related resources
-
Study guides
OxfordAQA A-Level Computer Science: Static vs Dynamic Data Structures and Arrays (9645)
Static vs dynamic data structures, and using one- and two-dimensional arrays and lists to solve problems – the introduction and 3.2.1 of OxfordAQA International AS and A-Level Computer Science (9645).
Computer Science · OxfordAQA · AS Level
Read guide -
Practice questions
OxfordAQA A Level Computer Science: Arrays and Lists — Practice Questions
Original exam-style practice questions with full worked answers on static vs dynamic data structures, arrays and lists, and one- and two-dimensional structures.
Computer Science · OxfordAQA · AS Level
Try questions -
Study guides
OxfordAQA A-Level Computer Science: Artificial intelligence (9645)
Study guide to AI uses, neural networks, deep and machine learning, biased training data, and AI benefits and risks for OxfordAQA A-level Computer Science.
Computer Science · OxfordAQA · A Level
Read guide
Related articles
-
teaching
A Level tuition in Dubai: Cambridge or Pearson Edexcel International A Level?
Schools in Dubai and Abu Dhabi teach either Cambridge International AS & A Level or Pearson Edexcel International A Level. How the two are structured, why it matters for tuition, and how online classes from Lahore work.
9 October 2026
-
curriculum guides
Choosing subjects at IGCSE and A Level
How subject choices at 14 and 16 affect university options later, and how to keep pathways open without overloading a timetable.
28 July 2026
Studying this with a teacher
Working through Computer Science AS LEVEL?
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.
OxfordAQA Computer Science teachers at Marlbridge