Quick Start

Watch this video to learn how to get started teaching Lesson 1:


  • This is a complete introductory Python coding course that includes videos, slides, worksheets, exercises, and an assignment
  • A simple step-by-step classroom for your students is here
  • This course assumes no coding knowledge and teaches the fundamentals of coding
  • The course is taught using Python, the world’s most popular programming language
  • The course is designed for classes of two hours per week over ten weeks, that is, twenty hours in total
  • Additional materials are available to add into the programme as needed
  • It is built by the team at CS in Schools for Australian secondary schools
  • CS in Schools offers free support to teachers who want to develop their coding skills and teach this programme
  • This is an introductory course that maps to the coding requirements of the Australian Digital Technology curriculum Years 7/8. Read more here
  • The materials are free and open, you can use them for any purpose as long as you keep the attribution to the CS in Schools team


  • The introductory course contains 6 core lessons, 2 lessons to work on a text-based adventure, and 6 optional supplementary lessons
  • The 6 core lessons cover the basics of coding in Python:
    • Output, but only to the screen (Lessons 1, 2, and 3)
    • Input, but only from the keyboard (Lessons 2 and 4)
    • Variables, but only string variables (Lesson 4)
    • Decisions, but only the if statement (Lesson 5)
    • Loops, but only the goto statement (Lesson 6)
    • Other fundamentals, such as comments, neatness, and readability of code
  • The typical way to teach our course is to teach the 6 core lessons in order and then spend 2 lessons working on the text-based adventure. If there are additional weeks available, consider adding in supplementary lessons as suggested next
  • The 6 supplementary lessons are optional and include:
    • An artificial intelligence discussion (Lesson S1), which is useful when there’s a need to avoid coding content. Best used after Lesson 3, but can be used anytime
    • Unplugged activities (Lesson S2), best used in fragments in conjunction with Lessons 1, 5, and 6. See the lesson plan for details
    • Exploring, analysing, and modifying code (Lesson S3), which works best after completing Lesson 6
    • Animating text (Lesson S4), which can used anytime after Lesson 2
    • Multiple choice quiz (Lesson S5), which can be used after completing Lesson 6
    • More on program flow including ELSE and not equals (Lesson S6), which can be used after completing Lesson 5 and before Lesson 6
  • This “cheat sheet” will be particularly useful to your students, and we recommend handing out printed copies

Using the Lessons

  • Always start by watching the teacher preparation video and reading the lesson plan for each lesson. You need to create an account to do this
  • The teacher preparation video shares an overview of the lesson goals and plan, helps teachers set up required tools for the classroom, explains each of the worksheets and tasks, and shares tips and tricks for teaching the materials
    • The teacher prep video is accessed through a URL shortcut that combines the lesson number and “tv” (for “teacher video”). For example, to download the teacher prep video for Lesson 2, use: https://year7.io/2tv
    • Teacher prep videos download to your computer and are mp4 format. They can be viewed using all popular media players
  • Lesson plans download to your computer and are PDF format
  • The lesson plan is a written document that contains:
    • Steps to take before the lesson starts
    • Lesson overview: what’s in the lesson
      • Goals and outcomes
      • Content that’s covered
      • Exercises that you’ll do
      • What to distribute to the students
      • How to extend your students
    • Learning notes: tips and tricks for the lesson
    • Logistics notes: suggestions on what and how to deliver the materials
    • Timings, topics, and links: how long to spend on each topic, and direct links to the key materials
    • Note that each lesson has suggested timings that sum to 90 minutes, while the recommended class length recommended by CS in Schools is 120 minutes; this creates flexibility to give the students a break, add in additional materials, and the ability to spend more time where it is needed.
    • The lesson plan is accessed through a URL shortcut that combines the lesson number and “p” (for plan). For example, to read the lesson plan for Lesson 5, use: https://year7.io/5p
  • We’ve included slides, worksheets, student videos, quizzes, assignments, and unplugged activities in our course. Students do not need an account to access these
  • We don’t recommend downloading our materials and storing them in your Learning Management System (LMS).
    • If you do this, you’re missing out on updates and won’t necessarily be using the same version as everyone else
    • If you must download the materials, do it just before term starts, and download a new version every term

Using the Shortcut URLs

  • All of the materials are accessible at https://year7.io
  • The student classroom “homepage” is accessible here: https://year7.io/classroom
  • Accessing teacher materials requires a user account
  • We have created shortcuts that make it easy for you and your students to get directly to the right materials:
    • Always start with the teacher prep video and the written lesson plan.
    • There’s a student video that allows student to study the materials at their own pace that combines the lesson number and an “sv”. Example: https://year7.io/1sv
    • The slides link combines lesson number and “s”. Example: https://year7.io/1s
    • Each lesson usually has a worksheet, and the worksheet link combines lesson number and a “w” (example: https://year7.io/2w)
    • There’s usually a worksheet explainer video for the third coding exercise in each lesson, which combines lesson number and “v”. Example: https://year7.io/4v
    • The folder that contains all of the above lesson materials has only a number. Example: https://year7.io/4
    • The Python reference sheet is: https://year7.io/cheat
    • The repl.it classroom is: https://year7.io/classroom

The folder that contains all student source files is: https://year7.io/home


For curriculum support, please contact Zach Wingrave at zach@csinschools.com.

License Information

These CS in Schools lessons plans, worksheets, and other materials were created by Toan Huynh and Hugh Williams. They are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.