QCAA Digital Solutions Interactions between users, data and digital systems
6 sample questions with marking guides and sample answers · Avg. score: 60%
Which component of a digital solution is required for efficient data processing?
secure login and authentication processes
visually appealing interface design
maintainable programming
scalable database design
Reveal Answer
secure login and authentication processes
While crucial for system security and protecting user information, authentication processes do not dictate the speed or efficiency of backend data processing.
visually appealing interface design
A visually appealing interface improves user experience and engagement, but it has no impact on the underlying computational efficiency of data handling.
maintainable programming
Maintainable programming helps developers update and debug code easily over time, but it does not inherently guarantee efficient data processing algorithms.
scalable database design
A scalable database design ensures that the system can efficiently store, query, and process data without performance bottlenecks, even as data volume grows.
Screen-based user interfaces must dynamically adjust for different screen sizes because devices such as mobile phones and televisions have different aspect ratios and dimensions.
Which useability principle does this demonstrate?
utility
safety
validity
reliability
Reveal Answer
utility
Utility refers to the ability of the software to perform the tasks required by the user. By dynamically adjusting to different screen sizes, the interface ensures that all functions remain accessible and usable across various devices, thereby preserving the system's utility.
safety
Safety in user interfaces typically refers to preventing user errors or protecting data (e.g., confirmation dialogs or undo functions), not the visual adaptation of the layout.
validity
Validity generally refers to the accuracy of data or whether a system meets its specifications, rather than the adaptability of the user interface to hardware constraints.
reliability
Reliability refers to the stability of the software and its ability to function without crashing or failing over time, which is distinct from how the interface renders on different screens.
Which element of visual communication, if not used appropriately, could risk the accessibility of a digital system?
line
form
scale
shape
Reveal Answer
line
While lines are used to organize information or guide the eye, they are generally less critical to basic accessibility than the size of the content.
form
Form refers to the illusion of three-dimensional depth or volume, which is primarily an aesthetic quality rather than a functional accessibility barrier.
scale
Scale determines the size of text and interactive elements; if elements are too small, users with visual impairments cannot read them, and users with motor impairments may struggle to click them.
shape
Shapes help define boundaries and objects, but their visibility and usability are dependent on whether they are scaled large enough to be perceived and interacted with.
The useability principle of utility can best be described as the ability of
different systems to present information in different ways to a single user.
different systems to present information in the same way to a single user.
a system to be used by many different users.
a system to do the work a user needs to do.
Reveal Answer
different systems to present information in different ways to a single user.
This describes inconsistency. Presenting information in different ways to the same user increases cognitive load and makes the system harder to learn and use.
different systems to present information in the same way to a single user.
This describes the principle of consistency (often tested alongside utility), which ensures that users can apply their existing knowledge and mental models from one system to another without relearning interactions.
a system to be used by many different users.
This describes accessibility or universal design, which focuses on ensuring a system can be used by as many people as possible, regardless of their abilities.
a system to do the work a user needs to do.
This describes functionality or effectiveness (often the standard definition of utility in HCI), focusing on whether the system can actually perform the required tasks rather than how the information is presented.
Arranging and organising the UI elements of a user interface demonstrates use of
useability and accessibility.
elements of visual communication.
principles of visual communication.
a suitable programming environment.
Reveal Answer
useability and accessibility.
Usability and accessibility are the goals or outcomes of good design, not the specific guidelines used to arrange the elements.
elements of visual communication.
Elements of visual communication (such as line, shape, and color) are the components being arranged, whereas the act of arranging them relies on design principles.
principles of visual communication.
The principles of visual communication (such as balance, hierarchy, alignment, and proximity) provide the rules and guidelines for arranging and organizing UI elements effectively.
a suitable programming environment.
A programming environment is the software tool used to write code, which is distinct from the visual layout and organization of the user interface.
Two novice programmers who live in different locations want to develop a method for securing their email communication. They have decided to:
- meet in the same location
- use a generic code library that contains functions relating to a set of cryptology algorithms called ‘Blowfish’
- use only UTF-8 data encoding, e.g. the character ‘%’ is considered to have a length of 8 bits in total
- create their own programs using different languages
- generate encrypted text using their programs
- copy and paste encrypted text into their emails.
| Function name | Blowfish key expansion | Blowfish crypt |
|---|---|---|
| Function code | BlowfishInitiate(key) | Blowfish(Value, KeySet, Process-Type) |
| Purpose | Completes the initial key expansion processes. Returns a data structure called Blowfish KeySets. | Completes the block algorithm process for encryption or decryption. Accepts a 64-bit–length set of values in the form of text, along with the pre-processed Blowfish KeySets. |
| Inputs | Key: text-based, 64-bit in length | Value: text-based, 64-bit in length KeySet: returned data structure from the BlowfishInitiate function Process-Type: 1 for encrypt, 2 for decrypt |
| Returns | KeySet | Text-based value |
| Example | BlowfishInitiate("J$8%*$#d") | Blowfish("abcdefg",MyKeySet,1) |
Note: If any input does not meet a function’s length requirements, the function will fail and potentially cause a runtime error.
Symbolise an algorithm that the programmers could use to encrypt their Unicode set of text. The algorithm should use the function library calls in the table as required.
Reveal Answer
BEGIN
INPUT key;
IF key contains letter characters AND
Length of key = 8 THEN
MyKeySet = Blowfish_Initiate(key)
INPUT user_text
SET cipher_text = ""
IF Length of user_text >= 8 THEN
IF Length of user_text MOD 8 > 0 THEN
FOR index = 1 TO Length of user_text MOD 8
user_text = user_text + " "
NEXT index
ENDIF
FOR EACH set of 8 character BlockSet in user_text
cipher_text = Blowfish(BlockSet, MyKeySet, 1)
ENDFOR
OUTPUT cipher_text
ENDIF
ENDIF
END
| Descriptor | Marks |
|---|---|
Solves the problem without errors | 6 |
Could have solved the problem except for 1 logic error OR could have solved the problem except for syntax errors | 5 |
Could have solved the problem except for 2 logic errors OR could have solved the problem except for 1 logic error and syntax errors | 4 |
Could have solved the problem except for 3 logic errors OR could have solved the problem except for 2 logic errors and syntax errors | 3 |
Could have solved the problem except for 4 logic errors OR could have solved the problem except for 3 logic errors and syntax errors | 2 |
Could have solved the problem except for 5 logic errors OR could have solved the problem except for 4 logic errors and syntax errors | 1 |
Does not satisfy any of the descriptors above. | 0 |
The programmers make the solution publicly available on their website as a web application. Explain and justify how they could implement two useability principles to optimise user experience.
Reveal Answer
An important usability principle is utility. The web app user interface should be responsive as it needs to adjust to all viewport sizes (display device). As users will use various devices, such as mobile phones and laptops, to access the app, the solution needs to adjust appropriately to ensure it is practical and accessible. Responsiveness can be implemented by using breakpoints and a grid for the layout of interface elements.
The solution also needs to be accessible. It should use suitable colours and font (typeface, size and style) to ensure it is accessible to all users, regardless of visual or physical disability. Accessibility can be implemented by checking the colours and fonts with an accessibility checker, available online, to ensure they meet accessibility standards.
First Usability Principle
| Descriptor | Marks |
|---|---|
States a relevant useability principle | 1 |
Describes the useability principle in relation to the solution | 1 |
Justifies how to implement the useability principle | 1 |
Second Usability Principle
| Descriptor | Marks |
|---|---|
States a relevant useability principle | 1 |
Describes the useability principle in relation to the solution | 1 |
Justifies how to implement the useability principle | 1 |
Evaluate whether the programmers have developed the most secure method to encrypt an email message by identifying two strengths and two weaknesses in the steps. Support all statements with examples. Provide two recommendations and justify how each recommendation would improve security.
Reveal Answer
The method used is relatively secure as Blowfish is a well-known and trusted method of encryption. The method could be made more secure with some recommendations to improve security.
The strength of meeting in the same location is that they reduce the risk of a security breach by not using technology that could be digitally intercepted. The weakness is that someone could overhear their conversation — this depends on the security of the location.
The strength of using different languages is that if one program is breached, it is contained, because the same method of breaching may not work for a program written in another language. A weakness may be the language used, as different languages have different levels of vulnerability.
To improve security, it would be recommended to test the program that is written before using it to identify any issues prior to implementation. Another recommendation would be to consider the vulnerabilities of the range of programming languages and use the least vulnerable languages to optimise security.
Conclusion
| Descriptor | Marks |
|---|---|
Provides a valid conclusion about Blowfish | 1 |
Evaluation
| Descriptor | Marks |
|---|---|
States a valid weakness | 1 |
States a second valid weakness | 1 |
States a valid strength | 1 |
States a second valid strength | 1 |
Improving Security
| Descriptor | Marks |
|---|---|
Provides a relevant recommendation | 1 |
Justifies the provided recommendation | 1 |
Provides a second relevant recommendation | 1 |
Justifies the second provided recommendation | 1 |