Software Design and Development 2021 HSC exam pack (archive)
2021 Software Design and Development HSC exam paper
HSC marking guidelines
Marking guidelines are developed with the exam paper and are used by markers to guide their marking of a student's response. The table shows the criteria with each mark or mark range.
Sample answers may also be developed and included in the guidelines to make sure questions assess a student's knowledge and skills, and guide the Supervisor of Marking on the expected nature and scope of a student's response. They are not intended to be exemplary or even complete answers or responses.
Marking feedback
Select from the sections below to view feedback from HSC markers about how students performed in this year’s exam.
Use the feedback to guide preparation for future exams. Feedback includes an overview of the qualities of better responses. Feedback may not be provided for every question.
Feedback on written exam
Students should:
- read the question carefully to ensure that they do not miss important components of the question
- have a clear understanding of key words used in the question and recognise the intent of the question and its requirements
- engage with any stimulus material provided and refer to the stimulus in the response
- communicate ideas and information using relevant examples
- consider using graphical solutions if appropriate
- show full and clear working out for all questions involving calculations
- review their response to ensure that it addresses the question requirements
- avoid rewriting or rephrasing the question
- correctly use subject specific terminology as appropriate
- recognise that examples are sometimes given in questions to clarify the requirements of the question and illustrate the general form of the data. This might include questions that require algorithm solutions, system representation (diagrams) or metalanguage expressions.
Question 21
In better responses, students were able to:
- provide features of the methods used to prevent software piracy
- provide two distinct techniques such as encryption keys and registration codes to prevent software piracy.
Areas for students to improve include:
- distinguishing between a technique to prevent software piracy and intellectual property
- considering the difference between copyright laws or intellectual property and software piracy.
Question 22
In better responses, students were able to:
- explain a method of testing a software solution, relevant to the given scenario that refers to the use of live test data, like large file sizes, response times and load testing.
Areas for students to improve include:
- providing a succinct response to clearly demonstrate their understanding of live test data and live testing
- referring to the outcomes of using live testing, for example, including how could it help to improve the overall performance of the software.
Question 23
In better responses, students were able to:
- outline two different responsibilities of the developers of this software, either generally or with specific reference to the scenario (a)
- describe how specific CASE tools assist in the development of the software given in the scenario (b)
- provide a data flow diagram using the correct symbols, including the given files, and addressing all the processes stated (c)
- create data flow diagrams which follow standard conventions (c).
Areas for students to improve include:
- ensuring that two distinct examples are provided, for instance, delivering the software in the required timeframe is encompassed within providing software that meets the client's needs (a)
- responding with the correct focus, for instance, by providing developer responsibilities rather than user or client responsibilities (a) and how it assists the development of the software (b)
- knowing features and symbols for the various diagrams (c)
- following standard conventions when creating diagrams, for example, a data flow from an external entity or a data store should only connect to a process, and there should be a data flow in and out of most symbols (c).
Question 24
In better responses, students were able to:
- provide reasons regarding how a logbook would assist in the development process.
Areas for students to improve include stating:
- a benefit of a logbook, such as documenting major milestones and version numbers that can be referred to as a backup strategy and assist in the software development process
- how the logbook can assist in the maintenance process.
Question 25
In better responses, students were able to:
- demonstrate their understanding of software development rather than using general computer user knowledge
- recognise social and ethical issues related to the scenario (a)
- outline a relevant installation method, indicating how the features of the method relate to the scenario (b)
- demonstrate an understanding of a software development approach (c)
- provide a link between the selected approach and the scenario (c)
- relate hardware issues to compatibility and performance issues (d).
Areas for students to improve include:
- understanding the difference between a social or ethical issue and a performance/functionality issue (a)
- selecting an installation method rather than stating how it could be installed on the device (b)
- giving advantages of a development method and linking it to the scenario rather than merely identifying a development approach (c)
- providing clear separation between compatibility and performance (d).
Question 26
In better responses, students were able to:
- write an algorithm with clear control structures and appropriate use of indenting
- combine multiple control structures to solve the given problem
- incorporate an outer loop with multiple selection statements inside the loop
- address all criteria given in the scenario.
Areas for students to improve include:
- using the supplied RandomNumber function
- using appropriate conditions on their loop to ensure the loop exits after 10 incorrect guesses or a correct guess
- avoiding subsequent calls to the RandomNumber function, which would cause unpredictable comparisons.
Question 27
In better responses, students were able to:
- show an understanding of the different symbols used in system flowcharts
- describe how data in the files could be updated or written by the processes in the system
- support their response with specific examples of example data in the Customers and Cars files.
Areas for students to improve include:
- avoiding an outline of the system as whole
- focusing on data and files in their response.
Question 28
In better responses, students were able to:
- use a table to track the changes of the variables (a)
- list all the variables as column headings and present each row as an iteration of the algorithm’s loop (a)
- identify that the algorithm results in an endless loop (a)
- identify the incorrectly written lines within the Binary Search algorithm (b)
- interpret the algorithm using thorough desk checking to identify the error (b).
Areas for students to improve include:
- indicating that variables change during the execution of test data in an algorithm (a)
- using a table to easily follow the changes of those variables rather than a narrative about the algorithm (a)
- identifying when an infinite loop occurs, for example, by writing ‘infinite loop’ under the desk check table (a)
- being familiar with standard algorithms such as the binary search and investigating the role of each line of code (b).
Question 29
In better responses, students were able to:
- identify the flag in the algorithm
- explain that the Found variable meant the loop could exit as soon as the item was found, so it was not necessary to check the rest of the array
- provide an example of an array where the flag would improve efficiency.
Areas for students to improve include:
- answering both components of the question provided
- considering different ways that comments can be made in code, so that the distinction can be made between comments and other lines of code.
Question 30
In better responses, students were able to:
- use the library routines to test the condition of the scenario
- write algorithms that process general data of this type
- follow the example to pass the correct parameters
- understand that the examples are given to illustrate the type of input and expected output
- recognise that the examples are given to clarify the requirements of the question and are not designed to be specific input that needs processing in the algorithm solution
- provide a loop which iterates through the correct number of characters
- identify a match.
Areas for students to improve include:
- using library routines effectively
- utilising the examples to decide which variable to pass
- writing algorithms that follow normal conventions, such as having assignment statements the right way around.
Question 31
In better responses, students were able to:
- use the correct symbols to group components that define the features of the scenario.
Areas for students to improve include:
- recalling and using metalanguage symbols
- finding a general rule from a collection of examples.
Question 32
In better responses, students were able to:
- describe each step of the fetch execute cycle, in order, as it applied to the statement given
- use appropriate terminology for the main parts of the CPU applicable to this scenario.
Areas for students to improve include:
- demonstrating an understanding of the relationship between the supplied code fragment and the hardware
- expanding further on the detail given in the question, specifically, the question explains what SUB A, B, C does, therefore, students should expand on that in their answer by including more than just a statement with R1, R2 and R3.
Question 33
In better responses, students were able to:
- construct a clear, concise algorithm using correct syntax
- accurately and simply perform validation of the EmpID
- identify that a loop was necessary to access and process all records from the sequential file
- recognise the requirements of interacting with Sequential and Relative files
- design an algorithm that enables data to be read from Sequential and Relative files, manipulate the data, and write back to the Relative file
- reproduce an algorithm for this scenario containing similar features to the examples given in the Course Specifications document
- refer to the records of the relative file with the correct syntax using a key such as EmpID
- identify that the EmpID variable was the key to accessing the relative file
- calculate the updated overtime hours.
Areas for students to improve include:
- using correct syntax when writing algorithms
- incorporating indenting within the algorithm to clearly show use of control structures
- using ‘open’ and ‘close’ keywords in algorithms when accessing data from files, and appropriate access modes such as ‘input’ and ‘relative’
- indicating the fields being accessed when retrieving data from files
- ensuring that a key is used when accessing data from a relative file
- using appropriate data structures, including files, records, arrays, and arrays of records.
Question 34
In better responses, students were able to:
- identify and list related classes, subclasses, and attributes (ai)
- specify separate methods as well as a procedure to calculate fines (aii)
- articulate how artificial intelligence (AI) could make recommendations based on identified patterns of book categories (genre, title, author), and compare the results against a data set of other borrowers’ history (aiii)
- identify correct syntax for the rule including capitalised variables and beginning a query with ‘?’ (bii)
- explain and compare both forwards and backwards chaining correctly and refer to the provided scenario (biii)
- identify and explain multiple factors influencing the choice of paradigm, including the nature of the problem, available resources, efficiency of the coded solution and programmer productivity (c).
Areas for students to improve include:
- articulating how methods modify the values of attributes.
Question 35
In better responses, students were able to:
- demonstrate understanding of ASCII and HEX (a)
- show working for a correct binary multiplication (b)
- accurately explain how 2’s complement represents negative numbers (b)
- demonstrate understanding of the range of numbers represented by 8-bit 2s complement (b)
- construct a truth table with correct combinations of inputs and outputs (c)
- create a logic circuit that reflects a truth table or simplified Boolean expression (c)
- use Boolean algebra to simplify a Boolean expression (c)
- provide correct outputs from a given logic circuit (d)
- identify the limitations of a single full adder when adding 2-bit numbers (d)
- identify the parts of a data stream correctly, labelling the parts as header, body and trailer and providing an outline of each (ei)
- interpret a given data stream to produce desired output (eii)
- provide the correct diagram using the coordinates provided in the data stream (eii)
- structure a data stream in a readable fashion (eiii).
Areas for students to improve include:
- converting between binary and hexadecimal numbers (a)
- showing working in binary multiplication to demonstrate full understanding of how the calculation is carried out (b)
- constructing a complete and correct truth table (c)
- understanding how specialty circuits like full-adders work (d)
- knowing the difference between a data stream and other binary representations such as floating-point numbers (ei).
HSC exam resources
Search for more HSC standards materials and exam packs.
Software Engineering syllabus
Find out more about the Software Engineering syllabus.
Request accessible format of this publication.