top of page

Weekly Coding in Python Curriculum
Topics and Learning Objectives

Curriculum Coding in Python_edited.jpg
Top

Each level runs for around three months. Once completed, students will receive a completion certificate and automatically move up to the next level

Jump to…

7-8 year olds

9-12 year olds

13-16 year olds

7-8 year olds

Level 1 (7-8)

This level introduces coding in Python gently for young students. Students will learn some of the fundamental concepts in computer coding using graphics-based projects that are fun to write and allow students to be creative while learning to code. At this level and age group, students who need extra help with keyboard skills will be assisted and all students will learn some shortcuts which will make coding easier for them.

 

The key topics in this level are:

  • Introduction to coding and the Python language

  • Exploring Python using the turtle module

  • Basic for loops

  • Using random numbers

  • Basic while loops

  • Basic function definitions using def

  • Binding functions to keys to create interactive programs (using onkey/onkeypress in turtle)

  • Importance of order of instructions and writing algorithms

  • Best practices, such as descriptive naming of variables using Python conventions

 

Learning objectives | Students will be able to:

  1. Understand basic communication with a computer using the Python programming language

  2. Write basic Python syntax correctly

  3. Understand logical code structure

  4. Identify when to use for and while loops in basic settings

  5. Write basic for and while loops

  6. Notice errors and identify their location within the code

 

Level 2 (7-8)

This level builds on the basics introduced in Level 1 by introducing further new concepts but also by consolidating existing knowledge. A key focus of this level is to combine various topics learnt into a single program. This helps students improve their computational thinking and writing more complex algorithms. In this level, students also work on text-based programs as well as graphics-based projects.

The key topics in this level are:

  • if statements

  • Slightly more complex algorithms leading to more complex programs, including animations and games

  • Combining all the topics learnt up until now into a single key project—a 2D graphics game

  • Text-based programs and user input and output using input() and print()

  • Basic data types, specifically bool, int, and, str

  • Better understanding of variables

  • Dealing with basic errors and bugs

  • Further coding best practices including commenting of code

Learning objectives | Students will be able to:

  1. Have a good understanding of the structure of a computer program

  2. Know when to use and how to write an if statement

  3. Identify when simple data needs to be stored using a variable

  4. Understand simple errors and their causes

  5. Know what data types are and be able to identify basic types

  6. Write comments in their code without being prompted to do so

 

Level 3 (7-8)

The main new topic in this Level is data structures. We introduce lists and use them in several projects, leading to more complex algorithms. All the projects in this level combine the new topic they're learning—lists—with ample consolidation of topics from previous levels. Students also start to become a lot more independent in their programming and learn more about planning their code.

The key topics in this level are:

  • Lists (and data structures)

  • Revisit for loop to include looping through a list

  • Algorithms that loop through lists

  • More complex algorithms to write animations and games

  • Planning a complex computer program

  • Dealing with errors and bugs independently

  • Consolidation of coding best practices

Learning objectives | Students will be able to:

  1. Know when to use lists

  2. Know how to create lists and perform basic manipulation with lists

  3. Write for loops using lists

  4. Identify and fix some errors independently

  5. Use coding best practices regularly

  6. Plan the steps needed in a program before starting to write the code

 

Following Level 3 in the 7-9 age group, students will move to Level 3 in the 9-12 age group and carry on in that age group
7-8 curriculum

9-12 year olds

Level 1 (9-12)

This level introduces coding in Python in a style that's appropriate for this age group. Students will learn some of the fundamental concepts in computer coding using graphics-based projects that are fun to write and allow students to be creative while learning to code. A key focus towards the end of this level is to combine various topics learnt into a single program. This helps students improve their computational thinking and writing more complex algorithms.

 

The key topics in this level are:

  • Introduction to coding and the Python language

  • Exploring Python using the `turtle` module

  • Basic `for` loops

  • Using random numbers

  • Basic `while` loops

  • Basic function definitions using `def`

  • `if` statements

  • Binding functions to keys to create interactive programs (using `onkey`/`onkeypress` in `turtle`)

  • Importance of order of instructions and writing algorithms

  • More complex algorithms leading to more complex programs, including animations and games

  • Combining all the topics learnt up until now into a single key project—a 2D graphics game

  • Best practices, such as descriptive naming of variables using Python conventions

 

Learning objectives | Students will be able to:

  1. Understand basic communication with a computer using the Python programming language

  2. Write basic Python syntax correctly

  3. Understand logical code structure

  4. Identify when to use `for` and `while` loops and `if` statements in basic settings

  5. Write basic `for` and `while` loops and `if` statements

  6. Understand simple errors and their causes

 

Level 2 (9-12)

This level builds on the basics introduced in Level 1 by introducing further new concepts but also by consolidating existing knowledge. A key new topic in this Level is data structures. We introduce lists and use them in several projects, leading to more complex algorithms. Projects in the second half of this level combine the new topic they're learning—lists—with ample consolidation of topics learnt previously. Students also become a lot more independent in their programming and learn more about planning their code.

The key topics in this level are:

  • Text-based programs and user input and output using `input()` and `print()`

  • Basic data types, specifically `bool`, `int`, and, `str`

  • Better understanding of variables

  • Lists (and data structures)

  • Revisit `for` loop to include looping through a list

  • Algorithms that loop through lists

  • More complex algorithms to write animations and games

  • Planning a complex computer program

  • Dealing with errors and bugs independently

  • Consolidation of coding best practices

Learning objectives | Students will be able to:

  1. Have a good understanding of the structure of a computer program

  2. Identify when simple data needs to be stored using a variable

  3. Know when to use lists, how to create them and perform basic manipulation with lists, including looping through a list

  4. Know what data types are and be able to identify basic types

  5. Identify and fix some errors independently

  6. Use coding best practices regularly, including code planning and writing comments

Level 3 (9-12)

This level dives deeper into the fundamentals of coding and starts to deal with intermediate topics. The main focus in this level is on defining functions beyond the basics learnt in previous levels. Projects become more complex and students will learn to work a lot more independently when coding as they improve their coding proficiency.

The key topics in this level are:

  • In-depth review of variables, `for` loops (using `range()` and lists), `while` loops, `if` statements, and defining basic functions using `def`

  • Further topics on defining functions:

    • scope

    • using parameters when defining functions

    • `return` statements

  • Understanding best practices when defining functions

  • Understanding how data moves between functions and the main scope of the program

  • A brief introduction to creating and using instance variables (variables defined as attributes of an instance/object) to move data across functions and the main scope in some situations

Learning objectives | Students will be able to:

  1. Gain a deeper understanding of the fundamentals: loops and control flow

  2. Understand how to use functions in a flexible manner to make code re-useable

  3. Define functions with input parameters and pass arguments when calling those functions

  4. Define functions with `return` statements

  5. Understand the flow of data between functions and the main scope of the program

  6. Recognise and create instance variables and identify when to uses them

 

Higher Levels (9-12)

Following Levels 1, 2, and 3 in the 9-12 age group, students will move on to the Higher Levels. Higher Levels cover intermediate and advanced topics and dive deeper into the fundamentals so that students can understand what's happening behind the scenes when a Python program runs. This is a key step towards advanced proficiency.

Higher Levels cover a broad range of Python coding and interdisciplinary topics, including:

  • Object-oriented programming and classes

  • Numerical and scientific coding using NumPy and Matplotlib

  • Analysing real-world data, including using Pandas

  • Advanced functions including default arguments, positional and keyword arguments, `*args` and `**kwargs`, and more

  • Dealing with dates and times in Python

  • Further debugging techniques

  • More advanced Python programming techniques including generators, iteration tools (`itertools`) and function tools (`functools`), unpacking, and more

  • Functional programming techniques

9-12 curriculum

13-16 year olds

Level 1 (13-16)

This level introduces coding in Python, starting from the fundamentals but progressing through the early topics at a pace that older students are comfortable with. Students will learn the fundamental concepts in computer coding using both graphics-based and text-based projects that are both engaging and thorough. A key focus towards the end of this level is to combine various topics learnt into a single program. This helps students improve their computational thinking and writing more complex algorithms.

The key topics in this level are:

  • Introduction to coding and the Python language, including by using `turtle` for graphics-based projects

  • Basic `for` loops

  • Using random numbers

  • Basic `while` loops

  • Basic function definitions using `def`

  • `if` statements

  • Text-based programs and user input and output using `input()` and `print()`

  • Importance of order of instructions and writing algorithms

  • Better understanding of variables

  • More complex algorithms leading to more complex programs, including animations and games

  • Combining all the topics learnt into one project

  • Best practices, such as descriptive naming of variables using Python conventions and commenting

 

Learning objectives | Students will be able to:

  1. Understand basic communication with a computer using the Python programming language

  2. Write basic Python syntax correctly and understand logical code structure

  3. Identify when to use `for` and `while` loops and `if` statements in basic settings

  4. Write basic `for` and `while` loops and `if` statements

  5. Identify and fix some errors independently

  6. Use coding best practices regularly, including code planning and writing comments

 

Level 2 (13-16)

This level builds on the fundamentals from the previous level. Lessons include consolidation of previous topics, including gaining a deeper understanding of these topics, and a number of key new topics. These include lists and more detailed study of defining functions. Projects are more complex and students learn to code more independently.

The key topics in this level are:

  • Basic data types, specifically `bool`, `int`, `float`, and `str`

  • Lists (and data structures) and some list methods

  • Revisit `for` loop to include looping through a list

  • More complex algorithms to write animations and games, including planning

  • Representing real-world processes through computer programs

  • Further topics on defining functions:

    • scope

    • using parameters when defining functions

    • `return` statements

  • Understanding best practices when defining functions

  • Understanding how data moves between functions and the main scope of the program

  • A brief introduction to creating and using instance variables (variables defined as attributes of an instance/object) to move data across functions and the main scope in some situations

  • Dealing with errors and bugs independently

  • Consolidation of coding best practices

Learning objectives | Students will be able to:

  1. Know what data types are and be able to identify basic types

  2. Know when to use lists, how to create them and perform basic manipulation with lists, including looping through a list

  3. Understand how to use functions in a flexible manner to make code re-useable

  4. Define functions with input parameters and pass arguments when calling those functions

  5. Define functions with `return` statements

  6. Understand the flow of data between functions and the main scope of the program, including by using instance variables when appropriate

Level 3 (13-16)

This level reinforces the important work on defining functions from the previous level and dives starts tackling intermediate topics in coding, including more advanced data structures such as dictionaries. Students work on a mixture of graphics-based programs and programs that introduce them to data analysis and real-world coding.

The key topics in this level are:

  • In-depth review of defining functions with input parameters and `return` statements, including a thorough understanding of the flow of data between functions and the main program scope

  • Reading data from files and writing data to files, and an understanding of flow of information to and from a Python program

  • Dictionaries and complex data structures

  • Detailed planning and structuring of complex programs

  • Basics of debugging techniques

Learning objectives | Students will be able to:

  1. Have a detailed understanding of flow of data in a Python program, including flow of data between functions and the main program scope, and flow of data in and out of a Python program

  2. Read from and write to external text files

  3. Know when to use dictionaries in Python, how to create them and perform basic manipulation, including using some of the dictionary methods

  4. Systematically look for and fix errors and bugs in their program using solid debugging techniques

  5. Be proficient in using functions flexibly, including using input parameters and `return` statements effectively and following best practices

  6. Plan, write, test, and debug a complex computer program from start to finish independently

 

Higher Levels (13-16)

Following Levels 1, 2, and 3 in the 13-16 age group, students will move on to the Higher Levels. Higher Levels cover intermediate and advanced topics and dive deeper into the fundamentals so that students can understand what's happening behind the scenes when a Python program runs. This is a key step towards advanced proficiency.

Higher Levels cover a broad range of Python coding and interdisciplinary topics, including:

  • Object-oriented programming and classes

  • Numerical and scientific coding using NumPy and Matplotlib

  • Analysing real-world data, including using Pandas

  • Advanced functions including default arguments, positional and keyword arguments, `*args` and `**kwargs`, and more

  • Dealing with dates and times in Python

  • Further debugging techniques

  • More advanced Python programming techniques including generators, iteration tools (`itertools`) and function tools (`functools`), unpacking, and more

  • Functional programming techniques

13-16 curriculum
bottom of page