Featured course

Time2Code: Python

Craig 'n' Dave Β· Dodona

πŸš€ A revolution in coding education for schools

βœ… Designed for students at different skill levels β€” from complete beginners to those with some experience
βœ… Learning is structured and flexible
βœ… Builds upon the UK National Curriculum with clear progression through Key Stage 3 and 4 coding concepts like loops, arrays, and functions


πŸ§‘β€πŸŽ“ Target audience

  • A complete solution for students aged 14–16 learning programming in preparation for Computer Science examinations
  • Covers the fundamentals of programming in Python for GCSE examinations
  • Also a great resource for A level students learning a new language

πŸ‘‹ About the authors Craig Sargent and David Hillyard β€” aka Craig 'n' Dave β€” are experienced Computer Science teachers who once worked as programmers for the MoD. Since 1997, they’ve used contemporary pedagogy and high-performance learning strategies to overcome barriers to attainment. They empower teachers to plan with intent regardless of experience, providing the tools and confidence needed to implement impactful learning experiences. Their approach has a proven track record over many years supporting students in reaching their full potential while fostering a love for learning.

🌱 Stuck? Have a growth mindset!

Craig 'n' Dave logo

Craig 'n' Dave

As a student you can't register for this course. Ask your teacher to make a copy. Are you an educator yourself and do you want to get started with this course? Request teacher rights here to be able to make a copy for your students.

Learning path

Information for teachers

Make sure to keep this series "Hidden for students" in your copy of this course, or remove the series from your course altogether.

Level 01: inputs, outputs and structure

Learn about sequencing instructions, holding data in memory, and writing structured programs.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least four stars in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Level 02: selections

Learn about branching to different parts of a program depending on a condition or the value of a variable.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Ride height
Largest number
Seasons
States of water
HTTP status codes
Currency converter
Nitrate
Exam grade
Periodic table

Level 03: condition controlled repetitions

Learn about repeating the code in part of a program until a condition is met.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Capital city
Car value
Adder
Compound interest
Valid month
Cashpoint
Square root
PIN
Measurements

Assessment point: levels 01-03

Test yourself on everything you have learned so far. If you’re struggling, you probably need more practice in levels 1–3 before you continue to the next level.

You can use this programming guide as a reference while you work through the exercise.

Status Type Title Class progress Status Actions
Fox, chicken, grain

Level 04: number operations and libraries

Learn about including specialist functions, random numbers, and mathematical operators.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Polyhedral dice
Save the change
Denary to binary
Dungeon master
Leap year
Guess the number
Seconds in a day
Least common multiple
Rock, paper, scissors

Level 05: one-dimension arrays and lists

Learn about data structures.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
RPG inventory
Search for life
Two-dice pig
Random name generator
Cup draw
Feud
Darts
Cut the deck
London underground

Level 06: count controlled iterations and scope

Learn about iterating over data structures.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Countdown to launch
Rainfall
Notebook
Times tables
Voting count
Fizz Buzz
Find and replace
Twelve days of Christmas
Distribution of two dice

Assessment point: levels 01-06

Test yourself on everything you have learned so far. If you’re struggling, you probably need more practice in levels 1–6 before you continue to the next level.

You can use this programming guide as a reference while you work through the exercise.

Status Type Title Class progress Status Actions
Egyptian multiplication

Level 07: string operations

Learn about working with string data types.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Debit card
Teacher code
Caesar cipher
Airline ticket
Disemvowel
Your move
Tweet
Valid address
Palindrome

Level 08: files and exceptions

Learn about loading data from and saving data to secondary storage.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Saving data
School club
Shopping list
Attributes
Cookies
Morse code
ini file
Amino acids
Gamertag

Level 09: two-dimension arrays and lists

Learn more advanced data structures.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Rainfall collector
Journey log
Snakes and ladders
Quote of the day
Word game
Grade book
Checkout
Missiles
Noughts and crosses

Assessment point: levels 01-09

Test yourself on everything you have learned so far. If you’re struggling, you probably need more practice in levels 1–9.

You can use this programming guide as a reference while you work through the exercise.

Status Type Title Class progress Status Actions
School timetable

Level 10: turtle

Learn about using the turtle library to draw vector graphics.

Start with exercises 1–3: they introduce the new techniques for this level. After that, pick from the additional exercises: 4–5 are ⭐ (easier), 6–7 are ⭐⭐ (medium), and 8–9 are ⭐⭐⭐ (harder). Aim for at least ⭐⭐⭐⭐ in total before moving on to the next level.

You can use this programming guide as a reference while you work through the exercises.

Status Type Title Class progress Status Actions
Alphabet
Nine Dot
Artist
Logo
Vacuum cleaner
Constellation
Castle
Racing turtles
Spirographβ„’