QCAA Digital Solutions Real-world problems and solution requirements

8 sample questions with marking guides and sample answers · Avg. score: 56.5%

Q7
2022
QCAA
1 mark
Q7
1 mark

Which data format supports structures including strings, arrays, numbers and Booleans in UTF-8 encoding?

A

SQL

B

XML

C

JSON

D

HTML

Reveal Answer
A

SQL

SQL is a query language designed for managing data in relational database management systems, not a data interchange format for serializing structures like arrays or objects.

B

XML

XML is a markup language that treats data primarily as text elements; it does not have native syntax for distinguishing numbers, booleans, or arrays without an external schema.

C

JSON

Correct Answer

JSON (JavaScript Object Notation) is a lightweight data-interchange format that natively supports strings, numbers, booleans, arrays, and objects, and the standard requires UTF-8 encoding.

D

HTML

HTML is a markup language used for structuring and presenting content on the web, not for defining data types or serializing data structures for exchange.

Q7
2020
QCAA
1 mark
Q7
1 mark

An application accesses an API that obtains data relating to books read by users. The data that needs to be stored locally includes:

• one or more images of each book’s cover

• book recommendation notes

• a comment on each book.

Book data is located using the ISBN — a unique identifier for each published book. When searching for a book, the returned JSON data is outputted:

{
 "volumeInfo":{
 "title": "Designing Relational Databases",
 "subtitle": "A beginner’s guide",
 "authors": [
 "Joan Janson",
 "Katy Pratt"
 ],
 "isbn": "1440569239562",
 "publisher": "Books Ltd",
 "publishedDate": "2016-05",
 "pageCount": 367,
 "imageLinks": {
 "smallThumbnail": "http://books.abcd.com/books?id=jedfoYprny465&image=1&source=gbs _ api",
 "thumbnail": "http://books.abcd.com/books?id=jedfoYprny465&image=3&source=gbs _ api"
 }
 }
}

What is the most appropriate method to store the data in local tables so it can be easily retrieved for display?

A

Table: book

FieldType
ISBNText
titleText
pagesInteger
authorsText
commentsText
recommendationBoolean

Table: images

FieldType
typeText
image_linkJpg
ISBNInteger
B

Table: books

FieldType
ISBNText
titleText
pagesInteger
commentsText
recommendationText
image_linkText

Table: authors

FieldType
ISBNText
nameText
C

Table: book

FieldType
ISBNInteger
titleText
pagesInteger
commentsText
recommendationBoolean

Table: images

FieldType
ISBNInteger
image_typeText
image_linkText

Table: authors

FieldType
ISBNInteger
nameText
D

Table: books

FieldType
ISBNInteger
titleText
pagesText
commentsText
recommendationText
publisherText
published_dateText

Table: authors

FieldType
titleText
nameText

Table: images

FieldType
ISBNInteger
image_linkText
Reveal Answer
A

Table: book

FieldType
ISBNText
titleText
pagesInteger
authorsText
commentsText
recommendationBoolean

Table: images

FieldType
typeText
image_linkJpg
ISBNInteger

This option violates First Normal Form (1NF) by storing multiple authors in a single Text field rather than separating them. Additionally, there is a data type mismatch between the ISBN in the book table (Text) and the images table (Integer).

B

Table: books

FieldType
ISBNText
titleText
pagesInteger
commentsText
recommendationText
image_linkText

Table: authors

FieldType
ISBNText
nameText

This design fails to meet the requirement of storing "one or more images" because the books table contains only a single image_link field. A separate table is required to handle the one-to-many relationship between books and images.

C

Table: book

FieldType
ISBNInteger
titleText
pagesInteger
commentsText
recommendationBoolean

Table: images

FieldType
ISBNInteger
image_typeText
image_linkText

Table: authors

FieldType
ISBNInteger
nameText
Correct Answer

This is the most appropriate design because it correctly normalizes the data. It uses separate tables for authors and images to handle the one-to-many relationships (multiple authors and multiple image links per book), linking them back to the book table using the unique ISBN.

D

Table: books

FieldType
ISBNInteger
titleText
pagesText
commentsText
recommendationText
publisherText
published_dateText

Table: authors

FieldType
titleText
nameText

Table: images

FieldType
ISBNInteger
image_linkText

The authors table incorrectly uses title as a foreign key instead of the unique identifier ISBN; book titles are not unique and are poor keys. Furthermore, the pages field is defined as Text when it should be an Integer for numerical operations.

Q9
2022
QCAA
1 mark
Q9
1 mark

Which algorithmic statement determines the value of y between 10 and 50 inclusive?

A

IF 10 > y OR y > 50

B

IF 10 > y AND y < 50

C

IF y >= 10 OR y <= 50

D

IF y >= 10 AND y <= 50

Reveal Answer
A

IF 10 > y OR y > 50

This statement checks if yy is strictly less than 10 or strictly greater than 50, which identifies values outside the desired range rather than inside it.

B

IF 10 > y AND y < 50

This statement checks if yy is less than 10 and less than 50 simultaneously; this logic effectively only checks if y<10y < 10 and excludes values between 10 and 50.

C

IF y >= 10 OR y <= 50

Using the OR operator here makes the condition true for all numbers, because any value will satisfy at least one of the conditions (y10y \ge 10 or y50y \le 50).

D

IF y >= 10 AND y <= 50

Correct Answer

This correctly uses the AND operator to ensure yy satisfies both boundaries simultaneously: it must be greater than or equal to 10 and less than or equal to 50.

Q12
2024
QCAA
8 marks
Q12
8 marks

An esports club records player details and results for playing a popular online game. The data is stored in JSON format. The club wants to display the gamer tag of each player, their age and the percentage of games won. A sample of the JSON data is shown.

{
'players': [
 {
 'name': 'Brandon Rioli',
 'gamerTag': 'Madskills',
 'dateOfBirth': '22/12/2007',
 'gamesPlayed': 10,
 'gamesWon': 4
 },
 {
 'name': 'Chloe Pezer',
 'gamerTag': 'PezerGirl',
 'dateOfBirth': '03/04/2007',
 'gamesPlayed': 58,
 'gamesWon': 55
 }
 ]
}

Use pseudocode to symbolise the algorithmic statements needed to display the required data.

Reveal Answer

BEGIN
    GET currentDay
    GET currentMonth
    GET currentYear
    SET playerArray = []
    READ json file into playerArray
    FOR count = 0 to playerArray.length
        DISPLAY playerArray[count].gamerTag
        SPLIT playerArray[count].dateOfBirth into birthday, birthMonth, birthYear
        SET age to currentYear - birthYear
        IF currentMonth < birthMonth THEN
            age = age - 1
        ELSE IF currentMonth = birthMonth THEN
            IF currentDay < birthDay THEN
                age = age - 1
            ENDIF
        ENDIF
        DISPLAY age
        CALCULATE percentWon = playerArray[count].gamesWon / playerArray[count].gamesPlayed * 100
        DISPLAY percentWon
    NEXT count
END
Marking Criteria
DescriptorMarks

Symbolises, without logic errors, algorithmic statements for retrieving JSON data

1

Symbolises, without logic errors, algorithmic statements for looping through data

1

Symbolises, without logic errors, algorithmic statements for calculating age

1

Symbolises, without logic errors, algorithmic statements for calculating percentage won

1

Symbolises, without logic errors, algorithmic statements for displaying gamer tag

1

Symbolises, without logic errors, algorithmic statements for displaying age

1

Symbolises, without logic errors, algorithmic statements for displaying percentage won

1

Effectively uses pseudocode conventions

1
Q8
2024
QCAA
1 mark
Q8
1 mark

Match the correct code comment to line 2 of the pseudocode.

1 IMPORT JSON
2 SET x TO '{"name":"Ace", "age":30, "city":"Rockhampton"}'
3 SET y TO JSON.LOADS(x)
4 PRINT(x["age"])
A

Assign a string to variable x.

B

Assign a dictionary object to variable x.

C

Convert the text object into a dictionary object.

D

Convert the dictionary object into a text object.

Reveal Answer
A

Assign a string to variable x.

Correct Answer

The value is enclosed in single quotes ('...'), which indicates that a string literal containing JSON-formatted text is being assigned to the variable x.

B

Assign a dictionary object to variable x.

Although the content resembles a dictionary, the surrounding quotes make it a string data type. It does not become a dictionary object until it is parsed in line 3.

C

Convert the text object into a dictionary object.

This describes the action taken in line 3 (JSON.LOADS(x)), where the string is parsed and converted into a structured object.

D

Convert the dictionary object into a text object.

This describes serialization (converting an object to a string), whereas line 2 is simply initializing a variable with a string literal.

Q13
2020
QCAA
12 marks
Q13

A games arcade has developed a digital solution for recording members’ points. Members receive a membership card, which they scan when they play games at the arcade. The card records how many points a member receives from winning a game. A sample of the data is shown.

members

idgiven_namelast_nameemailphone
24AdalaiAkkadadacutiepie@email.com0491 570 006
25MichaelMcNealymikemcnealy@email.com0491 571 266
26ShrutiFlynnshrutikins@email.com0491 574 118
27AdamSteinbergsteintheman@email.com0491 577 644
28JuliaWongjuliawong@email.com0491 579 455

members_activity

idcard_numberjoin_datelast_visitpoints_balance
247899872005-08-122020-01-20570
254566542009-02-152019-12-2080
267539512010-05-052020-02-25249
276541232019-10-192020-03-101200
Q13a
4 marks

Develop an algorithm to list all members by name. Sort the list alphabetically by last name.

Reveal Answer

BEGIN
    DECLARE string memberNames = {last_name, given_name}
    ORDER BY last_name
    OUTPUT memberNames
END
Marking Criteria
DescriptorMarks

solves the problem without errors

4

could have solved the problem except for 1 logic error OR could have solved the problem except for syntax errors

3

could have solved the problem except for 2 logic errors OR could have solved the problem except for 1 logic error and syntax errors

2

could have solved the problem except for 3 logic errors OR could have solved the problem except for 2 logic errors and syntax errors

1

does not satisfy any of the descriptors above.

0
Q13b
4 marks

Develop an algorithm to list member IDs and join dates for memberships of 10 or more years. Sort the list by join date in ascending order.

Reveal Answer

Response based on C#:

BEGIN
    DECLARE DateTime currentDate
    DECLARE DateTime joinDate
    DECLARE int memberId
    DECLARE int membershipYears = currentDate - joinDate
    FOR EACH int in memberId
        IF membershipYears >= 10years
            ORDER BY joinDate
            OUTPUT joinDate, memberId
        ENDIF
    ENDFOR
END
Marking Criteria
DescriptorMarks

Solves the problem without errors

4

Could have solved the problem except for 1 logic error OR could have solved the problem except for syntax errors

3

Could have solved the problem except for 2 logic errors OR could have solved the problem except for 1 logic error and syntax errors

2

Could have solved the problem except for 3 logic errors OR could have solved the problem except for 2 logic errors and syntax errors

1

Does not satisfy any of the descriptors above.

0
Q13c
4 marks

Develop an algorithm to provide the contact details for members who currently have more than 3000 points.

Reveal Answer

BEGIN
    DECLARE string memberDetails = {given_name, last_name, email}
    DECLARE string memberPhone
    DECLARE int pointsBalance
    FOR EACH int in pointsBalance
        IF pointsBalance > 3000
        OUPUT memberDetails, memberPhone
        ENDIF
    ENDFOR
END
Marking Criteria
DescriptorMarks

solves the problem without errors

4

could have solved the problem except for 1 logic error OR could have solved the problem except for syntax errors

3

could have solved the problem except for 2 logic errors OR could have solved the problem except for 1 logic error and syntax errors

2

could have solved the problem except for 3 logic errors OR could have solved the problem except for 2 logic errors and syntax errors

1

does not satisfy any of the descriptors above.

0
Q8
2023
QCAA
1 mark
Q8
1 mark

An open data set contains plain text of the facilities available in Queensland parks. To develop a mobile application that identifies basketball courts in a suburb, it is necessary for data to be

A

retrieved, normalised and verified.

B

retrieved, normalised and validated.

C

normalised, validated and encrypted.

D

retrieved, modularised and validated.

Reveal Answer
A

retrieved, normalised and verified.

While verification involves checking data against a source, validation is the specific process required to ensure the data meets the logical rules and constraints of the application.

B

retrieved, normalised and validated.

Correct Answer

The data must be obtained (retrieved), organized into a standard structure (normalised), and checked for accuracy and logical consistency (validated) to be useful for the application.

C

normalised, validated and encrypted.

This option omits the essential step of retrieving the data, and encryption is generally not required for public open data.

D

retrieved, modularised and validated.

Modularisation is a software design principle for structuring code, not a technique used for processing or cleaning data sets.

Q12
2022
QCAA
8 marks
Q12

Refer to Stimulus 1 in the stimulus book.

Q12a
6 marks

Describe the listed algorithm constructs and identify one example of each from the stimulus. Use corresponding line numbers to identify examples.

Assignment:

Example:

Condition:

Example:

Iteration:

Example:

Reveal Answer

Assignment: A value (stated or calculated) stored in a variable/memory location.
Example: Line 13, value = 0.04.

Condition: A comparison that retrieves a true or false value (or the value of a Boolean variable).
Example: Line 12, IF depositAmount <= 10000.

Iteration: A group of algorithmic statements that are repeated while a condition is met.
Example: Lines 25–27

FOR i = 0 TO years
deposit = depositAmount + depositAmount x interestRate
NEXT i
Marking Criteria
DescriptorMarks

Describes assignment

1

Describes iteration

1

Describes condition

1

Identifies an example of assignment

1

Identifies an example of condition

1

Identifies an example of iteration

1
Q12b
2 marks

Explain the purpose of modularisation and identify an example of how it is used in the stimulus. Use corresponding line numbers in your response.

Reveal Answer

Modularisation breaks sections of code into smaller chunks so the algorithm is easier to understand, and allows the same code to be used in different parts of the application. For example, calculateInterestRate is a separate module (lines 11–22) and is called/used at line 5. It returns a value (line 21) which is stored in interestRate (line 5).

Marking Criteria
DescriptorMarks

Explains the purpose of modularisation

1

Identifies an example of how modularisation is used

1

Frequently Asked Questions

How many QCAA Digital Solutions questions cover Real-world problems and solution requirements?
AusGrader has 18 QCAA Digital Solutions questions on Real-world problems and solution requirements, all with instant AI grading and detailed marking feedback.

Ready to practise QCAA Digital Solutions?

Get instant AI feedback on past exam questions, aligned to the syllabus

Start Practising Free