Introduction for Teachers

Why teach Object Orientated Programming?

Introducing students to Object-Oriented Programming (OOP) sets them up with skills that underpin modern software development.

OOP is a core programming paradigm used across industry. Teaching it early helps students write code that is cleaner, more secure, easier to maintain, and simpler to extend.

This matters in Python. While Python supports functional styles, it is fundamentally object-oriented. Most Python libraries and community resources assume readers understand classes, objects, and methods. Once students grasp OOP, they can make full use of the wider Python ecosystem.

Upper secondary Digital Technologies subjects are also increasingly expecting students to apply OOP in their solutions, making early exposure even more important.

A strong grounding in OOP prepares students for future study. Tertiary programming courses expect students to work with object-oriented design from day one, and delaying exposure only makes that transition harder.

Why this site?

This site was developed for use with secondary Digital Technologies students and is based on the resources that finally helped me learn to code effectively with OOP.

It supports my classroom practice by addressing two common issues:

  • students arrive with very different levels of coding experience

  • extended student absences, particularly during the COVID-19 period

My teaching approach is:

  • Students access the website and work through the material at their own pace.

    • Students who move quickly can progress ahead.

    • An extension page is provided for those who finish early.

  • I live-code each section with the class.

    • This sets the minimum expected progress.

    • Students who fall behind what is covered in class must use the website to catch up.

  • Any student who misses lessons or needs extra time can use this site to get back on track.

Corrections

If you find any errors in this work, please raise an issue via GitHub so I can remedy it. There is also a Github link in the footer of every page.

Teacher Resources

The source code for this site can be found on Github where it is published under a GNU GPLv3 license. You are free to download and reuse for your own purposes within the licensing requirements.

Videos vs Website

The videos linked from this site where created prior to developing this site. Although they have similar content, this site provides more detail.

Australian Curriculum

The content of this website can be used to address the following content descriptors of the Australian Curriculum - Digital Technologies. The intention is to add both flowchart and pseudocode to this course to more fully meet the requirements of the Australian Curriculum.

Level

Australian Curriculum v9

Years 7 and 8

AC9TDI8P05

AC9TDI8P06

AC9TDI8P09

Years 9 and 10

AC9TDI10P05

AC9TDI10P06

AC9TDI10P08

Website Blocked

If your school blocks GitHub and your students cannot access the website, a portable version of the website can be found in the repository under _build/html.