← All Journeys

ACARA Digital Technologies Years 7–8 — Programming with Control Structures and Functions (Python)

Writing, changing and fixing Python programs with decisions, loops and functions.

Modules (74)

1 Running a Python program 2 Scratch scripts and typed Python side by side 3 print() function 4 Scratch say block as print() 5 Syntax Errors and Debugging 6 Comments 7 Sequence: instructions run in order 8 Variables 9 Basic Data Types 10 Scratch variable blocks as Python assignment 11 Basic Arithmetic 12 More Arithmetic 13 Order of operations with brackets in Python 14 input() function 15 Scratch ask and answer as input() 16 Type Conversion 17 Runtime error: type mismatch 18 String Concatenation 19 F-String Formatting 20 len() function 21 Reading an error message and traceback 22 NameError: using a name Python does not know 23 Comparison Operators 24 Boolean Logic 25 Python indentation and colons 26 If Statements 27 else Statements 28 Scratch if and if-else blocks as Python if/else 29 elif Statements 30 Nested if statements in Python 31 IndentationError and missing colons 32 For Loops 33 range() 34 Scratch repeat block as a for loop 35 Counters and totals in a Python loop 36 While Loops 37 Scratch forever and repeat until blocks as while loops 38 break and continue 39 Decisions inside Python loops 40 Choosing a for loop or a while loop (Python) 41 Nested for loops 42 Input validation with a while loop 43 Infinite loops and how to stop them 44 Scratch My Blocks as Python functions 45 Functions – Defining 46 Functions – Parameters 47 Functions – Return Values 48 print() inside a function versus return 49 Procedures versus functions 50 A function that returns True or False inside an if 51 Functions – Default Arguments 52 Functions – Scope 53 Functions calling other functions 54 Program structure with a main() function 55 Python snake_case naming 56 Docstrings for functions and classes 57 Turning pseudocode into Python 58 Turning a flowchart into Python 59 Trace Tables 60 Tracing nested loops 61 Runtime errors in Python 62 Runtime error: divide by zero 63 Logic errors in Python 64 Debugging with print() 65 Commenting out code to isolate a bug 66 Breakpoints in an editor 67 Stepping through code and watching variables 68 Modifying an existing Python program 69 Testing a Python program with test cases 70 Boundary test values 71 Imports 72 Random numbers with import random 73 Number guessing game with a loop, decisions and a counter 74 Quiz program using a function, a loop and a score

Smaller journeys, one per content description

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

7
ACARA 7-8 Digital Technologies: Getting started with Python — AC9TDI8P09 Students run their first Python programs, print output, add comments, meet syntax errors and see how sequence and Scratch blocks map to typed code.
15
ACARA 7-8 Digital Technologies: Variables, input and output in Python — AC9TDI8P06, AC9TDI8P09 Students store and calculate with data in variables, take typed input, convert types, format output and read common error messages.
9
ACARA 7-8 Digital Technologies: Selection with if, elif and else in Python — AC9TDI8P06, AC9TDI8P09 Students use comparisons and boolean logic to write programs that make decisions with if, elif, else and nested if statements, and fix indentation errors.
12
ACARA 7-8 Digital Technologies: Iteration with for and while loops in Python — AC9TDI8P06, AC9TDI8P09 Students repeat actions with for and while loops, combine loops with decisions and counters, nest loops, validate input and avoid infinite loops.
13
ACARA 7-8 Digital Technologies: Functions in Python — AC9TDI8P09 Students define and call functions with parameters and return values, understand scope, and organise programs into well-named, documented parts.
14
ACARA 7-8 Digital Technologies: Algorithms, tracing, debugging and testing in Python — AC9TDI8P05, AC9TDI8P06, AC9TDI8P09 Students turn flowcharts and pseudocode into Python, trace programs by hand, then find, fix and test errors using print(), breakpoints, stepping and test cases.
4
ACARA 7-8 Digital Technologies: Python projects with loops, decisions and functions — AC9TDI8P05, AC9TDI8P09 Students use the random module and bring together loops, decisions, counters and functions to build a number guessing game and a quiz program.

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 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
✎
SC in Schools Python Crossword: What is Python? to Text Adventure Game Design (Modules 64–73) 10 clues · What is Python?, The Code for Schools Editor, Syntax Errors and Debugging, say() function and more
🔎
SC in Schools Python Word Search: What is Python? to Text Adventure Game Design (Modules 64–73) 13 words to find · What is Python?, The Code for Schools Editor, Syntax Errors and Debugging, say() function and more
✎
VCE Pseudocode Crossword: if-then-else block to Reading and tracing complex pseudocode (Modules 11–28) 10 clues · if-then-else block, else if: chained selection, for loop: for i from 1 to n, Nested for loops and more
🔎
VCE Pseudocode Word Search: What is Pseudocode to Reading and tracing complex pseudocode (Modules 1–28) 20 words to find · What is Pseudocode, Pseudocode Writing Conventions, Variable Assignment: x <- value, input keyword 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: Data sources and files to Graphical user interfaces (Modules 114–124) 10 clues · Reading an XML file with ElementTree, Validation: why data is checked on entry, Types of validation check, Existence checking in code 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 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: Data sources and files to Object-oriented programming (Modules 114–141) 20 words to find · Reading an XML file with ElementTree, Validation: why data is checked on entry, Types of validation check, Existence checking in code 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: Code repositories, APIs, libraries and AI assistants (Modules 115–124) 10 clues · Branches and merging, What a library is: standard vs third-party, Random numbers with import random, The math module and more
✎
VCE Software Development U4O1 Crossword: Code repositories, APIs, libraries and AI assistants to Beta testing (Modules 125–171) 10 clues · Keeping API keys secure, Validation versus verification, Alpha testing, Commenting out code to isolate a bug 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
🔎
VCE Software Development U4O1 Word Search: Code repositories, APIs, libraries and AI assistants to Beta testing (Modules 115–171) 22 words to find · Branches and merging, What a library is: standard vs third-party, Random numbers with import random, The math module 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
✎
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: Tracing and Debugging Algorithms and Programming with Control Structures and Functions (Python) (Modules 482–519) 10 clues · Writing a bug report from a trace, Scratch scripts and typed Python side by side, Scratch say block as print(), Scratch variable blocks as Python assignment and more
✎
Crossword: Programming with Control Structures and Functions (Python) and Programming with Control Structures and Functions (JavaScript) (Modules 522–560) 10 clues · Choosing a for loop or a while loop (Python), Infinite loops and how to stop them, Scratch My Blocks as Python functions, print() inside a function versus return and more
🔎
Word Search: Algorithms, Flowcharts and Pseudocode to Programming with Control Structures and Functions (Python) (Modules 420–519) 20 words to find · Tracing a decision inside a loop with a trace table, Adding a condition column to a trace table, Tracing a decision inside a loop, Completing a flowchart prediction table and more
🔎
Word Search: Programming with Control Structures and Functions (Python) and Programming with Control Structures and Functions (JavaScript) (Modules 522–580) 20 words to find · Choosing a for loop or a while loop (Python), Infinite loops and how to stop them, Scratch My Blocks as Python functions, print() inside a function versus return 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 7–8 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?