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!


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.
| Status | Status | Type | Title |
|---|---|---|---|
| About Time2Code | |||
| Getting Started with Time2Code on Dodona |
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.
| Status | Status | Type | Title |
|---|---|---|---|
| 1. Hello World | |||
| 2. Carpet cost | |||
| 3. Ball pit | |||
| 4. Dice face 5 | |||
| 5. Temperature converter | |||
| 6. Fish tank volume | |||
| 7. Microscopy | |||
| 8. Circle properties | |||
| 9. Energy bill calculator |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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β’ |