2020appliedcomp Softwaredev Exam Report
2020appliedcomp Softwaredev Exam Report
Section A was answered quite well by most students. In Sections B and C, some students found it difficult to
demonstrate their theoretical knowledge or use subject-specific terminology correctly. The key weakness in
many responses was a lack of detail and depth of understanding. Students are encouraged to consider the
command word of the question (for example, ‘describe’, ‘explain’ or ‘outline’), the number of marks and the
number of lines provided as a guide to the detail and depth of the required response.
In Section C, some students found it difficult to apply their knowledge to the case study.
Specific information
Student responses reproduced in this report have not been corrected for grammar, spelling or factual
information.
This report provides answers or an indication of what answers may have included. Unless specifically stated
these are not intended to be exemplary or complete responses.
The statistics in this report may be subject to rounding resulting in a total more or less than 100 per cent.
© VCAA
Section A – Multiple-choice questions
The following table indicates the percentage of students who chose each option. The correct answer is
indicated by shading.
Question %A %B %C %D Comment
1 6 48 1 45 Many students selected floating point; however, the most appropriate data
type to reflect a millimetre is integer.
2 4 26 19 51 Many selected that the most suitable technique for documenting opportunity
is as an SRS; however, prior to this step, writing a problem statement is
essential.
4 29 45 11 15 A linear search (B) is the only search technique that can be used on an
unsorted list. There is no such search as a quick search (A).
5 1 2 96 1
7 17 61 8 14
8 1 19 64 15
10 20 75 2 4
12 13 16 56 15
13 75 8 8 9
A B C
7 1
6 2 7
5 3 12
4 4 5
3 5 16
© VCAA Page 2
Question %A %B %C %D Comment
15 3 18 76 2
16 92 2 4 1
17 32 7 52 10 Antivirus software (C) would be the most sensible option as it would stop
malware from being installed. A firewall would only detect packets of data
leaving a network after the malware had been installed.
18 1 10 7 82
19 16 3 8 73
20 29 6 60 5
% 18 52 30 1.1
Most students were able to explain that a naming convention provides consistency in the naming of variables
in software solutions. Some students further explained that by using a naming convention, the effort needed
to read and understand the source code during both development and maintenance was lessened.
Question 1b.
Marks 0 1 2 Average
% 66 14 20 0.5
Few students suggested applying a naming convention to the data dictionary by changing the variable
names Var1 and Var2 to more suitable names. Marks were awarded for changing Var1 to inputName and
Var2 to lenName. Appropriate equivalent variable names were also accepted.
Question 2a.
Marks 0 1 2 Average
% 30 51 19 0.9
Some students were able to explain that pseudocode allows the programmer to express the logic and design
of an algorithm in structured English. Some students also added that by writing pseudocode, a programmer
can identify errors in logic before commencing development.
When answering questions relating to pseudocode, it is important that students remember that pseudocode
is language independent.
© VCAA Page 3
The following is an example of a high-scoring response.
It allows Camilla to have a more detailed idea of what the code will look like, helping her identify any errors in
the real code faster. It also allows other developers to understand the program more easily if Camilla
chooses to get help.
Question 2b.
Marks 0 1 2 3 4 5 6 Average
% 20 8 10 10 12 15 16 9 3.4
The following is an example of a possible response to this question. Some variations were also accepted.
The missing answers are indicated by shading.
secretNum random(1,100)
guessCounter 0
Print “Enter the secret number”
guessNum input value from keyboard
Repeat 15 times or until guessNum = secretNum
Print “Enter the secret number”
guessNum input value from keyboard
If guessNum > secretNum then
Print “Too high”
guessCounter guessCounter + 1
elseif guessNum < secrectNum then
Print “Too low”
guessCounter guessCounter + 1
End If
End Repeat
print guessCounter
if guessCounter <15 (then)
print “Well done! You got the secret number quickly”
else
print “It took too long”
endif
A number of students were unable to complete the missing lines from the algorithm using pseudocode.
Common errors included:
When answering questions using pseudocode, it is important for students to remember that they are writing
machine independent code. Students would benefit from exposure to a range of sample algorithms
throughout the year. In addition, a range of formative assessments on developing appropriate pseudocode
may assist in further developing knowledge and skills.
© VCAA Page 4
Question 3
Marks 0 1 2 Average
% 72 13 14 0.4
Few students were able to outline that a function is a module of code that returns a value, compared with a
procedure that is a module of code that does not return a value. Therefore, as a calculation returns a value, a
function should be used to perform a calculation.
Question 4a.
Marks 0 1 2 Average
% 50 26 24 0.7
Students listed a range of procedures and techniques for the handling and managing of files and data. For
example:
regular backups
regular archiving and disposal of files
naming conventions of files and folders.
These included but were not limited to archiving, backing up, disposing of files and data and security.
Some students incorrectly listed software auditing and testing strategies. Many also incorrectly listed
techniques for searching and sorting or treated this question as an extension of the previous question on the
differences between procedures and functions.
It is important that students are able to distinguish between file and data management procedures and a
technique or function that is used to retrieve data when programming.
Question 4b.
Marks 0 1 2 3 Average
% 60 5 17 18 0.9
A range of explanations was accepted depending on the procedures listed in Question 4a. Students who
scored highly described the procedure and related it back to data and file management.
Procedure: Archival
Explanation: Amir can apply the procedure of archival to reduce the amount of data that is kept in active
storage. This is done by moving data off of active storage and onto another system such as tape storage so
the data is cheaper to maintain.
© VCAA Page 5
Section C – Case study
Question 1
Marks 0 1 Average
% 58 42 0.4
Some students correctly identified that a goal of the FRIDGESMART app was to provide efficient ordering of
HOMEMADE products. Many students found it difficult to clearly define an information system goal in the
context of the case study. Some students incorrectly listed organisational goals such as ‘to improve profit’.
Others listed non-functional requirements relating to security and user-friendliness.
Question 2
Marks 0 1 2 3 4 Average
% 26 22 30 17 6 1.5
Many students correctly described the agile development model as being both an iterative and incremental
model with a focus on process adaptability, customer satisfaction and rapid delivery. Some students also
outlined that the agile development model is completed in short iterative ‘sprints’ (or builds). Many students
were able to describe the waterfall development model as a logical progression of steps taken throughout the
PSM.
However, few students provided a justification for the choice of the agile model over the waterfall model in
relation to the case study. They were not able to outline either an advantage of the agile model or a limitation
of the waterfall model that made the agile model more suitable.
There were some misconceptions that the agile model allows the development team to move from one stage
within a sprint to another stage, as opposed to completing multiple sprints in an iterative nature.
A possible example of a justification for the choice of agile over waterfall could be:
The iterative nature of the agile model would allow for the effectiveness of the app to be assessed at the end
of each iteration so that feedback could be incorporated into the next iteration.
The following is an example of a high-scoring response because it described the agile model and provided a
comparison to the waterfall model and justification as to why the agile model was more suitable.
Using agile, John can be more flexible to the needs of his clients as agile works in sprints, meaning that the
problem solving methodology is completed every cycle. He can get new information about the solution
requirements of FRIDGESMART and can add any changes based on the evaluation stage of the last sprint.
As waterfall is a more linear development model, it doesn’t give John any opportunity to get feedback during
the development process and thus wouldn’t let him satisfy the want of the FRIDGESMART company as well
as the agile model will. Also, as John is an experienced developer, he would have the skill necessary to
implement the agile development model.
© VCAA Page 6
Question 3a.
Marks 0 1 Average
% 83 17 0.2
Very few students were able to successfully identify the tasks on the critical path. Either of the following two
versions of the critical path were accepted.
Question 3b.
Marks 0 1 2 Average
% 57 27 16 0.6
Few students were able to correctly explain that delaying the interviews by one extra day would have no
impact on the project’s timeline because the task ‘Conduct data collection 1: Interview’ does not fall on the
critical path.
Question 4a.
Marks 0 1 2 Average
% 65 28 7 0.4
Few students were able to outline that the purpose of the SRS is to document the needs of the stakeholders
and indicate how the system is expected to perform. Instead of considering the overall purpose of the SRS,
many incorrectly listed its components, such as functional and non-functional requirements, scope or
constraints.
Question 4b.
Marks 0 1 2 Average
% 47 32 21 0.7
Students were asked to identify two sections of the SRS and to describe each section. A number of students
successfully identified two of the following three sections as listed in the study design:
scope – the part of project planning that involves determining and documenting a list of specific project
goals, deliverables, tasks, cost and deadlines
constraints – inclusive of design constraints are physical requirements, performance requirements,
software development standards, and software quality assurance standards
system and technical requirements – the system and technical issues that must be considered to
successfully complete a project; these are aspects such as performance, reliability and availability that
your project must meet in order to proceed.
© VCAA Page 7
Question 5
Marks 0 1 2 3 4 Average
% 7 12 19 29 33 2.7
The majority of students completed the data flow diagram, but many did not identify all four labels correctly:
A Customer
C Customer order
Question 6
Marks 0 1 2 3 4 Average
% 10 33 35 14 8 1.8
Many students were awarded marks for suggesting that the FRIDGESMART app was supposed to operate
and work as intended for different types of users with different levels of experience. Many were awarded
marks for discussing the importance of testing the FRIDGESMART app under different conditions and
environments. Some correctly suggested that as part of the agile model, different users can find different
faults in the solution, which could then be fixed within the next sprint or iteration of the agile model.
When a question requests two reasons, it is important that students provide two distinct reasons. Many
repeated the same reason (e.g. ‘a range of customer feedback’) as an explanation for two of the types of
users. Students who scored highly gave two distinct reasons that related to the information provided in the
question and in the case study.
Gives a better view of the user experience when gathered from a multitude of demographics as they will
respond differently to each other and prevent the software from being only relevant to a very precise
target audience.
Better for finding bugs and errors as different types of customers will use different parts of the software
more, and thus by getting a wide variety of people to use the software, all parts of it will be tested more
thoroughly.
Question 7
Marks 0 1 2 3 4 Average
% 8 4 21 32 35 2.8
This question was answered well by most students. The most successful student responses correctly
selected Modified design 2 and justified this choice as follows:
The menu options in Modified design 2 are more appropriately sized than in Modified design 1.
The purpose of the buttons in Modified design 2 is clearly communicated through the use of images and
pictures compared with Modified design 1.
The user interface in Modified design 2 is more balanced due to the alignment and size of its
components in comparison to Modified design 1.
© VCAA Page 8
Many responses did not contain any discussion about Modified design 1; students must always remember to
provide a comparison between alternatives when justifying a selection.
Question 8a.
Marks 0 1 2 Average
% 26 56 18 0.9
TimeOut Floating point timestamp of when an item was last removed from the
refrigerator
format is YYMMDD.HHMMSS
Many students incorrectly identified the barcode as an integer, which is not possible given that the
description of the item states that it must include spaces. When identifying a data type for TimeOut, many
students referred to data types that are not listed in the study design.
Question 8b.
Marks 0 1 2 3 4 Average
% 41 24 20 11 3 1.1
Many students correctly identified that XML was the most appropriate file type for use when transferring data
because XML is extensible in its structure and is made up of elements, sub-elements and attributes. It can
therefore accommodate different products and items as part of a customer order being sent from the
FRIDGESMART app to HOMEMADE.
Some students also correctly commented that a limitation of CSV is that it would place constraints on the
way data is organised within a file, as a predefined number of values must be separated by commas. When
justifying a choice, students must always remember to provide a limitation of the alternative.
Some students incorrectly stated that XML was more appropriate than CSV because it could be used on
different operating systems (suggesting that CSV could not, which is incorrect). Some students also
incorrectly stated that XML is more secure than CSV.
Question 9a.
Marks 0 1 2 3 4 Average
% 50 19 13 9 9 1.1
© VCAA Page 9
Test Expected result Actual result
Students are reminded that it is important to conduct boundary testing above, on and below a numeric value.
As item.Returned is a Boolean value, boundary testing should be conducted both when item.Returned is
TRUE and FALSE.
Question 9b.
Marks 0 1 Average
% 71 29 0.3
Some students identified that the line of pseudocode producing the error was:
Currently, an item can be ordered if it has not been returned or it has not been ordered (meaning an item
that has been returned could be reordered, and an item that has been ordered can be reordered). This is
because an item should only be reordered if it has not been returned and it has not been ordered.
Students must be able to work through an algorithm by reading its pseudocode and testing data for a range
of scenarios.
Question 9c.
Marks 0 1 Average
% 69 31 0.3
Some students were able to rewrite the pseudocode so that it produced the correct output by changing Or to
And.
© VCAA Page 10
Question 9d.
Marks 0 1 Average
% 86 14 0.1
A few students were able to identify that the data structure ‘Orders’ was an Associative array (hash table and
dictionary were also accepted). Some students answered that ‘Orders’ was a one-dimensional array, which
is incorrect as item. The barcode was being used as a key to represent an associated value, as opposed to
being used as an index in a one-dimensional array. Other students incorrectly identified the ‘Orders’ data
structure as a two-dimensional array and yet others identified it as a list. Students are expected to be familiar
with different types of data structures, including associative arrays, one-dimensional arrays and records.
Some students incorrectly listed data types when answering this question. It is important that students
understand the difference between a data type, which holds one value, and a data structure, which organises
a collection of different values and types.
Question 10a.
Marks 0 1 Average
% 40 60 0.6
Most students correctly identified 1234 as the barcode found in the first iteration of the binary search.
Question 10b.
Marks 0 1 Average
% 55 45 0.4
Some students were able to identify that the barcode found in the second iteration of the binary search was
1005. This is because a binary search uses a divide and conquer strategy, so the search space of the
second iteration includes the numbers up to but not including 1234.
Question 10c.
Marks 0 1 Average
% 68 32 0.3
Some students correctly answered that it would take four iterations of a binary search to identify that barcode
1050 was not in the list. It is important for students to practise manually working through the searching and
sorting algorithms listed in the study design with sample testing data.
© VCAA Page 11
Question 11
Marks 0 1 2 3 Average
% 60 20 14 6 0.7
Students were awarded marks for explaining that a selection sort is easier to program than a quick sort, and
that when sorting small lists of data, such as items in a customer order, the benefit to efficiency from using a
quick sort would be insignificant. Some correctly stated that because the list of orders would already be
sorted, fewer swaps would be needed when using a selection sort.
Some students incorrectly stated that the quick sort could not be used to sort items alphabetically and
therefore the selection sort was more appropriate.
Question 12a.
Marks 0 1 Average
% 56 44 0.4
Many students identified that the legislation that applies to the constant voice monitoring scenario was the
Privacy Act 1988. Students should be reminded to include the correct year of the legislation.
Some students incorrectly identified the Privacy and Data Protection Act 2014, which only relates to data
held by the Victorian public sector.
Question 12b.
Marks 0 1 2 3 Average
% 45 32 16 7 0.9
Some students were able to state correctly that users of the FRIDGESMART app need to give permission for
their data to be collected or, alternatively, be given the option of anonymity. An additional appropriate
statement was that HOMEMADE are required to store data securely and ensure that data is both accurate
and relevant. Students also commented that FRIDGESMART had an obligation to know where their data
was being stored.
Question 12c.
Marks 0 1 2 Average
% 84 10 6 0.2
Successful student responses contained an explanation that it is unethical for a programmer to write code to
decide what items a customer should not purchase. Some students justified this by outlining that although
one member of a household may be allergic to avocado, the purchase may be for another family member.
Many students incorrectly stated that the ethical concern related to a breach of the Privacy Act 1988. It is
important that students understand the distinction between a scenario where legislation has been breached
and a separate unethical scenario where a law is not being broken.
© VCAA Page 12
Question 13a.
Marks 0 1 2 3 Average
% 34 27 30 9 1.1
Most students were able to describe a man-in-the-middle attack as a form of cyber attack where a malicious
attacker inserts themselves into an electronic conversation between two parties. Most students were able to
explain that a man-in-the-middle attack would result in data being intercepted while being transmitted
between the customer and FRIDGESMART. Very few students explained that a man-in-the-middle attack
results in a third-party impersonating either the customer or FRIDGESMART and altering data being sent
between them.
Question 13b.
Marks 0 1 2 Average
% 16 45 39 1.2
This question was generally answered well. Most students stated that risks relating to a man-in-the-middle
attack included the following:
Question 13c.
Marks 0 1 2 Average
% 33 37 30 1.0
Some students were able to explain how an appropriate software security control could protect the software
and the company’s data. A range of software security controls were accepted including the use of encryption,
firewalls, antivirus software, monitoring network traffic, software updates, user authentication and passwords.
Many students either listed the control only or provided limited detail about how the control works in relation
to the case study.
Question 14
Marks 0 1 2 3 4 Average
% 31 21 30 10 9 1.4
The most successful student responses identified a risk management strategy and explained how the
strategy would reduce security vulnerabilities in the context of software development practices and the case
study.
© VCAA Page 13
Good responses included a discussion of software security controls (such as firewall, backup and user
authentication); however, students are reminded that they must always relate their responses back to the
identification of security risks.
The following examples of high-scoring responses identify a strategy and explain how the strategy reduces a
security vulnerability.
Risk management strategy 1: Perform code audits before using external code. This ensures third-party
code does not contain malicious insert or vulnerabilities, as a trusted developer would set the secure
code before permitting its use.
Risk management strategy 2: Run a security audit of the system including penetration testers. This will
highlight vulnerabilities in the FRIDGESMART system and allow them to address it before a potential
hacker exploits them.
© VCAA Page 14