Revision that works

Retrieval practice, spacing and interleaving, and a planner that schedules them.

F13.8Exam preparationGCSE15 min

Do this lesson in the simulator

Most revision is re-reading, and re-reading is the least effective thing you can do with the time. The methods that work are uncomfortable, which is why people avoid them: they feel harder because they are doing more. This lesson is what the evidence supports, and a planner that builds you a schedule.

Three methods worth your time

Retrieval practice. Close the book and write down everything you can remember, then check. Getting something back out of your memory strengthens it far more than putting it in again. Every quiz at the end of these lessons is retrieval practice.

Spacing. Study a topic, leave it, come back to it days later. Five sessions spread over three weeks beat five sessions in one evening, even though the total time is the same. You will forget a little in between, and recovering it is what makes it stick.

Two three-week calendars: five sessions all on one evening, and the same five sessions spread across the weeksone eveningweek 1week 2week 3spread outthe same five sessions, the same total timeeach dot is one session
The same five sessions and the same total time, placed two ways. Spread out, you forget a little between sessions, and getting it back each time is what makes it stick.

Interleaving. Mix topics in one session rather than doing one for an hour. It feels worse and works better, because you have to decide which method a question needs, which is exactly what the exam asks.

A session of one topic all the way through, against a session where the topics are mixedone topicall sessionNetworksNetworksNetworksNetworksNetworksNetworkstopicsmixedNetworksAlgorithmsSecurityAlgorithmsNetworksSecurityMixed feels worse and works better:every question starts with: which method does this one need?
Mixing topics means you cannot run on autopilot. Each new question makes you decide which method it needs first, which is the same choice every exam question asks of you.

What to stop doing

  • Re-reading notes and highlighting: it feels like learning because it is familiar, not because it is known.
  • Copying out whole pages.
  • Revising only the topics you like, which are usually the ones you already know.

A plan you will actually follow

  1. List the topics: the twelve modules of this course are a good list.
  2. Rate each one 1 to 5 for how confident you are.
  3. Give the weak ones more sessions, and space every topic at least twice.
  4. Finish each session by writing three things you could not remember, and start the next one with them.
A revision session as a loop: start with last time's misses, write from memory, check, write down three things you could not remember, and carry them to the next sessionstart withlast time's 3close the book,write whatyou remembercheck itwrite down3 things youcould not recallcarried to the next session, a few days laterSteps 2 and 3 are retrieval practice; the gap before the next session is spacing.
Each session hands its misses to the next one, so what you could not remember is the first thing you practise next time, after a gap long enough to be worth recovering.
# the two lines every program starts with: the commands, then the robot
from bugbot import *
connect()

topics = [("Networks", 2), ("Algorithms", 4), ("Cyber security", 3)]
for name, confidence in sorted(topics, key=lambda t: t[1]):
    sessions = 6 - confidence               # less confident, more sessions
    print(f"{name}: confidence {confidence}, {sessions} sessions")

Run this in the simulator

Use what is already here

  • Redo the quiz at the end of any lesson: it marks you and explains the answers.
  • Redo a task without looking at your old answer: that is retrieval practice for programming.
  • Read the exam box on each lesson: it says what your board expects on that topic.
  • Ask your teacher to set a test in the class tools, which gives you tasks under exam conditions.

The night before

Sleep beats cramming: memory is consolidated while you sleep, so a late night costs you more than the extra hour gains. Pack your things, check the time and place, and read your weakest topic's exam boxes for ten minutes. That is enough.

Task: build a revision plan

For each topic in topics (a name and a confidence from 1 to 5), the number of sessions is 6 - confidence. Print <name>: <n> sessions for each, from the least confident to the most. Then spread them over the days in days, one session a day in turn, starting with the least confident topic, and print <day>: <topic> for each day. At the end print sessions planned: <n>, the number of days you filled, and needs the most: <name>, the topic needing the most sessions.

# the two lines every program starts with: the commands, then the robot
from bugbot import *
connect()

# name, confidence 1 to 5
topics = [("Networks", 2), ("Algorithms", 4), ("Cyber security", 3), ("Data representation", 1)]
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]

Challenges

  1. Change the plan so no topic appears two days running.
  2. Add your own topics and confidences, and print a plan for the next fortnight.
  3. Why does spacing work better than doing it all at once, even with the same total time?