← All Journeys

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

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

Modules (82)

1 From visual blocks to typed JavaScript 2 Running a JavaScript program and viewing the console 3 console.log() 4 Statements and semicolons 5 Comments 6 Sequence: statements run top to bottom 7 Typing code exactly: case, spelling and paired symbols 8 Variables: let, const, var 9 Camel casing 10 Reassigning a let variable 11 const for values that never change 12 Basic Data Types 13 The number data type 14 The boolean data type: true and false 15 typeof Operator 16 Basic Arithmetic 17 More Arithmetic: % and ** 18 Order of operations with brackets 19 Shorthand updates: +=, -= and ++ 20 String Concatenation 21 Template Literals 22 Reading user input with prompt() 23 Type Conversion 24 Visual blocks to JavaScript: say, ask and variables 25 Tracking variable values on paper 26 Comparison Operators 27 Comparison operators: !==, <, >, <= and >= 28 Assignment = versus equality === 29 Boolean Logic 30 Logical operator || 31 Logical operator ! 32 Curly braces and indentation 33 If Statements 34 else Statements 35 else if Statements 36 Compound conditions inside an if 37 Nested if statements 38 else if chain versus separate if statements 39 Visual if and if-else blocks to JavaScript 40 While Loops 41 For Loops 42 Using the loop counter inside a for loop 43 Counting down with a for loop 44 Totals and counters in a loop 45 An if statement inside a loop 46 Infinite loops and updating the loop variable 47 break and continue 48 Repeating until valid input is given 49 Choosing a for loop or a while loop (JavaScript) 50 Nested loops: a loop inside a loop 51 Visual repeat, forever and repeat-until blocks to JavaScript 52 Turning pseudocode or a flowchart into JavaScript 53 Functions – Declaring 54 Calling a function 55 Naming functions with verbs 56 Functions – Parameters 57 Functions with several parameters 58 Functions – Return Values 59 Using a returned value 60 return versus console.log inside a function 61 Functions that return true or false 62 Using if and else inside a function 63 Using a loop inside a function 64 Functions calling other functions 65 Functions – Scope 66 Syntax errors: missing quotes, brackets and braces 67 Reading an error message and its line number 68 ReferenceError: a name that is not defined 69 TypeError: assignment to a constant variable 70 Logic errors: runs but gives the wrong answer 71 Off-by-one errors in loops 72 Debugging with console.log() 73 Tracing a loop by hand 74 Commenting out code to find a bug 75 Testing an algorithm with different starting values 76 Testing a function with expected and actual output 77 Modifying an existing JavaScript program 78 Finding and fixing bugs in a program 79 Random whole numbers with Math.random() and Math.floor() 80 Combining sequence, selection and iteration in one program 81 Writing a program that uses functions and control structures 82 Higher or lower number guessing game

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:

✎
JavaScript Crossword: Getting Started (Modules 1–10) 6 clues · console.log(), Comments, Variables: let, const, var, Basic Data Types and more
✎
JavaScript Crossword: Control Flow and Arrays & Strings (Modules 11–25) 7 clues · Comparison Operators, Boolean Logic, Truthy and Falsy Values, If Statements and more
✎
JavaScript Crossword: Arrays & Strings (Modules 21–30) 8 clues · break and continue, Arrays – Creation and Indexing, for...of Loops, Arrays – Mutating Methods and more
✎
JavaScript Crossword: Objects & Functions (Modules 31–40) 8 clues · String Search Methods, Objects – Creation and Access, Objects – Methods (keys, values, entries), Objects – for...in Loop and more
✎
JavaScript Crossword: Advanced JavaScript (Modules 41–52) 10 clues · Functions – Default Parameters, Arrow Functions, Functions – Scope, Error Handling – try/catch and more
🔎
JavaScript Word Search: Getting Started to Arrays & Strings (Modules 1–29) 20 words to find · console.log(), Comments, Variables: let, const, var, Basic Data Types and more
🔎
JavaScript Word Search: Arrays & Strings to Advanced JavaScript (Modules 21–52) 20 words to find · break and continue, Arrays – Creation and Indexing, for...of Loops, Arrays – Mutating Methods 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 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 5–6 Crossword: Algorithms with Branching and Repetition (Modules 106–119) 10 clues · Spotting a repeating pattern, A loop that never stops, A variable that counts in a loop, Counting only some things with IF inside a loop and more
✎
ACARA Digital Technologies Years 5–6 Crossword: Algorithms with Branching and Repetition (Modules 120–132) 10 clues · Drawing a decision in a flowchart, Drawing a loop in a flowchart, Showing a counter in a flowchart, Following a flowchart to predict the result and more
🔎
ACARA Digital Technologies Years 5–6 Word Search: Algorithms with Branching and Repetition (Modules 106–132) 20 words to find · Spotting a repeating pattern, A loop that never stops, A variable that counts in a loop, Counting only some things with IF inside a loop 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
✎
Crossword: Programming with Control Structures and Functions (JavaScript) (Modules 562–580) 10 clues · Sequence: statements run top to bottom, Typing code exactly: case, spelling and paired symbols, Reassigning a let variable, const for values that never change and more
✎
Crossword: Programming with Control Structures and Functions (JavaScript) (Modules 583–598) 6 clues · Comparison operators: !==, <, >, <= and >=, Assignment = versus equality ===, Logical operator ||, Logical operator ! and more
✎
Crossword: Programming with Control Structures and Functions (JavaScript) (Modules 599–610) 10 clues · Counting down with a for loop, Totals and counters in a loop, An if statement inside a loop, Infinite loops and updating the loop variable and more
✎
Crossword: Programming with Control Structures and Functions (JavaScript) (Modules 611–623) 10 clues · Naming functions with verbs, Functions with several parameters, Using a returned value, return versus console.log inside a function and more
✎
Crossword: Programming with Control Structures and Functions (JavaScript) (Modules 624–634) 10 clues · ReferenceError: a name that is not defined, TypeError: assignment to a constant variable, Logic errors: runs but gives the wrong answer, Off-by-one errors in loops and more
✎
Crossword: Programming with Control Structures and Functions (JavaScript) and Networks and Cyber Threats (Modules 635–666) 10 clues · Random whole numbers with Math.random() and Math.floor(), Combining sequence, selection and iteration in one program, Writing a program that uses functions and control structures, Higher or lower number guessing game 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
🔎
Word Search: Programming with Control Structures and Functions (JavaScript) (Modules 583–613) 21 words to find · Comparison operators: !==, <, >, <= and >=, Assignment = versus equality ===, Logical operator ||, Logical operator ! and more
🔎
Word Search: Programming with Control Structures and Functions (JavaScript) (Modules 611–634) 20 words to find · Naming functions with verbs, Functions with several parameters, Using a returned value, return versus console.log inside a function and more
🔎
Word Search: Programming with Control Structures and Functions (JavaScript) and Networks and Cyber Threats (Modules 635–695) 21 words to find · Random whole numbers with Math.random() and Math.floor(), Combining sequence, selection and iteration in one program, Writing a program that uses functions and control structures, Higher or lower number guessing game 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?