← All Journeys

WA Computer Science ATAR Year 11 — Control Structures and Data Types

The building blocks every program is made from.

Modules (106)

1 Running a Python program 2 print() function 3 Comments 4 Sequence: instructions run in order 5 Variables 6 Basic Data Types 7 Constants 8 input() function 9 Type Conversion 10 Choosing data types for input, storage and output 11 String Concatenation 12 F-String Formatting 13 len() function 14 Strings – Indexing: name[0] 15 Strings – Slicing 16 String Methods (upper, lower, replace…) 17 Basic Arithmetic 18 More Arithmetic 19 Order of operations with brackets in Python 20 Comparison Operators 21 Boolean Logic 22 Arithmetic Operators in Pseudocode 23 Comparison Operators in Pseudocode 24 Boolean Operators in Pseudocode 25 Python indentation and colons 26 If Statements 27 else Statements 28 elif Statements 29 Nested if statements in Python 30 For Loops 31 range() 32 While Loops 33 break and continue 34 Choosing a for loop or a while loop (Python) 35 Infinite loops and how to stop them 36 Nested for loops 37 Functions – Defining 38 Functions – Parameters 39 Functions – Return Values 40 Variable Assignment: x <- value 41 input keyword 42 print keyword 43 if-then-else block 44 else if: chained selection 45 for loop: for i from 1 to n 46 while loop 47 Repeat-Until loop 48 Counters and accumulators in pseudocode 49 Lists – Creation 50 Lists – Indexing 51 Lists – Slicing 52 Lists – Methods (append, remove, pop, insert) 53 Looping through a list with for...in 54 Looping through an array by index 55 Creating an array of a set size 56 Arrays in pseudocode 57 Nested Lists 58 Dictionaries – Basics (creation, accessing) 59 Dictionaries – Methods (keys, values, items, get) 60 Dictionaries – Iteration 61 Lists + Dictionaries 62 Choosing a data structure 63 Syntax Errors and Debugging 64 IndentationError and missing colons 65 Runtime errors in Python 66 Reading an error message and traceback 67 NameError: using a name Python does not know 68 Runtime error: type mismatch 69 Runtime error: divide by zero 70 Runtime error: index out of range 71 Error Handling – try/except basics 72 Logic error versus syntax error 73 Error: loop repeats one time too many or too few 74 Following an algorithm step by step 75 Tracing selection with a trace table 76 Tracing a decision inside a loop with a trace table 77 Debugging a program with print() and trace tables 78 Commenting out code to isolate a bug 79 Breakpoints in an editor 80 Stepping through code and watching variables 81 Choosing a range of test data 82 Test table layout 83 Testing a Python program with test cases 84 Testing a function with assert 85 Test coverage of branches and loops 86 Modifying an existing program 87 Validation versus verification 88 Validation: why data is checked on entry 89 Types of validation check 90 Existence checking in code 91 Type checking in code 92 Range checking in code 93 Length check with len() 94 Format check with string methods 95 List check with the in operator 96 Input validation with a while loop 97 Combining validation checks in a validation function 98 Constructing test data for validation checks 99 What a graphical user interface (GUI) is 100 Creating a tkinter window 101 GUI Label control 102 GUI Entry control and .get() 103 GUI Button control and event handlers 104 Placing controls with grid() and pack() 105 Choice controls: Checkbutton, Radiobutton and Combobox 106 Showing messages with messagebox

Smaller journeys, one per content description

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

16
Year 11 Computer Science ATAR: Python basics, data types and input/output Students write and run simple Python programs using variables, constants, data types, input and output, type conversion and string handling.
8
Year 11 Computer Science ATAR: Arithmetic, comparison and logical operators Students use arithmetic, comparison and logical operators, in both Python and pseudocode, to build expressions and conditions.
15
Year 11 Computer Science ATAR: Control structures and functions in Python Students control program flow in Python with sequence, selection and iteration, and package code into reusable functions.
9
Year 11 Computer Science ATAR: Pseudocode for algorithms Students express algorithms in generic, language-independent pseudocode using assignment, input and output, selection, loops, counters and accumulators.
14
Year 11 Computer Science ATAR: Data structures with lists and dictionaries Students store, access, loop through and choose between arrays (lists), nested lists, dictionaries and tuples.
11
Year 11 Computer Science ATAR: Errors and error handling Students recognise, read and fix syntax, runtime and logic errors, and handle runtime errors with try/except.
13
Year 11 Computer Science ATAR: Tracing, debugging and testing Students interpret algorithms with trace tables, debug with prints and breakpoints, and test programs with well-chosen test data.
12
Year 11 Computer Science ATAR: Data validation techniques Students write and test validation checks for presence, type, range, length, format and list, and combine them into input loops and validator functions.
8
Year 11 Computer Science ATAR: Building a simple user interface Students build an event-driven tkinter interface with windows, labels, entry boxes, buttons, choice controls and message boxes.

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 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
✎
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: What is Pseudocode to if-then block (Modules 1–10) 6 clues · What is Pseudocode, Pseudocode Writing Conventions, Variable Assignment: x <- value, input keyword 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
✎
Years 5–6 Creating Digital Solutions Crossword: Designing algorithms with branching and iteration (Modules 11–20) 10 clues · Following an algorithm step by step, Variables in an algorithm, Input and output in an algorithm, Condition and more
🔎
Years 5–6 Creating Digital Solutions Word Search: Defining problems and requirements and Designing algorithms with branching and iteration (Modules 1–20) 20 words to find · What is a problem a digital system can solve?, User need, Writing a problem statement, Functional requirements 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: Naming conventions and internal documentation and Pseudocode (Modules 48–71) 10 clues · Camel casing, Snake casing, Hungarian notation for variables, Hungarian notation for interface controls 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 structures and Data sources and files (Modules 98–113) 10 clues · Records: fields with different data types, Accessing a record's fields by name and by field index, Choosing a data structure, Plain text (TXT) files: structure 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: Graphical user interfaces and Object-oriented programming (Modules 125–141) 10 clues · GUI Label control, GUI Entry control and .get(), GUI Button control and event handlers, Placing controls with grid() and pack() 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: 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 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: Defining and decomposing problems and Designing and tracing algorithms (Modules 3–47) 10 clues · Interviewing a user, Decomposing a problem into sub-problems, Decomposition diagrams, Non-functional requirements 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: 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
✎
ACARA Digital Technologies Years 7–8 Crossword: Algorithms, Flowcharts and Pseudocode and Tracing and Debugging Algorithms (Modules 420–481) 10 clues · 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
✎
ACARA Digital Technologies Years 7–8 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
✎
ACARA Digital Technologies Years 7–8 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
🔎
ACARA Digital Technologies Years 7–8 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
🔎
ACARA Digital Technologies Years 7–8 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
✎
ACARA Digital Technologies Years 9–10 Crossword: Algorithms with Logical Operators and Testing and Validating Programs (Modules 536–590) 10 clues · Choosing test data for compound conditions, What it means to validate an algorithm or program, Working out the expected output before you run the code, Edge cases with lists and strings and more
🔎
ACARA Digital Technologies Years 9–10 Word Search: Algorithms with Logical Operators and Testing and Validating Programs (Modules 536–622) 20 words to find · Choosing test data for compound conditions, What it means to validate an algorithm or program, Working out the expected output before you run the code, Edge cases with lists and strings and more
✎
QCE Digital Solutions Unit 1 Crossword: Algorithms and Programming Techniques and Programmed Solutions (Modules 158–380) 10 clues · input keyword, if-then-else block, Repeat-Until loop, define: defining a function and more
🔎
QCE Digital Solutions Unit 1 Word Search: User Experiences and Interfaces to Programmed Solutions (Modules 82–380) 20 words to find · Recording pitfalls and useful solutions in an existing interface, Known user, User characteristics, Age appropriateness of information and more
✎
Crossword: Pseudocode and Algorithm Design to Standard Algorithms (Modules 100–314) 10 clues · User and technical documentation, Length check with len(), Format check with string methods, List check with the in operator and more
🔎
Word Search: Pseudocode and Algorithm Design to Network Communications (Modules 100–470) 20 words to find · User and technical documentation, Length check with len(), Format check with string methods, List check with the in operator 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 WA Computer Science ATAR Unit 1 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?