QCAA Digital Solutions study materials
QCAA Digital Solutions study resources

QCAA Digital Solutions practice questions

One question at a time. Build your QCAA Digital Solutions understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Unit 3

A relational database table stores student records. Which field would best serve as the primary key?

  1. Student identification number Correct answer.
  2. Student year level
  3. Student home suburb
  4. Student date of birth

Explanation

A primary key must uniquely identify each row and never be null. A student identification number is assigned uniquely to each learner, so no two rows share it. Suburb, birth date and year level can repeat across many students.

Question 2Unit 3

In a data flow diagram, what does a process symbol represent?

  1. A transformation that converts input data into output data Correct answer.
  2. An external entity outside the system boundary
  3. A communication channel carrying data between components
  4. A permanent store of data at rest

Explanation

A process symbol shows work being done: incoming data flows are transformed into outgoing data flows. It is the active element of a data flow diagram. Data stores hold data at rest, external entities sit outside the boundary, and flows are the channels.

Question 3Unit 3

A programmer writes a loop that repeats a block of statements while a condition remains true. Which control structure is this?

  1. Iteration Correct answer.
  2. Recursion
  3. Sequence
  4. Selection

Explanation

Iteration is the control structure that repeats statements, driven by a test condition. Selection chooses between paths, and sequence runs statements once in order. Recursion is a technique where a subprogram calls itself, which is not what is described.

Question 4Unit 3

Which of the following best describes the purpose of a use case diagram?

  1. To schedule project tasks against a timeline
  2. To show the internal logic of a single algorithm
  3. To model how actors interact with a system's functions Correct answer.
  4. To record the physical storage layout of a database

Explanation

A use case diagram captures the functional requirements of a system from the user's viewpoint. It shows actors, the use cases they trigger, and the associations between them. It deliberately hides internal logic, storage details and scheduling.

Question 5Unit 3

A school stores each student's name, address and phone number in a single field. Which design problem does this create?

  1. The table loses its primary key automatically
  2. The data becomes encrypted by the database engine
  3. The field holds repeating groups that violate first normal form Correct answer.
  4. The data becomes atomic and easy to query

Explanation

First normal form requires every field to hold a single atomic value. Packing several values into one field creates a repeating group, which makes searching, updating and validating the data unreliable. Splitting the data into separate fields resolves the violation.

Question 6Unit 3

Which symbol is conventionally used in a flowchart to represent a decision?

  1. Oval
  2. Rectangle
  3. Diamond Correct answer.
  4. Parallelogram

Explanation

A diamond denotes a decision point where the flow branches according to a condition. Rectangles show processes, parallelograms show input or output, and ovals mark the start or end of the algorithm.

Question 7Unit 3

What is the main purpose of a data dictionary in a database project?

  1. To define the colours used in the user interface
  2. To list the staff who built the system
  3. To document the meaning, type and constraints of each data element Correct answer.
  4. To store backup copies of the database files

Explanation

A data dictionary is a reference describing each data element: its name, data type, size, format, allowed values and constraints. It supports consistent design and maintenance. It does not hold backups, interface styling or personnel records.

Question 8Unit 3

A team stores source code in a version control system. Which benefit does this directly provide?

  1. Faster execution speed for the compiled program
  2. Automatic correction of logic errors in the code
  3. A recorded history of changes that can be compared and reverted Correct answer.
  4. Guaranteed removal of all security vulnerabilities

Explanation

Version control records each change with authorship and timestamps, allowing comparison and rollback to earlier states. It does not fix logic errors, remove vulnerabilities or change runtime performance. Those depend on the code itself.

Question 9Unit 3

A query on a table of 10 000 customer records returns rows where the suburb equals 'Kelvin Grove'. Which clause performs this filtering?

  1. SELECT suburb
  2. GROUP BY suburb
  3. ORDER BY suburb
  4. WHERE suburb = 'Kelvin Grove' Correct answer.

Explanation

The WHERE clause filters rows so only those satisfying the condition are returned. ORDER BY sorts results, GROUP BY aggregates rows into groups, and SELECT chooses which columns appear. Only WHERE restricts individual rows by a condition.

Question 10Unit 3

A students table has a foreign key class_id referencing a classes table. What does this constraint enforce?

  1. Every class must contain at least one student
  2. Class identifiers must be alphabetical
  3. Students may belong to several classes at once
  4. Each student's class_id must match an existing class record Correct answer.

Explanation

A foreign key creates referential integrity: any value stored in class_id must exist as a key in the classes table. This prevents orphan records. It does not force a class to have students, restrict key formatting or allow multiple class values.

Question 11Unit 3

A developer writes pseudocode using meaningful variable names and consistent indentation before coding. Which purpose does this mainly serve?

  1. It reduces the memory used by the final program
  2. It makes the algorithm easier to read, review and later maintain Correct answer.
  3. It guarantees the program will run faster
  4. It removes the need for testing the program

Explanation

Readable pseudocode communicates the algorithm to other developers and reviewers before implementation. Clear names and indentation reduce misunderstanding and support maintenance. It does not affect memory, remove testing or change execution speed.

Question 12Unit 3

A validation rule checks that a postcode field contains exactly four digits. Which type of validation is this?

  1. Range check
  2. Consistency check
  3. Existence check
  4. Format check Correct answer.

Explanation

A format check confirms that data matches a required pattern, such as a fixed number of digits. A range check tests whether a value falls between limits. Existence checks require a value to be present, and consistency checks compare related fields.

Question 13Unit 3

A program must repeatedly ask for a password until the correct one is entered. Which loop is most appropriate?

  1. A subprogram that never returns
  2. A condition-controlled loop that tests the password each iteration Correct answer.
  3. A single selection statement executed once
  4. A counted FOR loop with a fixed number of iterations

Explanation

The number of attempts is unknown in advance, so the loop must be controlled by a condition tested each iteration. A counted loop assumes a fixed repetition count, and a single selection cannot repeat. This makes a condition-controlled loop the correct structure.

Question 14Unit 3

A team builds a system that reads sensor data every second and stores it for later analysis. Which design concern is most directly raised by this requirement?

  1. The colour scheme of the dashboard
  2. The volume and write rate of data the storage layer must handle Correct answer.
  3. The font used in printed reports
  4. The number of developers on the team

Explanation

Continuous high-frequency input creates a large, steady write load, so storage capacity and throughput become critical design constraints. Aesthetic and staffing choices do not follow from the data rate. The requirement is fundamentally about handling sustained data volume.

Question 15Unit 3

A query uses INNER JOIN between orders and customers. What result is produced?

  1. Only customers who have never placed an order
  2. All customers, with null order fields where no order exists
  3. Only orders that have a matching customer record Correct answer.
  4. The total number of rows in both tables combined

Explanation

An INNER JOIN returns only rows where the join condition matches in both tables. Orders without a matching customer and customers without orders are excluded. Outer joins are needed to retain unmatched rows.

Question 16Unit 3

A student designs a user interface for a mobile app. Which principle most improves usability for first-time users?

  1. Hiding all navigation until the user reads a manual
  2. Relying on colour alone to signal errors
  3. Placing many unrelated controls on one screen to save taps
  4. Using consistent labels and predictable placement of controls Correct answer.

Explanation

Consistency and predictability let users transfer what they learn from one screen to another, reducing cognitive load. Crowding screens, hiding navigation and colour-only signals all increase confusion or exclude users. Clear, stable patterns support learnability.

Question 17Unit 3

A database table stores order lines but repeats the customer's name and address on every line. Which normal form is most directly violated?

  1. First normal form
  2. Third normal form Correct answer.
  3. Second normal form
  4. Fourth normal form

Explanation

Third normal form removes transitive dependencies, where a non-key attribute depends on another non-key attribute. Customer name and address depend on the customer, not on the order line key. Storing them per line creates redundancy and update anomalies.

Question 18Unit 3

A developer compares two algorithms that solve the same problem. Algorithm A always takes 100 steps; Algorithm B takes steps proportional to the square of the input size. For large inputs, which statement is most accurate?

  1. Both algorithms will always take identical time
  2. Algorithm B will generally be more efficient because it grows with input
  3. Algorithm A will generally be more efficient because its cost stays constant Correct answer.
  4. Algorithm A cannot be implemented for large inputs

Explanation

A constant-cost algorithm does not grow with input size, while a quadratic one grows rapidly. For sufficiently large inputs the constant algorithm performs far fewer operations. Growth rate, not a single measurement, determines scalability.

Question 19Unit 3

A system uses a relational database for transactional sales and a separate document store for product descriptions. Which term best describes this arrangement?

  1. A denormalised schema
  2. A peer-to-peer network
  3. A polyglot persistence approach Correct answer.
  4. A single-tier architecture

Explanation

Polyglot persistence means using different storage technologies for different data needs within one system. Relational storage suits transactional integrity, while document stores suit flexible text content. The other options describe unrelated architecture or schema concepts.

Question 20Unit 3

A team must choose between a waterfall and an agile approach for a project with unclear, evolving requirements. Which choice is best justified?

  1. Waterfall, because requirements are fixed at the start
  2. Agile, because it removes the need for testing
  3. Waterfall, because it avoids all documentation
  4. Agile, because short iterations allow requirements to be refined as understanding grows Correct answer.

Explanation

Agile development uses short iterations and frequent feedback, which suits requirements that are expected to change. Waterfall assumes stable, well-understood requirements defined up front. Neither approach removes documentation or testing obligations.

Question 21Unit 3

A web application stores user passwords. Which practice best protects them if the database is compromised?

  1. Storing each password in plain text for easy recovery
  2. Storing passwords encrypted with a key kept in the same table
  3. Storing a salted hash produced by a slow hashing algorithm Correct answer.
  4. Storing passwords in a spreadsheet on a shared drive

Explanation

Salted slow hashes make bulk guessing and precomputed attacks impractical, and salts prevent identical passwords from producing identical hashes. Plain text, co-located keys and shared spreadsheets all expose passwords directly. Hashing is one-way, so the original is not recoverable from the store.

Question 22Unit 3

A query joins three tables and runs slowly on a large dataset. Which change is most likely to improve performance without altering the results?

  1. Converting all numeric columns to text
  2. Removing the WHERE clause to reduce complexity
  3. Adding an index to the columns used in the join conditions Correct answer.
  4. Running the query more frequently to warm the cache

Explanation

Indexes let the database locate matching rows without scanning whole tables, which speeds up join processing. Removing filters changes the result set, converting types adds overhead, and repeating a slow query does not fix its cost. Indexing preserves correctness while reducing work.

Question 23Unit 3

A system must remain available during peak load while keeping response times low. Which design decision best supports this goal?

  1. Distributing requests across multiple servers with a load balancer Correct answer.
  2. Deferring all requests until off-peak hours
  3. Processing every request on a single server to simplify state
  4. Storing all session data in one developer's local machine

Explanation

A load balancer spreads requests across several servers, so no single machine becomes a bottleneck and failure of one node does not stop service. Single-server processing and local storage create single points of failure. Deferring requests harms responsiveness.

Question 24Unit 3

A team is reviewing a data flow diagram and notices a process with an input flow but no output flow. Why is this a design problem?

  1. Input flows are not permitted in data flow diagrams
  2. Processes must transform data, so an output flow should result from the input Correct answer.
  3. Every process must connect directly to an external entity
  4. Processes may only receive data from data stores

Explanation

A process represents a transformation, so data entering must produce some output or be stored. An input with no output suggests missing logic or an incomplete diagram. Data flow diagrams allow flows from many sources, so the other rules are not genuine constraints.

Question 25Unit 3

A developer writes a function that calls itself to process each level of a nested structure. Which consideration is most important for this approach?

  1. Ensuring the function never returns a value
  2. Ensuring a base case stops the recursion before memory is exhausted Correct answer.
  3. Ensuring the function is called only once
  4. Ensuring all variables are global

Explanation

Recursion needs a base case that terminates the chain of calls; without it, the call stack grows until the program fails. Returning values, call frequency and variable scope are separate design choices. Termination is the defining safety requirement for recursive functions.

Question 26Unit 3

In a relational database, which key uniquely identifies each row in a table and cannot contain a null value?

  1. Foreign key
  2. Primary key Correct answer.
  3. Alternate key
  4. Candidate key

Explanation

A primary key is the chosen unique identifier for a table and by definition must be unique and non-null for every row. Other keys may also be unique, but only the primary key is the designated identifier that enforces the no-null rule.

Question 27Unit 3

A relational table is in first normal form. Which property must its data satisfy?

  1. Every non-key attribute depends on the whole key
  2. Every attribute holds a single atomic value Correct answer.
  3. Every foreign key has a matching parent row
  4. Every row has a unique surrogate identifier

Explanation

First normal form requires that each cell contain one indivisible value, with no repeating groups or multi-valued attributes. Dependencies on the whole key and removal of transitive dependencies belong to later normal forms.

Question 28Unit 3

A program stores a student's age in a variable declared as an integer. Which data type decision does this represent?

  1. Choosing a type that matches the range and operations needed Correct answer.
  2. Choosing a type that stores decimal fractions
  3. Choosing a type that minimises memory at all costs
  4. Choosing a type that allows text concatenation

Explanation

Data types are selected so the stored values and the operations performed on them are valid and meaningful. Age is a whole number used in comparisons and arithmetic, so an integer type fits.

Question 29Unit 3

Which statement best describes the role of a test plan in software development?

  1. It records what will be tested, how, and the expected results Correct answer.
  2. It documents the final user manual for the system
  3. It stores the version history of each source file
  4. It lists the programming languages used in the project

Explanation

A test plan defines test cases, data, procedures and expected outcomes so testing is systematic and repeatable. It guides verification rather than describing tools, documentation or version control.

Question 30Unit 3

A user interface displays an error message as soon as a form field is left blank. Which usability heuristic does this support?

  1. Using consistent colour schemes
  2. Providing immediate and clear feedback Correct answer.
  3. Minimising the number of screen elements
  4. Reducing the number of required fields

Explanation

Telling users promptly and clearly what went wrong lets them correct input before submission, which is the feedback principle. The other options concern layout or data collection, not communication of system state.

Question 31Unit 3

Which structure is most suitable for storing a list of items where new items are frequently added and removed at the end?

  1. A hash table
  2. A binary search tree
  3. A stack Correct answer.
  4. A queue

Explanation

A stack adds and removes elements at one end using last-in first-out order, so push and pop at the top are constant-time operations. It directly matches frequent insertion and removal at a single end.

Question 32Unit 3

A development team keeps a shared repository so members can work on separate features at the same time. Which practice does this most directly support?

  1. Elimination of the need for code review
  2. Parallel development with later merging of changes Correct answer.
  3. Guaranteed absence of software defects
  4. Automatic generation of user documentation

Explanation

Branches in a shared repository let developers work independently and then merge their changes, supporting concurrent work. Version control does not remove defects or replace review and documentation activities.

Question 33Unit 3

Which element of a user interface tells a user what a button will do before it is pressed?

  1. A progress bar at the top of the screen
  2. A hover animation on the cursor
  3. A descriptive text label on the button Correct answer.
  4. A decorative background image

Explanation

Labels communicate the action associated with a control so users can predict the outcome before activating it. Decoration, cursor effects and progress indicators do not state the control's function.

Question 34Unit 3

A school database stores each student's tutor group name directly in the student record, and the tutor group's room is stored in a separate tutor_group table. Which anomaly does the current design risk?

  1. Update anomaly if a tutor group is renamed Correct answer.
  2. Loss of referential integrity in the student table
  3. Duplicate primary keys in the student table
  4. Failure of first normal form

Explanation

Storing the group name in every student row means a rename must be applied to many rows, and any missed row leaves inconsistent data. This is an update anomaly caused by redundant storage of a descriptive attribute.

Question 35Unit 3

A query must list every customer, including those with no orders, alongside any orders they have placed. Which join type achieves this?

  1. INNER JOIN between customers and orders
  2. LEFT OUTER JOIN from customers to orders Correct answer.
  3. CROSS JOIN between customers and orders
  4. RIGHT OUTER JOIN from customers to orders

Explanation

A left outer join keeps all rows from the left table and fills unmatched right-side columns with nulls, so customers without orders still appear. Inner joins drop unmatched rows and a cross join produces every combination.

Question 36Unit 3

A validation routine checks that a date of birth field contains a valid calendar date and is not in the future. Which pair of validation types is being applied?

  1. Presence check and format check
  2. Range check and format check
  3. Range check and consistency check Correct answer.
  4. Type check and length check

Explanation

Rejecting future dates applies a range restriction on the value, while confirming the date exists in the calendar tests that the value is consistent with real dates. The two checks together constrain both the range and the validity of the data.

Question 37Unit 3

A developer writes a loop that reads records until the end-of-file marker is reached. Which loop structure best fits this situation?

  1. A loop that always executes at least once
  2. A conditional loop tested before each iteration Correct answer.
  3. A fixed-count loop with a known iteration total
  4. A loop nested inside another loop

Explanation

The number of records is unknown in advance, so the loop must test a condition before each pass and stop when the marker is found. A pre-tested conditional loop handles an unknown repetition count safely.

Question 38Unit 3

A function receives a list of marks and must return the highest mark. Which algorithmic approach is most appropriate?

  1. Sum the marks and divide by the count
  2. Sort the list and return the first element
  3. Compare every pair of marks and count the greater ones
  4. Initialise a maximum to the first mark and compare each remaining mark Correct answer.

Explanation

A single pass that tracks the largest value seen so far finds the maximum in linear time. Sorting does more work than needed, averaging computes a different statistic and pairwise counting is unnecessarily complex.

Question 39Unit 3

A system must process a large batch of records overnight and produce a summary report by morning. Which processing approach is most suitable?

  1. Interactive processing
  2. Batch processing Correct answer.
  3. Real-time processing
  4. Event-driven processing

Explanation

Batch processing collects data and processes it as a group at a scheduled time, which suits overnight jobs where immediate output is not required. Real-time and event-driven approaches are designed for immediate responses.

Question 40Unit 3

A web form submits data to a server. Which practice best reduces the risk of malicious input being stored in the database?

  1. Storing input exactly as received for auditing
  2. Displaying raw input back to the user immediately
  3. Validating and sanitising input on the server before storage Correct answer.
  4. Relying on client-side validation only

Explanation

Server-side validation and sanitisation ensure untrusted input is checked and neutralised before it reaches storage, because client-side checks can be bypassed. Echoing or storing raw input can propagate attacks.

Question 41Unit 3

A team must document how data moves between an external entity, a process and a data store. Which modelling tool is designed for this purpose?

  1. A Gantt chart
  2. A class diagram
  3. A data flow diagram Correct answer.
  4. An entity relationship diagram

Explanation

Data flow diagrams show external entities, processes, data stores and the flows between them, which is exactly the movement of data described. Entity relationship diagrams model data structure rather than flow.

Question 42Unit 3

A program uses a recursive function to calculate a value, and it becomes very slow for larger inputs because the same subproblems are recomputed. Which improvement is most appropriate?

  1. Remove the base case from the function
  2. Convert the recursion to a fixed-count loop
  3. Store previously computed results and reuse them Correct answer.
  4. Increase the recursion depth limit

Explanation

Caching results of subproblems, often called memoisation, avoids repeated work and reduces the time complexity substantially. Raising the depth limit or removing the base case does not address redundant computation.

Question 43Unit 3

A team decides to use an agile approach for a project whose requirements are expected to change frequently. Which practice is most consistent with this choice?

  1. Freezing all requirements before development begins
  2. Delivering the whole system in a single final release
  3. Producing complete documentation before any coding
  4. Delivering working increments in short iterations Correct answer.

Explanation

Agile methods embrace changing requirements through short iterations that produce working increments and allow regular reprioritisation. Freezing requirements and single large releases reflect plan-driven approaches.

Question 44Unit 3

A database designer places a customer's postcode and suburb in a separate table referenced by the customer table. Which benefit does this design most directly provide?

  1. Faster execution of every query in the system
  2. Reduced redundancy and fewer update anomalies Correct answer.
  3. Elimination of the need for foreign keys
  4. Automatic encryption of address data

Explanation

Separating repeated descriptive data into its own table stores each value once, reducing redundancy and the risk of inconsistent updates. It does not automatically speed all queries or secure data.

Question 45Unit 3

A developer must choose between storing a small fixed set of configuration values in code or in a database table. Which consideration most strongly favours the database table?

  1. The values need to be changed without redeploying the application Correct answer.
  2. The values are identical for every installation
  3. The values must never be modified
  4. The values are only read once at startup

Explanation

Storing configuration in a database allows administrators to change values at runtime without rebuilding or redeploying code. Values that are constant or read once do not gain this benefit.

Question 46Unit 3

A system handles thousands of simultaneous users and must keep response times low during peak periods. Which design decision best supports this requirement?

  1. Running all services on one high-capacity machine
  2. Storing all session data on a single server
  3. Processing requests strictly in arrival order
  4. Distributing requests across multiple servers with a load balancer Correct answer.

Explanation

A load balancer spreads requests across several servers so no single machine becomes a bottleneck and capacity can grow with demand. Concentrating work on one machine or serialising requests limits throughput.

Question 47Unit 3

A query filters a large orders table by customer_id and date_placed, and it runs slowly. Which change is most likely to improve performance without altering the results?

  1. Select all columns using a wildcard
  2. Create a composite index on customer_id and date_placed Correct answer.
  3. Add a DISTINCT keyword to the select list
  4. Replace the WHERE clause with a HAVING clause

Explanation

An index on the filtered columns lets the database locate matching rows without scanning the whole table, which reduces execution time while returning the same rows. The other changes either alter semantics or increase work.

Question 48Unit 3

A designer must choose between a normalised schema and a denormalised schema for a read-heavy reporting system. Which reasoning best justifies denormalisation in this case?

  1. Denormalisation eliminates the need for indexing
  2. Denormalisation guarantees that reports are always consistent
  3. Fewer joins reduce read cost, and update anomalies matter less for reporting data Correct answer.
  4. Denormalisation removes the need for any keys in the tables

Explanation

Denormalisation duplicates data to avoid expensive joins, trading write-time consistency for faster reads. In a reporting system where data changes rarely and is read often, that trade-off is often justified.

Question 49Unit 3

A team must integrate a new service with an existing system that cannot be modified. Which approach best limits the impact of future changes to either side?

  1. Share the existing system's internal database tables directly
  2. Define a stable interface contract between the systems Correct answer.
  3. Copy the existing system's source code into the new service
  4. Hard-code the existing system's current data formats

Explanation

A stable interface contract decouples the systems so internal changes on one side do not break the other, as long as the contract is honoured. Direct table sharing and copied code create tight coupling.

Question 50Unit 3

A program processes a stream of events and must maintain a running total while discarding events older than one hour. Which design combination best meets these requirements?

  1. A queue with timestamps and a sliding-window aggregation Correct answer.
  2. A stack that pops the most recent event
  3. A hash table keyed only by event type
  4. A static array sized to the expected event count

Explanation

Timestamps let the system identify expired events, and a sliding window keeps only the relevant recent events for aggregation. A stack or type-keyed table cannot enforce the one-hour boundary.