Object-oriented
programming
getting started for Australian teachers
Welcome
Please start with the video below.
Help! I'm new to
Python and JavaScript
Python and JavaScript
If you and your students do not have experience with fundamental General Purpose Programming concepts, we do not recommend starting with this online workshop.
Click here for links to recommended resources.
Also, see below for face-to-face workshops offered in Victoria in 2021.
Online sessions & live workshops
Online Q&A
During 2021, teachers across Australia were able attend casual, online meetings hosted by the developers of this resource to ask questions and share ideas.
Online Q&A sessions are now concluded for 2021.
Please contact DLTV if you have questions or feedback on this resource.
Face-to-face workshops
During 2021, teachers in Victoria were able to register for full-day, face-to-face workshops delivered by the developers of this online resource.
Face-to-face workshops are no longer available to book for 2021.
Please use the button below to subscribe to DLTV's newsletter for any upcoming related workshops and webinars.
Who made this?
This online workshop was developed in 2021 by professional learning providers and teachers connected with Digital Learning and Teaching Victoria (DLTV), the subject association for Digital Technologies teaching in Victoria.
This resource is made possible by funding from Google Educator PD Grants.
Let's get started
PART 1: Familiar ways for structuring data
View the informational video at right, then proceed to the tutorials in Python or JavaScript below.
Python tutorials
i. Revising variables
ii. Revising functions
iii. Revising lists
iv. A look at dictionaries
JavaScript tutorials
i. Revising variables
ii. Revising functions
iii. Revising lists
iv. A look at dictionaries (associative arrays)
PART 2: Structuring data better
View the informational video at right, then proceed to the tutorials in Python or JavaScript below.
Access the PDF for the poster activity here.
Python tutorials
i. Writing the Pet class
ii. The special __str__ method
iii. Making a list of Pet objects
iv. An alternate example - the Car class
JavaScript tutorials
i. Writing the Pet class
ii. Customising how an object prints
iii. Making a list of Pet objects
iv. An alternate example - the Car class
PART 3: Truly functional objects
View the informational video at right, then proceed to the tutorials in Python or JavaScript below.
Access the PDF for the poster activity here.
Python tutorials
i. Writing methods
ii. Making attributes private
iii. Methods for getting and setting
iv. Working with a list of objects
JavaScript tutorials
i. Writing methods
ii. Making attributes private
iii. Methods for getting and setting
iv. Working with a list of objects
v. (Optional demo) Property behaviour
PART 4: A complete Object-oriented program
View the informational video at right, then proceed to the tutorials in Python or JavaScript below.
Python tutorials
i. Writing and testing the Fighter class
ii. Improving the Fighter class to simulate a battle
iii. Making the health attribute private
iv. Making it a true game by adding a skill attack challenge
v. (Optional demo) A very brief introduction to inheritance
JavaScript tutorials
i. Writing and testing the Fighter class
ii. Improving the Fighter class to simulate a battle
iii. Making the health attribute private
iv. Making it a true game by adding a skill attack challenge
v. (Optional demo) A very brief introduction to inheritance
PART 5: Object-oriented programming in graphical games
Overview video will be available soon.
Game design platforms for Python and JavaScript
PyGame (Python)
Ursina (Python)
GameLab and AppLab (JavaScript)
Kaboom (JavaScript)
In-depth tutorials for PyGame (Python)
The offline Mu editor is used for this final series of tutorials. Mu will need to be installed on teacher and student devices to proceed.
i. Setting up PyGame
ii. Starting the Hero class for Space Invaders
iii. Improving the Hero class
iv. Writing the Bullet class for projectiles
v. Writing the Enemy class for enemies
vi. Making the game more playable