ACARA Digital Technologies Years 7–8

These are free worksheets for Years 7–8 of the Australian Curriculum: Digital Technologies (version 9.0): hardware and performance, wired and wireless networks, representing text, images, sound and numbers in binary, acquiring, analysing and querying data, designing, tracing and debugging algorithms, programming in Python or JavaScript, cyber threats, and digital footprints.

This page lists the 250 modules written for Years 7–8, one section per content description: clock speed, cores, RAM, VRAM and spec tables; Ethernet, fibre, Wi-Fi, latency and TCP/IP; counting in binary, ASCII, RGB and sound sampling; surveys, micro:bit data logging and cleaning data; COUNTA, ROUND, filters, percentages and trends; records, database objects and SQL queries; nested loops and decisions in pseudocode and flowcharts, trace tables and logic errors; moving from Scratch blocks to typed Python, and variables, selection, loops and functions in JavaScript; phishing, password managers, MFA and Caesar ciphers; and collecting and keeping only the data a system needs, and de-identifying data. Each module includes real practice questions and a full answer key.

Each content description has its own journey below — with separate Python and JavaScript programming journeys — and most are also split into smaller journeys. They reuse Cloodit's IGCSE, other Years 5–10, Python, JavaScript and VCE modules where the topic is the same, so each journey is a complete course. Teachers can assign one content description at a time, with progress tracking, class sprints and badges.

Add this whole curriculum to your class, or just the modules your unit needs — Cloodit tracks who's stuck automatically.

Hardware and Performance — AC9TDI8K01 (10 modules)

13
Clock speed or more cores: which helps which task Higher clock speed (GHz) speeds up one task at a time; more cores help when many tasks, or a task split into parts, run together. Quad-core is not always 4x faster.
18
How much RAM different tasks need How much memory a task needs. More programs and bigger files open at once need more GB. 8 GB suits web and documents; 16 GB or more suits editing and gaming. Browser tabs add up.
24
Choosing storage type and size together Choosing storage by balancing speed (fast SSD or cheap HDD) and size (GB or TB) against the files you keep and your budget. Video projects need lots of space.
27
Video memory (VRAM) Video RAM: fast memory on a graphics card that holds the images and textures the GPU is working on. It is measured in GB. More VRAM helps with detailed games and big video files.
28
Frame rate and screen resolution Frames per second: how many pictures the GPU shows each second. 60 fps looks smoother than 30. Higher resolution like 4K means more pixels per frame, so the GPU works harder.
31
Comparing two devices in a spec table A table with one row per spec for two devices. Mark the better device in each row that matters to the task, ignore the rest, and spot each device's weakest part.
32
Benchmarks and up-to-date reviews A standard test that gives a score so you can compare real performance of parts like a CPU or GPU. Hardware changes yearly, so check current, trusted reviews, not just spec numbers.
37
Battery life and portability in a device Faster hardware uses more power and adds heat and weight, so a laptop or phone gives up battery life and portability to gain speed.
38
Choosing which component to upgrade Find the slowest part for your task, then upgrade just that part: SSD for slow start-up, RAM for many programs, GPU for low frame rate. If everything is old, replace the device.
40
Writing a hardware recommendation for a user A written pick of a device for a named user and workload. It lists key specs with numbers and gives a reason using the word 'because'.

Just this content description: the Hardware and Performance journey · Add AC9TDI8K01 to a class →

Wired and Wireless Networks — AC9TDI8K02 (17 modules)

54
Ethernet cable A cable with an RJ45 plug that carries data as electrical signals along twisted pairs of copper wire between a device and a switch or router.
55
Fibre optic cable A cable that carries data as pulses of light along thin glass or plastic strands, giving very fast transfer over long distances with no electrical interference.
56
Signal weakening over distance in cables The weakening of a signal as it travels along a cable. Copper cables have a length limit because of it, while fibre can go much further. Repeaters boost the signal.
58
Wi-Fi A wireless network technology that uses radio waves to connect devices to a router or access point, usually by joining a network name and password on the 2.4 GHz or 5 GHz band.
59
Mobile (cellular) networks A network that sends data by radio between a device and a nearby phone tower (cell), so it works over wide areas without Wi-Fi.
62
Latency The delay between sending data and it arriving, measured in milliseconds (ms). It is not the same as bandwidth, which is how much data can be sent at once. Low latency feels fast.
64
Wired vs wireless: speed Wired connections are usually faster and steadier than wireless, because the signal travels in its own cable and is not shared through the air.
65
Wired vs wireless: reliability How steadily a connection stays working. Wired is usually more reliable as interference affects it less, while wireless signals can drop out.
66
Wired vs wireless: security Wired data stays in the cable, but wireless signals travel through the air where anyone in range can try to pick them up, so they need a password and encryption.
68
Wired vs wireless: cost and installation Wired networks need cables, ports and installation work, while wireless needs less cabling but may need more access points to cover a large area.
69
Wired vs wireless: mobility and convenience Wireless devices like phones and tablets can move around and join a network easily, while wired devices like desktop computers are tied to a fixed cable connection point.
71
Choosing a network type for a scenario Name the needs (speed, reliability, security, cost, mobility), match them to wired, wireless or mobile, then justify the choice using the word because.
75
TCP/IP: the internet's core protocols The pair of protocols the internet runs on. IP addresses and routes packets. TCP splits data into packets, puts them back in order and checks they all arrived.
90
Redundant routes keep a network working A spare path between devices. If one link or router fails, packets are sent another way so data keeps flowing. It costs more because extra cables and routers are needed.
94
What data integrity means in transmission Data has integrity when it arrives complete (nothing missing or extra) and correct (nothing changed) compared with what was sent.
101
Spotting a missing packet from the packet numbers A gap in the packet numbers received, like 1, 2, 4, 5, shows a packet is missing. The receiver knows the message is incomplete and can ask for a resend.
117
Explaining how data arrives intact across a network Data is split into numbered packets, sent over wired or wireless links, checked for errors, resent if needed, then reassembled in order so it arrives complete and correct.

Just this content description: the Wired and Wireless Networks journey · Add AC9TDI8K02 to a class →

Representing Text, Images and Sound — AC9TDI8K03, AC9TDI8K04 (26 modules)

121
Why digital hardware has two states A tiny electronic switch that is either off (0) or on (1), so it holds exactly one bit. Digital hardware joins millions of them to work with data.
123
Counting in binary from 0 to 7 (Representing Text, Images and Sound) Counting in binary uses only 0 and 1, so after 1 the next number needs a new column: 1 + 1 = 10. Three bits count from 000 (0) up to 111 (7).
124
Counting in binary from 8 to 15 (Representing Text, Images and Sound) Four bits count from 0 to 15. After 0111 (7) the fourth bit turns on, so 8 is 1000. Each column flips half as often as the column to its right, and the rightmost column flips every number.
128
Converting numbers from 0 to 127 using seven place values The seven binary place values. Put a 1 under each value you need and a 0 under the rest to write any whole number from 0 to 127. Check by adding them back up. 1111111 = 127.
129
Padding binary with leading zeros Extra 0s added at the left of a binary number to fill a fixed number of bits. They do not change its value: 101 and 00000101 both mean 5.
134
ASCII codes for digits, spaces and punctuation The text character '5' has ASCII code 53, not 5. Digits '0' to '9' are codes 48 to 57 and a space is 32, so a typed number is stored as text.
135
Converting a word to ASCII decimal codes Look up each character in the ASCII table and write its decimal number in order. Capitals and lowercase differ, so Hi is 72 105 (H is 72, i is 105).
138
Decoding ASCII binary back into text To decode ASCII binary, split the bits into groups of 8 (bytes), convert each byte to a decimal code, then look up that code in the ASCII table to find the letter.
148
Raster (bitmap) images A picture made of a grid of tiny pixels, each storing its colour as numbers. Also called a bitmap. Photos are raster images and look blocky (pixelated) when zoomed in.
149
The RGB colour model A colour model where any screen colour is made by mixing red, green and blue light, written as three numbers (R, G, B). Each pixel on a screen uses its own three numbers.
150
RGB values from 0 to 255 Each RGB number runs from 0 (none of that colour) to 255 (full strength). It fits in one byte, which holds 256 values.
151
Reading RGB values for common colours Pure red: red at full 255, green and blue at 0. Green is (0, 255, 0), blue is (0, 0, 255), and mixing red and green light makes yellow (255, 255, 0).
152
Black, white and greys in RGB Black is (0, 0, 0), white is (255, 255, 255). Any grey has equal red, green and blue values, like (128, 128, 128). Smaller equal numbers are darker; unequal numbers give a tint.
153
Inspecting a pixel's RGB numbers A tool that picks one pixel in an image and shows the red, green and blue numbers (0 to 255) stored for it, such as rgb(255, 0, 0) for pure red.
156
24-bit colour: three bytes per pixel Each pixel uses 8 bits for red, 8 for green and 8 for blue. That is 3 bytes (24 bits) per pixel, giving 256 x 256 x 256 = about 16.7 million possible colours.
157
Writing an RGB colour in binary The RGB colour (255, 128, 0) written in binary. Each number becomes its own 8-bit byte for red, green and blue, and the three bytes are joined together to make one pixel.
161
Vector images An image stored as shapes and paths (lines, curves) described by numbers and drawn when shown, not as a grid of pixels. It can scale up without pixelation. SVG is a common format.
162
Comparing raster and vector images Raster images store a colour number for every pixel and blur when enlarged; vector images store shape instructions and stay sharp at any size.
164
Reading a sound waveform A graph of a sound. Time runs left to right and volume goes up and down. Louder sounds make taller waves and silence is a flat line.
166
A sample is one volume measurement One measurement of a sound wave's volume at a single moment in time, stored as one whole number. Many samples taken at equal time steps are dots on the waveform.
167
A sound as a sequence of numbers An ordered list of whole numbers, each measuring a sound's volume at a regular time. Plot them in order and join the dots to redraw an approximation of the wave.
171
Number of volume levels from sample resolution A sample resolution of n bits gives 2^n volume levels, so each extra bit doubles the levels. 8 bits give 256 levels and 16 bits give 65,536. Fewer levels means more rounding.
172
Bit rate of digital audio The number of bits used to store each second of sound: sample rate x sample resolution. A higher bit rate means better accuracy but more storage per second.
173
Zooming in to see samples in an audio editor Zooming far into a waveform in an audio editor like Audacity shows each sample as a dot. A higher project rate gives more dots every second, so the wave is drawn more smoothly.
175
Text, images and sound all become integers, then binary Encoding turns text, images and sound into whole numbers (character codes, RGB pixel values, sound samples), then stores each number as binary 0s and 1s.
176
Explaining data representation to a peer Name the data type, say which numbers represent it, then show how they become binary. Give a short example for each, e.g. A is 65 because of ASCII, and 65 is 01000001.

Just this content description: the Representing Text, Images and Sound journey · Add AC9TDI8K03, AC9TDI8K04 to a class →

Binary Number Representation — AC9TDI8K04 (19 modules)

177
The two-state (on/off) system A system with only two possible conditions, like a light switch being off or on. We write the two states as 0 and 1, which is the idea behind binary.
181
Decimal (base-10) and binary (base-2) Decimal is base-10 and uses ten digits, 0 to 9. Binary is base-2 and uses only 0 and 1. People use decimal every day, but computers use binary.
183
Counting in binary from 0 to 7 (Binary Number Representation) Binary counting: when a column is 1 and must go up, it resets to 0 and the next column on the left becomes 1, like carrying from 9 to 10 in decimal.
184
Counting in binary from 8 to 15 (Binary Number Representation) Binary for 8 to 15. Counting past 7 needs a fourth bit, so 8 is 1000 and the numbers keep a leading 1 up to 1111, which is 15, the largest 4-bit number.
186
The largest number n bits can hold The biggest whole number n bits can hold. Counting starts at 0, so n bits give 2^n values and the largest is one less. Example: 4 bits hold 0 to 15 and 8 bits hold 0 to 255.
187
Working out how many bits a number needs Find the smallest number of bits n whose largest value, 2^n - 1, is at least your number. Example: 20 is too big for 4 bits (max 15), so it needs 5 bits (max 31).
188
Powers of 2 as binary place values Binary place values: 1, 2, 4, 8, 16, 32, 64, 128 and so on. Each place is double the one before it, which is why binary is called base 2.
189
Most and least significant bit The leftmost bit of a binary number. It has the biggest place value, so it changes the number the most. The rightmost bit is the least significant bit.
190
Reading 101 in binary: digits, not a hundred and one A small 2 after a number shows it is binary (base 2). Say it digit by digit: one zero one. It means five in decimal, not one hundred and one.
193
Converting numbers 0 to 31 with five bits The five binary place values. Use a 1 to count a place value and a 0 to skip it. Together they make any whole number from 0 to 31 as five bits, so 31 is 11111.
195
Leading zeros and fixed-width binary 00000101 is the binary number 101 padded with leading zeros to fill 8 bits. Zeros added on the left do not change the value, so it is still 5.
197
Converting decimal to binary by repeated division by 2 Divide a number by 2 again and again until the quotient is 0, noting each remainder. Read the remainders from last to first to get the binary number. Example: 13 is 1101.
198
Checking a conversion by converting back Check a decimal to binary answer by reading the binary back into decimal, adding the place values, and comparing with the starting number. If they match, it is right.
199
Common mistakes when converting between decimal and binary A slip such as reversing place values, dropping a zero, reading remainders top to bottom or using a 2. Binary only uses 0 and 1, and remainders are read bottom to top.
200
The DEC2BIN spreadsheet function A spreadsheet function that converts a decimal whole number into binary text. =DEC2BIN(13) gives 1101. Add places to pad with zeros, e.g. =DEC2BIN(5,8) gives 00000101.
201
The BIN2DEC spreadsheet function BIN2DEC changes a binary number into its decimal value. =BIN2DEC(1101) gives 13. Use it to check a hand conversion.
203
Why computers do not use ten states Two states (on or off) are easy to tell apart even when signals are weak or noisy. Ten voltage levels would be easy to confuse, so binary makes errors less likely.
204
How storage keeps bits Storage keeps each bit as one of two physical conditions, such as charged or not charged, magnetised one way or the other, or a pit or a flat area. One condition is 0 and the other is 1.
206
Explaining why digital technology uses binary A clear explanation says digital hardware has two states (on and off), so it stores numbers as 0s and 1s, and it gives the reason using the word because.

Just this content description: the Binary Number Representation journey · Add AC9TDI8K04 to a class →

Acquiring and Storing Data — AC9TDI8P01, AC9TDI8P14 (14 modules)

215
Closed and open survey questions A closed question gives fixed choices to pick from, like multiple choice or a rating scale. An open question lets people write their own answer, so it is harder to count.
216
Choosing who to survey: sample and sample size The group of people you actually ask in a survey. A bigger, fairer sample gives more trustworthy data than asking only a few friends.
219
Entering survey responses consistently Typing each survey answer in its own cell, one row per person, using the same spelling and format every time (Yes, not yes or Y), and leaving the cell blank if there is no answer.
227
Reading the micro:bit temperature with input.temperature() A micro:bit block that returns the temperature reading in degrees Celsius as a number. You can show it with basic.showNumber() or store it in a variable.
228
Recording readings with datalogger.log() Saves one row of named sensor readings, with a timestamp, in the micro:bit data log. Each call adds a new row, so use it in a loop to record readings over time.
229
Copying a micro:bit data log into a spreadsheet The file on the MICROBIT USB drive that opens the data log. Use its Download CSV button, then open the CSV in a spreadsheet and check the column headings.
230
Faulty sensor readings and outliers A reading far from the rest or impossible, like -999. It may mean the sensor is faulty or in the wrong place, so check it before you use it.
236
Generating sample test data A tool that makes random sample data, with fields and rows you choose, to practise with when real data is not available. You can export it to a spreadsheet. It is test data, not real data.
261
Keeping an untouched copy of the raw data An untouched copy of the original data, made by duplicating the worksheet or using Save As before cleaning, so you clean only the copy and never lose the original.
264
Flagging duplicates with a COUNTIF formula Gives TRUE when the value in A2 appears more than once in column A. Put it in a helper column to flag duplicate rows, then filter for TRUE.
267
Flagging out-of-range values with IF and OR Shows Check if B2 is below 0 or above 100, otherwise OK. OR needs just one true test, so it catches both ends. AND would never work because no value is both below 0 and above 100.
272
Fixing spelling variations with Find and Replace A spreadsheet tool (Ctrl+H) that finds every cell with one spelling and changes them all to the correct spelling in one step, like turning Sydeny into Sydney.
278
Counting data problems with a quality summary A quality summary counts problems with formulas like this one. It counts cells flagged Check. COUNTBLANK counts empty cells. Each problem count should reach 0 after cleaning.
279
Keeping a cleaning log A record of each data problem found, the fix applied and how many rows were affected, so every change, including deleted rows, can be explained and checked.

Just this content description: the Acquiring and Storing Data journey · Add AC9TDI8P01, AC9TDI8P14 to a class →

Analysing and Visualising Data — AC9TDI8P01, AC9TDI8P02 (16 modules)

280
Asking a question the data can answer A clear question that can be answered with numbers you can collect or already have, such as how many, how much or what changed over time.
293
The COUNTA function COUNTA counts every cell in a range that is not empty, including text. Use it to count survey responses. COUNT only counts numbers.
296
Choosing SUM, COUNT, AVERAGE, MIN or MAX for a question Match the key words in a question to a function: total is SUM, how many is COUNT, typical is AVERAGE, lowest is MIN, highest is MAX.
300
The ROUND function Rounds a number to a set number of decimal places. Use 1 for one decimal place or 0 for a whole number, e.g. =ROUND(AVERAGE(B2:B9),1). It changes the value itself, not just how it looks.
302
Checking a result with the status bar summary The bar at the bottom of a spreadsheet. Select a range of number cells to see their sum, average and count, then compare with your formula. Right-click it to choose what shows.
305
Number filters: greater than and between A filter that keeps only the rows where a number meets a condition, such as greater than a value or between two values. The other rows are hidden, not deleted.
306
Using sort and filter together to find top and bottom values First filter the table to keep only one group, then sort a number column from largest to smallest. The top row is the highest value and the bottom row is the lowest in that group.
309
Calculating a percentage of a total Divides a part (B2) by the total ($B$10, locked with $) to find its share. Format the cell with the Percent style button to show it as a %. All the shares add up to 100%.
310
Calculating percentage change Percentage change: (new - old) / old, formatted as a percentage. A positive result is a rise, a negative result is a fall. Use it for year-on-year growth.
314
Deciding what to do with an outlier Check if an outlier is a typing error or a real extreme value. Fix errors, keep real values, and compare results with and without it. Never delete data just to fit your story.
315
Smoothing a trend with a moving average A moving average. It averages the latest 3 values. Copy it down and the range slides by one row each time, smoothing the ups and downs to show the trend.
321
Changing a chart's type A chart option (right-click the chart) that switches it to another type, like column to line, using the same data so you do not have to enter it again.
322
Adding a chart title and axis titles with Chart Elements The button beside a chart that adds or edits its title, axis titles (with units), legend and data labels, so anyone reading the chart knows what it shows.
324
Adding a second data series to compare groups Adds a second set of values to a chart so two groups can be compared on the same axes, with a legend to tell them apart.
331
Describing a trend in a sentence with evidence A trend statement says what changed, which way it went and the numbers that show it, plus a limit or reason such as 'because' or 'might'.
332
Investigating a dataset from question to conclusion The order of a data investigation: ask a question, prepare the data, use formulas and sort or filter, chart it, then conclude, predict and report limits.

Just this content description: the Analysing and Visualising Data journey · Add AC9TDI8P01, AC9TDI8P02 to a class →

Structured Data and Queries — AC9TDI8P03 (11 modules)

334
Attributes of an object One fact that describes an object, such as a pet's name, colour or age. Each attribute holds a single piece of information.
335
Attributes of an event The facts that describe an event: what happened, the date, the time, the place and who took part, like a race at a sports carnival or a bus trip.
338
Modelling an object as a record One row in a table that stores one object. Each attribute of the object becomes a field, so one pet's Name, Species and Age fill one record, and every record uses the same fields.
339
Modelling an event as a record One occurrence of an event stored as a single row, where each attribute of the event, such as Date, Winner or Time, becomes a field.
340
Why use a database instead of a spreadsheet A database gives every record the same fields and data types and lets you query large amounts of data; a spreadsheet is a flexible grid.
341
Database objects: table, query, form and report The four database objects: a table stores records, a query finds records, a form enters records and a report presents them.
356
What SQL is Structured Query Language: the standard language for asking a database for data, and for adding, changing or deleting it. Each statement ends with a semicolon.
360
Running an SQL query in a database tool Type an SQL statement in the tool's query window, run it, then read the results table. If an error shows, read the message and fix the statement.
365
SQL LIKE with the % wildcard LIKE in a WHERE clause matches part of a text value. The % wildcard stands for any characters, so '%at%' finds text containing at, 'S%' starts with S and '%s' ends with s.
368
How a field's data type changes sorting In a text field, '10' sorts before '9' because text sorts letter by letter. Number and date fields sort by true value, so 9 comes before 10 and dates follow time order.
371
Describing what a query does in plain English Read a query one clause at a time: SELECT names which fields are shown, WHERE picks which records, and ORDER BY sets the order the results appear in.

Just this content description: the Structured Data and Queries journey · Add AC9TDI8P03 to a class →

Algorithms, Flowcharts and Pseudocode — AC9TDI8P05, AC9TDI8P06 (8 modules)

397
A loop inside a loop A REPEAT placed inside another REPEAT. The inner loop runs all its repeats again for every repeat of the outer loop, so an outer 3 and an inner 4 gives 12 inner passes.
400
Pseudocode layout: capital keywords and indentation Write keywords like IF, THEN, ELSE and REPEAT in capitals, one step per line, and indent the steps inside each structure so ELSE lines up with its IF.
401
Closing nested structures in the right order Each IF and each REPEAT needs its own end line. Close the innermost block first, so END IF comes before END REPEAT when an IF is inside a loop. A missing end line is an error.
406
Drawing a decision inside a loop in a flowchart A decision diamond on the loop path is asked on every pass. Its Yes and No paths both rejoin before the arrow returns to the loop test.
407
Drawing a loop inside a decision in a flowchart A loop drawn on the Yes arrow of a decision diamond. It only runs if Yes is taken. The No path skips it. When the loop ends, its exit arrow rejoins the main flow.
410
Drawing a flowchart in draw.io A free online editor where you drag standard flowchart shapes onto the page, type text inside them and join them with connector arrows.
411
Writing a flowchart as text in Mermaid Starts a Mermaid script that draws a flowchart top-down. Shapes are an id plus text, like A[Step] or B{Question?}, joined by --> arrows.
420
Tracing a decision inside a loop with a trace table A table with one row per loop repeat. Record the IF condition result, change only the variables the branch updates, copy the rest down, and note any output.

Just this content description: the Algorithms, Flowcharts and Pseudocode journey · Add AC9TDI8P05, AC9TDI8P06 to a class →

Tracing and Debugging Algorithms — AC9TDI8P06 (10 modules)

437
Adding a condition column to a trace table A trace table column headed by a condition, such as age >= 13, that records TRUE or FALSE on each row so you can see which path the algorithm took and why.
448
Tracing a decision inside a loop Trace an IF inside a loop with one row for each pass, showing the condition result (true or false) and any variables that change. The final row gives the output.
460
Completing a flowchart prediction table A table listing each flowchart shape you visit in order, the Yes or No answer at each diamond, the variable values after each step, and any output.
461
Tracing a flowchart whose arrow loops back through a decision An arrow that returns to a decision diamond. Each time you follow it, add a new row to the trace table so every pass of the loop is recorded, until you take the exit arrow.
468
Logic error versus syntax error A mistake in an algorithm's steps. It still runs to the end with no warning, but gives the wrong output. Only tracing or testing shows it, unlike a syntax error that breaks the writing rules.
475
Error: loop repeats one time too many or too few A bug where a repeat count or stop test is wrong by one, such as count > 5 instead of count = 5, so the loop body runs one time too many or one time too few.
476
Error: Yes and No branches swapped The THEN and ELSE paths are the wrong way round, so the algorithm gives the opposite result for every input. Fix it by swapping the two paths or by flipping the condition.
477
Error: a step placed inside or outside the loop A bug where a step sits in the wrong place around a loop. A SHOW inside repeats every pass, and an update outside runs only once. Indentation shows which steps are inside the loop.
481
Re-tracing a corrected algorithm After a fix, trace the algorithm again with the same failing input, then other inputs, to check the output now matches what was expected.
482
Writing a bug report from a trace A short note giving the input used, the expected and actual output, the trace row where it goes wrong, the cause and the correction. Use 'because' to explain the cause to a classmate.

Just this content description: the Tracing and Debugging Algorithms journey · Add AC9TDI8P06 to a class →

Programming with Control Structures and Functions (Python) — AC9TDI8P05, AC9TDI8P06, AC9TDI8P09 (16 modules)

484
Scratch scripts and typed Python side by side One typed line of Python matches one Scratch block. A stack of blocks becomes lines of code that run in order from the top, so spelling and punctuation must be exact.
486
Scratch say block as print() Python version of the Scratch say block. It shows the text inside the quotes on screen, so say Hello! becomes print("Hello!"). Python has no direct match for say for 2 seconds.
492
Scratch variable blocks as Python assignment Python for the Scratch block 'change score by 1'. Python works out the right side first, then stores the answer back in score. Use score = 0 to set it.
497
Scratch ask and answer as input() Like Scratch ask and wait: input() shows the prompt, waits for a reply, and the answer is stored in a variable (name), just like the answer reporter.
504
NameError: using a name Python does not know An error Python raises when code uses a variable or function name it does not know, often from a typo, wrong capitals, missing quotes or using a name before it is assigned.
510
Scratch if and if-else blocks as Python if/else Python's version of Scratch's if block: the hexagon condition becomes a comparison like ==, then a colon, and the blocks inside become indented lines. Add else: for the else part.
513
IndentationError and missing colons Python errors when a block's lines are not indented consistently, or when the if, for, while or def line that opens the block is missing its colon.
516
Scratch repeat block as a for loop Python's version of the Scratch repeat 10 block. The lines indented under it run 10 times, and i counts from 0 to 9.
519
Scratch forever and repeat until blocks as while loops The Python version of the Scratch forever block. It repeats its indented code nonstop until break. Scratch repeat until x becomes while not x:
522
Choosing a for loop or a while loop (Python) Use for when you know how many times to repeat, like 10 times. Use while when repeating depends on a condition that can change, like until the user types quit.
525
Infinite loops and how to stop them A while loop whose condition never becomes False, often because the loop variable is never updated. Stop it with the Stop button, or fix it by changing the variable inside the loop.
526
Scratch My Blocks as Python functions Makes a Python function, like defining a Scratch My Block once. Run it any time by calling its name, e.g. greet(). Inputs become parameters, so you reuse the code instead of copying blocks.
530
print() inside a function versus return Hands a value back to the caller so it can be stored in a variable or used in a calculation. print() inside a function only shows the value on screen, and the function then gives back None.
532
A function that returns True or False inside an if Calls a function that returns True or False right inside an if condition. The indented code runs only when the function returns True, so no extra variable is needed.
555
Number guessing game with a loop, decisions and a counter The loop at the heart of a guessing game. It keeps asking until the guess matches the random secret number. If/elif/else gives hints and a counter adds 1 each turn.
556
Quiz program using a function, a loop and a score Calls a function that returns True for a right answer, then adds 1 to score when it does. Put this in a loop to ask every question and total the quiz score.

Just this content description: the Programming with Control Structures and Functions (Python) journey · Add AC9TDI8P05, AC9TDI8P06, AC9TDI8P09 to a class →

Programming with Control Structures and Functions (JavaScript) — AC9TDI8P05, AC9TDI8P06, AC9TDI8P09 (57 modules)

557
From visual blocks to typed JavaScript A text-based language where each block you snapped together becomes one line of code that you type exactly, and the computer follows it literally.
558
Running a JavaScript program and viewing the console The panel beside the editor where your program's output appears after you press Run. Each console.log shows in order, and you run the program again after every change.
560
Statements and semicolons A statement is one instruction in JavaScript, usually written on its own line and ended with a semicolon (;). This line is one statement.
562
Sequence: statements run top to bottom Statements run one after another from top to bottom, so changing the order of lines can change the result. A variable must be set before it is used.
563
Typing code exactly: case, spelling and paired symbols JavaScript is case-sensitive, so console.log must be typed exactly. Every opening quote, bracket or brace needs a matching closing one, like the quotes and ( ) here.
566
Reassigning a let variable Reassigns an existing let variable. The right side is worked out first using the old value, then the new value replaces it. Don't write let again.
567
const for values that never change Declares a variable whose value is set once and cannot be reassigned. Use it for fixed values like a maximum score. Changing it later causes a TypeError.
569
The number data type A value written without quotes, whole (7), decimal (3.5) or negative (-2), that you can calculate with. 5 is a number but '5' in quotes is a string, which is text.
570
The boolean data type: true and false A data type with only two values, true or false, written in lowercase with no quotes. Comparisons like 5 > 3 give a boolean, and true is not the same as the string "true".
574
Order of operations with brackets Brackets run first, so a + b is added before dividing by 2. Then * and /, then + and -. Operators on the same level go left to right. Without brackets, only b is divided by 2.
575
Shorthand updates: +=, -= and ++ A shorthand update. Operators like +=, -=, ++ and -- change a variable using its own value, so total += price means total = total + price. count++ adds 1 and count-- takes away 1.
578
Reading user input with prompt() Shows a message box, waits for the user to type, then returns what they typed as a string. Store it in a variable. Cancel returns null.
580
Visual blocks to JavaScript: say, ask and variables Blocks have typed JavaScript equivalents: a say block becomes console.log, an ask block becomes prompt, and a set variable block becomes let (or an assignment with =).
583
Comparison operators: !==, <, >, <= and >= Comparison operators: !== checks two values are not equal, while <, >, <= and >= compare size. Each gives true or false. 50 >= 50 is true, but 50 > 50 is false.
584
Assignment = versus equality === A single = stores a value in a variable (x becomes 5). Triple === compares two values and gives true or false (x is equal to 5). Writing if (x = 5) is a bug.
586
Logical operator || Logical OR joins two conditions. It is true when at least one is true, and false only when both are false. Example: day === 'Sat' OR day === 'Sun' is true on a weekend.
587
Logical operator ! The not operator. It reverses a boolean: !true is false and !false is true. Put it before a value or bracket, like !(score >= 50). Read it as 'not'.
588
Curly braces and indentation Curly braces group the statements that belong to an if, loop or function. The code inside the braces is indented so you can see which block it belongs to.
592
Compound conditions inside an if A compound condition joins several tests in one if using && (and), the or operator and ! (not). Brackets set the order. Use it for range checks, like age between 10 and 15.
593
Nested if statements A nested if is an if inside another if's braces. The inner if is only checked when the outer condition is true. Each if has its own braces and the inner one is indented again.
594
else if chain versus separate if statements In an else if chain, only the first true branch runs and the rest are skipped. Separate if statements are each checked, so more than one can run.
595
Visual if and if-else blocks to JavaScript A visual if-else block becomes if/else code. The hexagon condition goes in brackets as a comparison, and the steps from each part of the block go inside curly braces.
598
Using the loop counter inside a for loop Inside a for loop, the counter i changes on every repeat, so using it in the loop body gives a different value each time, like 1, 2, 3. It only exists inside the loop.
599
Counting down with a for loop A for loop that counts down: start i high, keep going while i >= 1, and subtract 1 each time with i--. Use i -= 2 to count down in steps of 2.
600
Totals and counters in a loop Adds each value to a running total inside a loop. Start with let total = 0 before the loop, and use count++ to count how many times something happens. Print the results after the loop.
601
An if statement inside a loop An if inside a loop body is checked again on every repeat, so each pass can take a different branch, such as counting only the matches.
602
Infinite loops and updating the loop variable A loop runs forever if nothing in its body changes the variable its condition tests. Updating count each time lets the condition become false so the loop stops.
604
Repeating until valid input is given A loop that re-asks with prompt() while the answer fails the check, showing an error message each time, so bad input never continues. Here it repeats while num is outside 1 to 10.
605
Choosing a for loop or a while loop (JavaScript) Use for when you know how many times to repeat, like 1 to 10. Use while when repeating depends on a condition, like asking until the answer is correct.
606
Nested loops: a loop inside a loop A loop inside another loop. The inner loop runs all its repeats for every single repeat of the outer loop, so an outer 3 and inner 4 gives 12 passes.
607
Visual repeat, forever and repeat-until blocks to JavaScript Typed form of a repeat until score = 5 block: keep looping while the opposite is true. A repeat 10 block becomes a for loop, and forever becomes while (true).
608
Turning pseudocode or a flowchart into JavaScript Translates the pseudocode step SET score TO 0. Each step of pseudocode or a flowchart becomes one JavaScript statement: ask is prompt, a decision diamond is if, a loop arrow is while.
610
Calling a function Calling a function: write its name followed by brackets, like sayHello(), to run its code. You can call it as many times as you like. Without the brackets, it does not run.
611
Naming functions with verbs A function name is a camelCase verb phrase that says what the function does, like calculateTotal or printMenu. Start with a verb, make it meaningful and use no spaces.
613
Functions with several parameters Separate several parameters with commas. A call like add(2, 3) must give one argument for each, in the same order. A missing argument becomes undefined.
615
Using a returned value A function call is replaced by the value it returns, so you can store it in a variable, print it or use it in a calculation like square(2) + square(3).
616
return versus console.log inside a function Hands a value back to the code that called the function so it can be stored or used. console.log only shows a value in the console, so a function that only logs gives back undefined.
617
Functions that return true or false Uses a function that returns true or false directly as the if condition, so the code inside runs only when the call isAdult(age) gives back true.
618
Using if and else inside a function A function can use if and else to make a decision, then return a different value from each branch. A default return at the end covers every other case.
619
Using a loop inside a function A function that loops up to its parameter n, adds each number to a total declared inside it, then returns that total after the loop ends so the caller gets the finished answer.
620
Functions calling other functions A small function that does one job and is called from inside another function, so a big task is built from small, reusable parts.
622
Syntax errors: missing quotes, brackets and braces An error shown when code breaks JavaScript's rules, like a missing quote, bracket or brace. JavaScript can't read the code, so the program won't run until you fix it.
623
Reading an error message and its line number Part of an error message: the file and line number where JavaScript noticed the error. Check that line first, but the real mistake may be a line earlier.
624
ReferenceError: a name that is not defined An error shown when code uses a variable or function name that has not been declared, often from a typo, wrong capital letter, wrong scope or using it before declaring it.
625
TypeError: assignment to a constant variable The error JavaScript shows when code tries to give a new value to a const variable. Fix it by declaring the variable with let if its value needs to change.
626
Logic errors: runs but gives the wrong answer A mistake that lets the program run with no error message but gives a wrong result, such as using > instead of >=, the wrong operator, or steps in the wrong order.
627
Off-by-one errors in loops A loop bug where it runs one pass too many or too few, caused by a wrong start value or mixing up < and <=. For example, i starting at 0 with i <= 5 runs 6 times, not 5.
628
Debugging with console.log() Prints a labelled variable value while the program runs, so you can spot the line where the value first goes wrong. Remove these debug lines once the bug is fixed.
629
Tracing a loop by hand A table with one row per loop repeat, showing the counter, other variables and any output, filled in by hand until the condition is false.
630
Commenting out code to find a bug Putting // in front of a line makes JavaScript skip it, so you can switch code off to find a bug. Remove the // to switch it back on.
632
Testing a function with expected and actual output Test a function by calling it with chosen inputs, logging the actual result next to the expected value, then recording pass or fail. Retest after any fix.
633
Modifying an existing JavaScript program Read the code and predict what it does, change one small part (a value, condition or message), run it, then compare the result with your prediction.
634
Finding and fixing bugs in a program Finding and fixing bugs: run the program, read the error or compare wrong output with what you expected, find the faulty line, fix one thing, then rerun to retest.
635
Random whole numbers with Math.random() and Math.floor() Gives a random whole number from 0 up to n - 1. Math.random() gives a decimal from 0 up to 1, times n stretches it, and Math.floor rounds down. Add 1 to start at 1.
636
Combining sequence, selection and iteration in one program A complete program sets up variables first, repeats with a loop, uses an if inside the loop to make decisions, then prints the result after the loop ends.
637
Writing a program that uses functions and control structures Build a program from small functions that take parameters and return values, then call them from a short main section. Add a comment above each function and test each one separately.
638
Higher or lower number guessing game The heart of a guessing game: keep asking for guesses until the guess equals the random secret number, using if/else if for too high or too low and a counter for the number of guesses.

Just this content description: the Programming with Control Structures and Functions (JavaScript) journey · Add AC9TDI8P05, AC9TDI8P06, AC9TDI8P09 to a class →

Networks and Cyber Threats — AC9TDI8P13 (24 modules)

641
What cyber security is The protection of digital systems, accounts and data from attack, damage and unauthorised access, such as keeping accounts, files and devices safe.
642
Why attackers target accounts and data The reason an attacker targets accounts and data: they can be used or sold for money, identity theft or disruption, such as stealing cash, taking over social accounts or selling data.
653
Spear phishing A phishing message aimed at one person or group that uses details like your name or school, or pretends to be a friend or teacher, to look more believable than mass phishing.
662
Reporting and deleting a phishing message For a suspected phishing message, do not click or reply. Report it to a trusted adult or the school, then delete it. If you clicked, change your password and tell an adult.
664
Passphrase A long password made of several unrelated words, like three or four random words. It is easy to remember but hard to guess. Add a number or symbol and avoid words linked to you.
666
Password manager An app that stores and fills in all your passwords for you, locked behind one strong master passphrase. It can make random passwords and autofill them only on the right site.
674
Checking whether an account appears in a data breach A website or alert that tells you if your email address appeared in a known data breach, so you can change the password for any affected account.
680
Setting up MFA with an authenticator app Open security settings, choose an authenticator app, scan the code, then enter the first one-time code to confirm. Codes change every 30 seconds.
681
Backup codes and account recovery One-time codes that let you log in if you lose your MFA device. Keep them somewhere safe, like printed in a safe place, and never share them. A trusted adult can help with recovery.
683
Why data is encrypted To scramble data so nobody can read it without the key. This keeps private things like messages, passwords and bank details safe if someone steals or intercepts them.
689
Encrypting a message with a Caesar shift Move each plaintext letter forward along the alphabet by the key number. With a key of 3, A becomes D. Write the new letter and keep spaces unchanged.
690
Wrapping around from Z to A When a shift goes past Z, the count carries on from A, so X shifted by 3 becomes A. The alphabet works like a circle of 26 letters, numbered 0 to 25.
691
Decrypting a message with a Caesar shift To decrypt a Caesar ciphertext, move each letter back along the alphabet by the key number to get the plaintext. A wraps back to Z. Then check the result is a real message.
692
Using a cipher wheel or strip A tool with two alphabet rings. Turn the inner ring to the key shift so each plaintext letter lines up with its ciphertext letter on the outer ring. ROT13 is a shift of 13.
694
Breaking a Caesar cipher by trying every shift Trying every possible key, such as all 25 Caesar shifts, until readable text appears. A cipher with so few keys is weak because an attacker can check them all quickly.
695
Frequency analysis of ciphertext Counting how often each letter appears in ciphertext. The most common letter probably stands for E, so an attacker can work out the key.
696
Substitution cipher A cipher that swaps each letter for a different letter or symbol using a key table, like a scrambled alphabet. It is not a simple shift, and the table is used in reverse to decrypt.
697
Transposition cipher A cipher that keeps the same letters but rearranges their order by a rule, like writing them in a zigzag on two rails and reading off the rows.
702
Keeping an encryption key secret Encryption is only as strong as its key. Never send the key with the message, share it in person or by another channel, and change it if it may have leaked.
705
Why a Caesar cipher is weak compared with modern encryption A cipher with few keys and letter patterns that show through, so a computer can break it fast. Modern encryption uses huge keys and complex steps. A Caesar cipher has only 25 keys.
709
Explaining encryption in short sentences A clear explanation names the plaintext, the key and the ciphertext in order, then says why it keeps data private using because: only someone with the key can read it.
711
Layers of protection Using several protections together, such as a strong passphrase, MFA, updates and encryption, so if one fails the others still keep your account and data safe.
712
Applying protections to a scenario Read a scenario, name the threat, explain how it works, then suggest measures like MFA or encryption and say why they reduce the harm.
713
Creating a cyber safety awareness message A poster, infographic or short video that tells an audience how to spot one cyber threat and what to do about it. It uses one clear message and is fact-checked before it is shared.

Just this content description: the Networks and Cyber Threats journey · Add AC9TDI8P13 to a class →

Digital Footprints and Data Minimisation — AC9TDI8P01, AC9TDI8P02, AC9TDI8P03, AC9TDI8P14 (22 modules)

722
Digital reputation The impression other people form of you from the data in your digital footprint, such as posts, photos and comments that show up when someone searches your name.
726
Data a website records about every visitor A record a web server makes for every visit, such as the IP address, device type, time and pages viewed, even when the visitor types nothing in.
728
Form settings that collect email addresses A form setting that automatically records every respondent's email address, so answers can be linked to a person. Turn it off to keep a survey anonymous.
730
Data sharing with third parties A company other than the one you gave your data to, such as an advertiser or analytics service, that may receive your data. Privacy policies often list them.
732
Purpose and user of an existing digital system Every digital system is made to do a job (its purpose) for certain people (its users). Example: a school library system helps students and teachers borrow books.
735
Justifying keeping or removing a data item A justification names the data item, the system's purpose and gives a because reason why the item is needed or could be removed. Test it by removing the item and checking the system still works.
737
Marking a form question as optional or required A switch on a form question. When on, people must answer it. Switch it off for questions you do not really need, so people can skip them and share less personal data.
739
Risks of collecting and keeping too much data When data a system holds is stolen or leaked. Data you never collect cannot be breached, so the more you keep, the bigger the risk, including identity theft and misuse.
740
Deleting data that is no longer needed Keeping data only as long as its purpose needs it, then deleting it, including old accounts, finished project data and backup copies.
749
Spotting personal data columns in a dataset A dataset column, such as name, email, phone, address or comments, that identifies or describes a person. Check each heading and its sample values to spot it.
750
Direct and indirect identifiers A direct identifier, like a name or email, points to one person alone. An indirect identifier, like suburb, age or school, only identifies someone when combined with other details.
751
Saving a working copy before changing data Duplicate the original file with Make a copy or Save As, then de-identify the copy. The original stays unchanged, so you never lose your data.
752
Deleting a spreadsheet column Right-click a column header and choose Delete to remove the whole column and all its data. Undo with Ctrl+Z if it was a mistake, and check formulas that used the column.
753
Hiding a column does not remove the data A hidden column is only out of sight. Its data stays in the file and is shared with it, and anyone can unhide it. Delete the column to really remove the data.
758
Creating ID codes with a formula Builds a unique ID code like P01 for each row. Copy it down, paste as values only so the codes stay, then delete the name column.
759
Generalising an exact value into a range Replacing an exact value with a broader group, like a birth date with an age band, so the data is less identifying but still useful.
760
Turning an age into an age band with IF A nested IF formula that replaces an exact age with an age band, so the sheet shows a group like 13-15 instead of the exact number. This keeps less personal data.
761
Shortening a postcode to a region with LEFT Keeps only the first 2 characters of the postcode in cell C2, so an exact location becomes a wider region. This helps protect privacy.
762
Re-identification risk from small groups and combined details Working out who a person is by matching a mix of details, like age, suburb and year level, that fits only a very small group, even a group of one. Bigger groups hide people better.
763
Checking de-identified data still answers the question After removing or generalising data, check that the columns left can still answer your question and that no column can still identify a person. Scan every column and sheet again.
764
Using generated fake test data Invented but realistic values made by a data generator, so you can build and test a solution without collecting any real person's data.
770
Writing a footprint finding with evidence A clear statement that names the system, the data collected, whether it is essential and a change to make, joined with 'because' to give the reason.

Just this content description: the Digital Footprints and Data Minimisation journey · Add AC9TDI8P01, AC9TDI8P02, AC9TDI8P03, AC9TDI8P14 to a class →

Printable ACARA Digital Technologies Years 7–8 Crosswords & Word Searches

Built from the key terms of each block of modules, every one with a full answer key. All free printables →

✎
Crossword: Hardware and Performance (Modules 13–40) 10 clues · Clock speed or more cores: which helps which task, How much RAM different tasks need, Choosing storage type and size together, Video memory (VRAM) and more
✎
Crossword: Wired and Wireless Networks (Modules 54–68) 10 clues · Ethernet cable, Fibre optic cable, Signal weakening over distance in cables, Wi-Fi and more
✎
Crossword: Wired and Wireless Networks and Representing Text, Images and Sound (Modules 69–124) 10 clues · Wired vs wireless: mobility and convenience, Choosing a network type for a scenario, TCP/IP: the internet's core protocols, Redundant routes keep a network working and more
✎
Crossword: Representing Text, Images and Sound (Modules 128–152) 8 clues · Converting numbers from 0 to 127 using seven place values, Padding binary with leading zeros, ASCII codes for digits, spaces and punctuation, Converting a word to ASCII decimal codes and more
✎
Crossword: Representing Text, Images and Sound (Modules 153–172) 10 clues · Inspecting a pixel's RGB numbers, 24-bit colour: three bytes per pixel, Writing an RGB colour in binary, Vector images and more
✎
Crossword: Representing Text, Images and Sound and Binary Number Representation (Modules 173–188) 10 clues · Zooming in to see samples in an audio editor, Text, images and sound all become integers, then binary, Explaining data representation to a peer, The two-state (on/off) system and more
✎
Crossword: Binary Number Representation (Modules 189–203) 10 clues · Most and least significant bit, Reading 101 in binary: digits, not a hundred and one, Converting numbers 0 to 31 with five bits, Leading zeros and fixed-width binary and more
✎
Crossword: Binary Number Representation and Acquiring and Storing Data (Modules 204–236) 10 clues · How storage keeps bits, Explaining why digital technology uses binary, Closed and open survey questions, Choosing who to survey: sample and sample size and more
✎
Crossword: Acquiring and Storing Data and Analysing and Visualising Data (Modules 261–300) 10 clues · Keeping an untouched copy of the raw data, Flagging duplicates with a COUNTIF formula, Flagging out-of-range values with IF and OR, Fixing spelling variations with Find and Replace and more
✎
Crossword: Analysing and Visualising Data (Modules 302–324) 10 clues · Checking a result with the status bar summary, Number filters: greater than and between, Using sort and filter together to find top and bottom values, Calculating a percentage of a total and more
✎
Crossword: Analysing and Visualising Data and Structured Data and Queries (Modules 331–360) 10 clues · Describing a trend in a sentence with evidence, Investigating a dataset from question to conclusion, Attributes of an object, Attributes of an event and more
✎
Crossword: Structured Data and Queries and Algorithms, Flowcharts and Pseudocode (Modules 365–411) 10 clues · SQL LIKE with the % wildcard, How a field's data type changes sorting, Describing what a query does in plain English, A loop inside a loop and more
✎
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
✎
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
✎
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
✎
Crossword: Networks and Cyber Threats (Modules 674–695) 10 clues · Checking whether an account appears in a data breach, Setting up MFA with an authenticator app, Backup codes and account recovery, Why data is encrypted and more
✎
Crossword: Networks and Cyber Threats and Digital Footprints and Data Minimisation (Modules 696–726) 10 clues · Substitution cipher, Transposition cipher, Keeping an encryption key secret, Why a Caesar cipher is weak compared with modern encryption and more
✎
Crossword: Digital Footprints and Data Minimisation (Modules 728–751) 10 clues · Form settings that collect email addresses, Data sharing with third parties, Purpose and user of an existing digital system, Justifying keeping or removing a data item and more
✎
Crossword: Digital Footprints and Data Minimisation (Modules 752–770) 10 clues · Deleting a spreadsheet column, Hiding a column does not remove the data, Creating ID codes with a formula, Generalising an exact value into a range and more
🔎
Word Search: Hardware and Performance and Wired and Wireless Networks (Modules 13–68) 20 words to find · Clock speed or more cores: which helps which task, How much RAM different tasks need, Choosing storage type and size together, Video memory (VRAM) and more
🔎
Word Search: Wired and Wireless Networks and Representing Text, Images and Sound (Modules 69–152) 21 words to find · Wired vs wireless: mobility and convenience, Choosing a network type for a scenario, TCP/IP: the internet's core protocols, Redundant routes keep a network working and more
🔎
Word Search: Representing Text, Images and Sound and Binary Number Representation (Modules 153–188) 20 words to find · Inspecting a pixel's RGB numbers, 24-bit colour: three bytes per pixel, Writing an RGB colour in binary, Vector images and more
🔎
Word Search: Binary Number Representation and Acquiring and Storing Data (Modules 189–236) 21 words to find · Most and least significant bit, Reading 101 in binary: digits, not a hundred and one, Converting numbers 0 to 31 with five bits, Leading zeros and fixed-width binary and more
🔎
Word Search: Acquiring and Storing Data and Analysing and Visualising Data (Modules 261–324) 20 words to find · Keeping an untouched copy of the raw data, Flagging duplicates with a COUNTIF formula, Flagging out-of-range values with IF and OR, Fixing spelling variations with Find and Replace and more
🔎
Word Search: Analysing and Visualising Data to Algorithms, Flowcharts and Pseudocode (Modules 331–411) 21 words to find · Describing a trend in a sentence with evidence, Investigating a dataset from question to conclusion, Attributes of an object, Attributes of an event 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
🔎
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
🔎
Word Search: Networks and Cyber Threats and Digital Footprints and Data Minimisation (Modules 696–770) 22 words to find · Substitution cipher, Transposition cipher, Keeping an encryption key secret, Why a Caesar cipher is weak compared with modern encryption and more

Journeys using these modules

ACARA Digital Technologies Years 7–8 — Hardware and Performance, ACARA Digital Technologies Years 7–8 — Wired and Wireless Networks, ACARA Digital Technologies Years 7–8 — Representing Text, Images and Sound, ACARA Digital Technologies Years 7–8 — Binary Number Representation, ACARA Digital Technologies Years 7–8 — Acquiring and Storing Data, ACARA Digital Technologies Years 7–8 — Analysing and Visualising Data, ACARA Digital Technologies Years 7–8 — Structured Data and Queries, ACARA Digital Technologies Years 7–8 — Algorithms, Flowcharts and Pseudocode, ACARA Digital Technologies Years 7–8 — Tracing and Debugging Algorithms, ACARA Digital Technologies Years 7–8 — Programming with Control Structures and Functions (Python), ACARA Digital Technologies Years 7–8 — Programming with Control Structures and Functions (JavaScript), ACARA Digital Technologies Years 7–8 — Networks and Cyber Threats, ACARA Digital Technologies Years 7–8 — Digital Footprints and Data Minimisation, ACARA Digital Technologies Years 9–10 — Analysing and Visualising Data, ACARA Digital Technologies Years 9–10 — Cyber Security Threats and Vulnerabilities, QCE Digital Solutions Unit 1 — Understanding Digital Problems, QCE Digital Solutions Unit 1 — Algorithms and Programming Techniques, QCE Digital Solutions Unit 1 — Programmed Solutions, QCE Digital Solutions Unit 2 — Data-Driven Problems and Solution Requirements, QCE Digital Solutions Unit 2 — Data and Programming Techniques, QCE Digital Solutions Unit 2 — Prototype Data Solutions, QCE Digital Solutions Unit 3 — Interactions Between Users, Data and Digital Systems, QCE Digital Solutions Unit 3 — Real-World Problems and Solution Requirements, QCE Digital Solutions Unit 3 — Innovative Digital Solutions, QCE Digital Solutions Unit 4 — Digital Methods for Exchanging Data, QCE Digital Solutions Unit 4 — Complex Digital Data Exchange Problems and Solution Requirements, QCE Digital Solutions Unit 4 — Prototype Digital Data Exchanges, WA Computer Science ATAR Year 11 — Pseudocode and Algorithm Design, WA Computer Science ATAR Year 11 — Control Structures and Data Types, WA Computer Science ATAR Year 11 — Modular Programming, WA Computer Science ATAR Year 11 — Network Communications, WA Computer Science ATAR Year 11 — Data Management, WA Computer Science ATAR Year 11 — Cyber Security

Or build your own Journey from any of these modules →

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.

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Lion' badge — Inheritance King, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

For Teachers

Set this curriculum for your class and see who needs help, automatically.

Create a free teacher account →

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

For Students

Practice this topic interactively, track progress, and unlock badges.

Start Learning Free →

Have a class code?