← QCE Digital Solutions Unit 3 — Innovative Digital Solutions

QCE Digital Solutions Unit 3 — Innovative Digital Solutions Hangman

Year 12 · QCE · 80 key terms.

Theme
Words

Every word, shuffled.

Players

Generating, building and evaluating solution ideas. See the whole journey →

Want your own words? Free Hangman Generator →

Same words, on paper

The quiet activity after the loud one. Free to print, answer keys included.

CrosswordReal-World Problems and Solution Requirements and Innovative Digital Solutions · Data sources and files to Graphical user interfaces · Ideation and evaluating design ideas to User experience and software design · all 27

Word searchReal-World Problems and Solution Requirements and Innovative Digital Solutions · Data sources and files to Object-oriented programming · Pseudocode to Data sources and files · all 22

Worksheetfor any module, with answer key

When your class is on devices — Snake Break and Diamond Dash run on the same modules, with a free class.

The 80 key terms

1systems thinking
Seeing a solution as connected parts working together, and using a conceptual model to show those parts and their relationships before building anything.
2context diagram
A Level 0 diagram that shows the whole system as one process in the centre, with external entities around it outside the system boundary.
3data flow
A labelled arrow on a context diagram showing data passing between an entity and the system. The arrowhead shows direction (input or output) and the label names the data.
5system properties
The traits of a system as a whole: its purpose, its components and how they interact, and emergent behaviour that no single part has alone.
6IPO chart
A three-column table listing a solution's inputs (data entered), the processes applied to that data, and the outputs it produces, such as a total or report.
7user interface
The part of a system where the user gives inputs and receives outputs. On a conceptual model it sits on the system boundary as the link between the user and the system.
8system control
A mechanism, such as input validation, user feedback or access limits, that keeps a system's behaviour within what is intended.
9brainstorming
Listing as many ideas as possible quickly, with no early criticism and quantity first, then reviewing the ideas afterwards and grouping them to find the best ones.
10mind map
A diagram with a central topic in the middle and branches and sub-branches that link related ideas, used to generate and organise ideas during design.
11mood board
A collage of colours, images, fonts and styles that shows the look and feel wanted for a design, helping a team agree on a visual direction before building the interface.
12screen sketch
A simple drawing of a screen. It has an outline, then a box or shape for each button, text box or label, drawn where it will go. You draw one sketch for each screen.
13Storyboard
A sequence of visual panels showing how a user moves through and interacts with a solution, step by step
14Sitemap
A diagram showing the structure of a website or app, displaying pages and how they connect to one another
15Wireframe
A simple, mostly greyscale layout of a screen showing where content and controls sit, using placeholder boxes and no colour, images or final styling.
16Mock-up
A static visual representation of a solution's interface, showing layout and design before development begins
17annotation
A short note on a design that says what an element does or what happens when it is used, like a label on a button or an arrow showing which screen opens next.
18decision matrix
A table that scores each design idea against each criterion, then totals the scores (weighting key criteria) so the best design can be chosen using evidence.
19SQL
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.
20VARCHAR(50)
A column's data type and size set in CREATE TABLE. VARCHAR(50) holds text up to 50 characters. Other types: INT, DECIMAL(8,2), DATE, BOOLEAN. They control what a column stores.
21CREATE TABLE
SQL command that builds a new table by naming its fields and their data types, such as a PRIMARY KEY. INSERT INTO ... VALUES then adds one record to that table.
22FOREIGN KEY
A field in one table that holds the primary key value of a record in another table, linking the two tables together so related data is stored once and not repeated.
23FOREIGN KEY (field) REFERENCES other_table(field)
Used in CREATE TABLE to link a column to another table's key. The database then only accepts values that match an existing key, so bad links are rejected.
24UPDATE table SET field = value WHERE condition;
UPDATE changes field values and DELETE FROM removes records. Always add WHERE so only the chosen records change. Without it, every record in the table is changed or deleted.
25ALTER TABLE
An SQL command that changes the structure of an existing table, such as adding, modifying or dropping a column. Existing rows are kept, and a new column is empty (NULL) for them.
26DROP TABLE
Permanently deletes a whole table, its structure and all its records. Unlike DELETE, which only removes rows, it cannot be undone and can fail if other tables reference it.
27SELECT name, age FROM students;
SELECT lists the fields to show and FROM names the table. This returns the name and age columns for every record in students. SELECT * shows all columns. End with a semicolon.
28WHERE
An SQL clause that keeps only the rows meeting a condition, such as WHERE age >= 15 or WHERE town = 'Perth'. Text goes in quotes, and AND or OR can combine conditions.
29AND, OR, NOT
Combine WHERE conditions: AND needs both true, OR needs at least one true, NOT reverses a condition. Brackets set the order and decide which rows are returned.
30ORDER BY
Sorts the rows a SELECT query returns by a chosen field. It sorts A to Z or lowest to highest by default (ASC), or the reverse if you add DESC after the field name.
31SELECT AVG(score) FROM results;
An aggregate function works out one value from many rows. COUNT, SUM, AVG, MIN and MAX give the count, total, mean, lowest and highest. This query returns the mean score.
32GROUP BY
An SQL clause that sorts rows into groups sharing the same field value, then applies an aggregate like AVG or COUNT to each group, giving one result row per group (e.g. average score per class).
33HAVING
Filters groups after GROUP BY using a condition on an aggregate, e.g. HAVING COUNT(*) > 2. WHERE filters rows before grouping. HAVING comes after GROUP BY.
34WHERE points > (SELECT AVG(points) FROM students)
A sub-selection is a SELECT inside brackets within another statement. The inner query runs first and its result is used by the outer query, such as in a WHERE condition.
35JOIN
A join matches each foreign key value in one table to the primary key value in another, so rows from both tables show together. Rows with no match are left out.
36ON orders.customer_id = customers.customer_id
The join condition: it matches the foreign key in one table to the primary key in the other. The = sign compares the two values to find matching rows. It does not assign a value.
37table.field
Names the table a field comes from, like students.name. Needed in a join when both tables share a field name, or SQL gives an ambiguous column error.
38JOIN ... ON ... WHERE ... ORDER BY
After JOIN ... ON links two tables, WHERE filters the joined rows and ORDER BY sorts them. Clause order: SELECT, FROM, JOIN ON, WHERE, ORDER BY.
42file.close()
Ends access to an open file so any written data is saved and the file is released. Forgetting it can lose data. A with statement closes the file for you automatically.
44TXT file
A plain text file holds unformatted characters, usually one line of text per line ended by a newline. It has no field headings or data types, so everything is read as a string.
45CSV
A text file with one record per line, fields split by a delimiter such as a comma, and an optional header line of field names. Text containing commas goes in quotes.
46line.split(',')
A string method that breaks a line of text into a list of field strings at each comma. Use strip() first to remove the newline, and int() or float() to convert fields.
47grid[row][col]
A 2D array stores data in rows and columns like a table. Use the row index first, then the column index, to reach one element, such as a seat in a seating plan.
49records.append(line.strip().split(','))
Splits one CSV line into fields and appends them as one record to a list, so each row of the file becomes a record and the whole file becomes a table in memory.
50','.join(record)
Joins a record's fields, which must all be strings, into one comma-separated line. Use str() on numbers first, then write the line plus a newline to the CSV file.
52root = tk.Tk()
Creates the main tkinter window after import tkinter as tk. Call root.mainloop() at the end to show the window and wait for events like clicks.
53tk.Label(root, text='...')
Creates a tkinter label that shows text in the window. Use .config(text=...) to change what it shows, such as displaying a result. Options like font and fg set style.
54entry = tk.Entry(root)
Creates a text box in the window. Call entry.get() to read what the user typed. It is always a string, so convert it with int() or float() to use it as a number.
55tk.Button(root, text='Go', command=show)
Makes a button that runs the function show when clicked. Write the function name with no brackets, or it runs straight away instead of on click.
56control.grid(row=0, column=1)
Places a control in a table-like layout at the given row and column. pack() instead stacks controls in order. Never mix grid and pack in one window.
57messagebox.showinfo()
Pops up a message window to tell the user a result. Its partner messagebox.showerror() pops up an error, such as when a handler finds invalid input. Both need a title and a message.
58def main(): greet()
A function can call another function inside its body. Big problems get split into small helper functions that each do one job, like boxes in a decomposition.
59def main():
Defines a function called main that holds the main steps of your program. You call main() once at the end of the file, after the other functions are defined, to start the program.
60while True:
Starts a menu loop that repeats forever: show options, read a choice, call the matching function with if/elif, reject invalid input, and break when the user picks quit.
61validation vs verification
Validation checks entered data is reasonable and complete. Verification checks it matches the source data, for example by proofreading.
62if value.strip() == '':
An existence check tests that a value was actually entered. strip() removes spaces, so this is True for empty or space-only input, and an error message can be shown.
63type check
A check that input is the expected data type, using .isdigit(), try/except around int() or float(), or isinstance(). input() is always text, so check before converting.
641 <= age <= 120
A range check: tests that a number lies between a minimum and a maximum (inclusive here). Values outside the limits, such as 0 or 121, are rejected as invalid.
65while not valid:
A loop that keeps asking for input again until the answer is valid, so bad data (like an age of -5) can't get into your program. Show an error message each time.
66def is_valid_age(text):
A validation function that runs the existence, type and range checks in order and returns True or False, so the same checks can be reused for many inputs and tested.
67normal, boundary and invalid data
A good test set uses normal data (typical values), boundary data (values at the edges of a range) and invalid data (values that should be rejected), so every path in an algorithm is checked.
68test data
Values chosen to test each validation rule: empty for existence, text for type, and values just inside and just outside range limits, each with an expected result.
69test table
A table with one row per test case. Its columns are test number, purpose, input, expected result, actual result and pass or fail.
70test case
A chosen input paired with the output you expect. Run the program with it, compare the real output to the expected result in your test table, then record pass or fail.
71assert
Checks a condition is True, like assert add(2, 3) == 5. If the result is not what you expected, it raises an AssertionError, so test cases can run automatically.
72unit testing
Testing one function or class on its own, with its own test table, before joining it to the rest of the program, so a failing test points to that module.
73reliability
A solution is reliable when it behaves correctly and consistently every time it is used, even with invalid input or missing files or data. It handles errors without crashing.
74maintainable code
Code organised so it can be fixed or extended later without breaking other parts, using small functions, classes that hide detail and constants instead of repeated values.
75naming convention
An agreed pattern for naming variables, functions, classes and constants so code is consistent, uses meaningful names and is easy to read.
76"""docstring"""
A triple-quoted string placed first in a function or class that describes its purpose, parameters and return value. It is internal documentation.
77efficiency
How well a solution uses resources such as time, processing, memory, storage and user effort to do its job. An efficient solution is fast, light on memory and storage, and saves the user time.
78optimisation
Changing code so it runs faster, uses less memory or is easier to read, without changing what it does. For example, removing repeated code or using a built-in function.
79heuristic review
Checking an existing interface against usability rules of thumb (e.g. Nielsen's heuristics), then recording each problem found with its severity and screen evidence.
80Expert review
A testing technique where a knowledgeable specialist examines a solution against established guidelines to find usability and design issues
81user experience (UX)
How easy, efficient and pleasant a system feels to use from start to finish, not just how it looks. Good UX avoids frustration points, while UI is only the look.
82UX critique
A review of an existing interface that follows a user's path, judges how well it supports their goals using evidence, and recommends improvements.
83evaluation criterion
A measurable standard used to judge a solution, linked to a requirement and written so it can be answered with evidence, such as a target, a yes/no check or a rating.
84Effectiveness
How well a solution does what it was meant to do, giving correct, complete and usable results that meet the requirements and suit its purpose.
85usability
How easily, quickly and accurately users can learn and use software to achieve their goals, including ease of learning, efficiency of use, and error prevention and recovery.
86sustainability
How well a solution keeps meeting needs over time without unacceptable environmental, social or economic cost, such as energy use, running and update costs, and social impact.
87apply evaluation criteria
Gather evidence for each criterion, compare it with the target, then judge if it is met or not met, for both efficiency and effectiveness.

Frequently Asked Questions

Do I need an account?

No. Hangman runs straight from this page — no account, no sign-up, nothing to install. If you add your class names, they are saved in your own browser and never sent to Cloodit.

How do I play it with my class?

Put the page on your whiteboard or projector and press Play. The class calls out letters and you click or type them. Six wrong letters and the word gets away. After every word its definition appears, so each round ends on the meaning, not just the spelling.

Can I use my own words?

Yes. The free Hangman generator at cloodit.com/hangman/ takes any list: one word or phrase per line, with a definition after a dash if you want it shown at the end of the round.

Can I put my students' names in?

Yes. Add your class list and a random student is called for each word. The list stays in this browser on this computer, so it is still there next lesson.

Are the worksheets free too?

Yes. Every module in this journey has a free printable worksheet with a full answer key, and there are crosswords and word searches built from the same key terms.

More QCE Hangman

QCE Digital Solutions Unit 1 — Understanding Digital Problems66 key terms QCE Digital Solutions Unit 1 — User Experiences and Interfaces76 key terms QCE Digital Solutions Unit 1 — Algorithms and Programming Techniques87 key terms QCE Digital Solutions Unit 1 — Programmed Solutions96 key terms QCE Digital Solutions Unit 2 — Data-Driven Problems and Solution Requirements128 key terms QCE Digital Solutions Unit 2 — Data and Programming Techniques142 key terms Make your own hangman →Paste any word list and play