← All Journeys

ACARA Digital Technologies Years 9–10 — Modular and Object-Oriented Programming (Python)

Writing Python programs in reusable pieces, including with classes and objects.

Modules (59)

1 Functions – Defining 2 Functions – Parameters 3 Functions – Return Values 4 Procedures versus functions 5 F-String Formatting 6 Functions that return True or False (Python) 7 Functions – Default Arguments 8 Functions – Scope 9 Python snake_case naming 10 Docstrings for functions and classes 11 Functions calling other functions 12 Refactoring code to improve it 13 Decomposing a problem into a hierarchy chart 14 Program structure with a main() function 15 Imports 16 Creating Modules (.py files to import) 17 Lists – Creation 18 Lists – Indexing 19 len() function 20 For Loops 21 range() 22 Lists – Slicing 23 Lists – Methods (append, remove, pop, insert) 24 Built-in functions sum(), min() and max() 25 Passing a list into a function 26 Functions that change a list or return a new one 27 Building and returning a list from a function 28 Nested Lists 29 Dictionaries – Basics (creation, accessing) 30 Lists + Dictionaries 31 Reading an error message and traceback 32 Runtime error: index out of range 33 Debugging with print() 34 Setting a breakpoint 35 Stepping through code and watching variables 36 Common function mistakes: print instead of return 37 Modifying an existing Python program 38 Testing a Python program with test cases 39 Testing a function with assert 40 Testing one module in isolation 41 Why object-oriented programming is used 42 Designing classes with a class diagram 43 OOP – Classes & Objects 44 OOP – __init__ Method 45 Reading and changing attributes with dot notation 46 OOP – Methods 47 Methods with parameters and return values (Python) 48 OOP – String Representation (__str__) 49 Creating several objects from one class 50 OOP – Practical Application 51 Storing objects in a list 52 OOP – Class Variables vs Instance Variables 53 Encapsulation in OOP 54 OOP – Private Attributes (underscore convention) 55 Setter methods that check new values 56 OOP – Inheritance (basic) 57 Common class mistakes: self and attribute errors 58 Testing a class with assert 59 Building a modular program with functions, lists and classes

Smaller journeys, one per content description

The same modules, split up so a class can take just the content description it's working on.

Printables for this journey

Every module above has its own free printable worksheet with an answer key. These crosswords and word searches cover the same terms:

✎
Python Crossword: Getting Started (Modules 1–10) 10 clues · print() function, input() function, Comments, Variables and more
✎
Python Crossword: Control Flow (Modules 11–20) 10 clues · Type Conversion, Comparison Operators, Boolean Logic, If Statements and more
✎
Python Crossword: Functions (Modules 21–30) 10 clues · range(), Error Handling – try/except basics, break and continue, Functions – Defining and more
✎
Python Crossword: Data Structures (Modules 31–40) 10 clues · String Methods (upper, lower, replace…), String Formatting (.format()), Lists – Creation, Lists – Indexing and more
✎
Python Crossword: Advanced (Modules 41–50) 10 clues · Sets – Operations, Nested Lists, Lists + Dictionaries, File Operations – Open and more
✎
Python Crossword: Advanced (Modules 51–63) 10 clues · OOP – Methods, OOP – String Representation (__str__), OOP – Practical Application, OOP – Class Variables vs Instance Variables and more
🔎
Python Word Search: Getting Started and Control Flow (Modules 1–20) 22 words to find · print() function, input() function, Comments, Variables and more
🔎
Python Word Search: Functions and Data Structures (Modules 21–40) 20 words to find · range(), Error Handling – try/except basics, break and continue, Functions – Defining and more
🔎
Python Word Search: Advanced (Modules 41–63) 20 words to find · Sets – Operations, Nested Lists, Lists + Dictionaries, File Operations – Open and more
✎
VCE Software Development U3O1 Crossword: Requirements and design tools to Naming conventions and internal documentation (Modules 10–47) 10 clues · Data dictionary, Writing a data dictionary entry, Designing classes with a class diagram, Object descriptions and more
✎
VCE Software Development U3O1 Crossword: Pseudocode to Data structures (Modules 72–96) 10 clues · Turning pseudocode into Python, Changing a global variable with the global keyword, Functions calling other functions, Program structure with a main() function and more
✎
VCE Software Development U3O1 Crossword: Searching and sorting algorithms and Errors and debugging (Modules 156–166) 10 clues · Comparing searching and sorting algorithms, Applying an algorithm to a task, Logic errors in Python, Runtime errors in Python and more
✎
VCE Software Development U3O1 Crossword: Errors and debugging and Testing modules (Modules 168–177) 10 clues · Debugging a program with print() and trace tables, Setting a breakpoint, Stepping through code and watching variables, Tracing nested loops and more
✎
VCE Software Development U3O1 Crossword: Testing modules and Artificial intelligence in programming (Modules 178–193) 10 clues · Testing one module in isolation, Modifying an existing program, Emerging trend: AI code generation tools, Writing a prompt to generate code and more
🔎
VCE Software Development U3O1 Word Search: Requirements and design tools to Pseudocode (Modules 10–71) 21 words to find · Data dictionary, Writing a data dictionary entry, Designing classes with a class diagram, Object descriptions and more
🔎
VCE Software Development U3O1 Word Search: Pseudocode to Data sources and files (Modules 72–113) 21 words to find · Turning pseudocode into Python, Changing a global variable with the global keyword, Functions calling other functions, Program structure with a main() function and more
🔎
VCE Software Development U3O1 Word Search: Object-oriented programming to Errors and debugging (Modules 142–166) 20 words to find · OOP principle: inheritance, Calling the parent __init__ with super(), Linear search in Python, Binary search in Python and more
🔎
VCE Software Development U3O1 Word Search: Errors and debugging to Artificial intelligence in programming (Modules 168–193) 20 words to find · Debugging a program with print() and trace tables, Setting a breakpoint, Stepping through code and watching variables, Tracing nested loops and more
✎
VCE Software Development U4O1 Crossword: Efficient and effective solutions and user-centred design to Classes, objects and access modifiers (Modules 3–79) 10 clues · User-centred design, Order of operations with brackets in Python, Choosing data types for input, storage and output, Procedures versus functions and more
✎
VCE Software Development U4O1 Crossword: Classes, objects and access modifiers to Code repositories, APIs, libraries and AI assistants (Modules 82–114) 10 clues · Choosing access modifiers for a class, Readability improvements in code, Built-in functions sum(), min() and max(), List comprehensions and more
🔎
VCE Software Development U4O1 Word Search: Efficient and effective solutions and user-centred design to Code repositories, APIs, libraries and AI assistants (Modules 3–114) 20 words to find · User-centred design, Order of operations with brackets in Python, Choosing data types for input, storage and output, Procedures versus functions and more
✎
Years 7–8 Creating Digital Solutions Crossword: Designing and tracing algorithms to Evaluating digital solutions (Modules 50–125) 10 clues · Choosing test data for an algorithm, Storyboarding a user's path through a system, Comparing alternative designs with a criteria table, Running a Python program and more
🔎
Years 7–8 Creating Digital Solutions Word Search: Defining and decomposing problems to Evaluating digital solutions (Modules 3–125) 21 words to find · Interviewing a user, Decomposing a problem into sub-problems, Decomposition diagrams, Non-functional requirements and more
✎
Years 9–10 Creating Digital Solutions Crossword: Defining and decomposing problems to Evaluating solutions, impact and innovation (Modules 6–132) 10 clues · Decomposing a problem into a hierarchy chart, Prioritising requirements, Truth tables for AND, OR and NOT, Logical operators in a flowchart decision and more
🔎
Years 9–10 Creating Digital Solutions Word Search: Defining and decomposing problems to Evaluating solutions, impact and innovation (Modules 6–132) 20 words to find · Decomposing a problem into a hierarchy chart, Prioritising requirements, Truth tables for AND, OR and NOT, Logical operators in a flowchart decision and more
✎
VCE Applied Computing U1O2 Crossword: Requirements and design tools to Naming conventions and internal documentation (Modules 8–88) 10 clues · Writing an IPO chart for a program, Accessing record fields by index, Abstraction in OOP, Encapsulation in OOP and more
✎
VCE Applied Computing U1O2 Crossword: Naming conventions and internal documentation to Legal requirements and emerging trends (Modules 89–124) 10 clues · Explaining data and code structures with comments, Docstrings for functions and classes, Combining validation checks in a reusable function, Breakpoints in an editor and more
🔎
VCE Applied Computing U1O2 Word Search: Requirements and design tools to Legal requirements and emerging trends (Modules 8–124) 21 words to find · Writing an IPO chart for a program, Accessing record fields by index, Abstraction in OOP, Encapsulation in OOP and more
✎
Crossword: Modular and Object-Oriented Programming (Python) (Modules 629–680) 10 clues · Functions that return True or False (Python), Passing a list into a function, Functions that change a list or return a new one, Building and returning a list from a function and more
✎
Crossword: Modular and Object-Oriented Programming (Python) and Modular and Object-Oriented Programming (JavaScript) (Modules 681–707) 10 clues · Testing a class with assert, Building a modular program with functions, lists and classes, A function with no return gives undefined, Functions calling other functions and more
🔎
Word Search: Modular and Object-Oriented Programming (Python) and Modular and Object-Oriented Programming (JavaScript) (Modules 629–707) 21 words to find · Functions that return True or False (Python), Passing a list into a function, Functions that change a list or return a new one, Building and returning a list from a function and more

Frequently Asked Questions

Are these worksheets free?

Yes — every worksheet and its answer key is free to view, download, and print, with no account required to access any individual module.

Do I need an account?

No account is needed to view or print a worksheet. A free teacher account adds extras like assigning modules to a class and tracking progress automatically — it takes under three minutes to set up and doesn't need a credit card.

What year level is this for?

This curriculum is aligned to the Australian Curriculum (ACARA) and Victorian Curriculum, spanning roughly Years 3 to 10 — from first sequencing and variables through to object-oriented programming and advanced data structures. Start wherever matches your class's current level; each module builds on the last.

Can I print them?

Yes — every module has a one-click Print Worksheet button that generates a printable page with the practice questions and a full answer key.

Is this aligned to a curriculum?

Yes — the module sequence is mapped to the Australian Curriculum (ACARA) and Victorian Curriculum, and a class's progress is reported back against those curriculum bands (e.g. ACARA Years 5–6 sequencing and iteration, Years 7–8 functions and data structures), not just a generic difficulty scale.

Can students use this without a teacher?

Yes — students can start any module and practice directly, no class or account required. Joining a teacher's class with a class code adds progress tracking, class badges, and live Sprints, but isn't needed to work through the worksheets or modules solo.

Do I need to know ACARA Digital Technologies Years 9–10 myself to teach this?

No — every module comes with a full worked answer key, and Cloodit tracks who's stuck automatically, so you don't need to solve each exercise yourself before assigning it or be able to debug a student's work line by line.

Add to class →
For Teachers

Add this journey to your class and track every student in real time.

Create a free teacher account →

No credit card. No setup fee. Make a class and invite students in under three minutes.

For Students

Start this journey on Cloodit — track progress, earn badges, and play live sprints with your class.

Start Learning Free →

Have a class code?