Software Design and Development 2020 HSC exam pack (archive)
2020 Software Design and Development HSC exam paper
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.
Question 21
In better responses, students were able to:
- distinguish between privacy and security as separate issues and addressed them using different solutions, for example, protected levels of access to customer personal information (privacy issue) and encryption (security issue) (a)
- describe appropriate ways to address two relevant and distinct issues (a)
- provide appropriate solutions to relevant issues (a)
- describe the uses of appropriate CASE tools to create documentation such as DFDs or structure charts to manage version control (b)
- describe the way benchmarking could be used to compare the app with other competitor apps and assess response times or load times (d).
Areas for students to improve include:
- addressing each selected social and ethical issues, not list what the issues are (a)
- describing how CASE tools are used to assist developers instead of the purpose of CASE tools (b)
- interpreting a Gantt chart and recognising the big picture implications for the project if a task should run late, for example, a project deadline may need to be extended, potential conflict between team members, potential impact on budget (c)
- developing a good understanding of the difference between benchmarking and system testing (d)
- framing their responses with reference to the stimulus especially when the question ends with “...of this application” (d).
Question 22
In better responses, students were able to:
- correctly name relevant stages from the Software Development Cycle
- reference the features and characteristics of each stage and how it connects with the stages that occur before and after.
Areas for students to improve include:
- identifying the reasons for needing to restart the cycle such as updates or bugs.
Question 23
In better responses, students were able to:
- refer to both the development and distribution of a software package
- demonstrate a clear understanding of how a compiler and an interpreter work.
Areas for students to improve include:
- providing clear and relevant justification for choosing one method to address both development AND distribution.
Question 24
In better responses, students were able to:
- explain the benefits of interface design consistency for the user and developer (a)
- clearly draw user interface elements addressing consistency (b)
- show navigation between screens, initiated from screen elements (b)
- address all aspects of the scenario (b)
- clearly draw and use all types of relevant data flow symbols (c)
- address the main processes from the scenario, indicating the flow of data (c).
Areas for students to improve include:
- providing succinct and different reasons for the benefits of interface design consistency (a)
- explaining the benefits of consistency rather than outlining them (a)
- showing clear navigation links between screens (b)
- using data flow symbols correctly (c)
- addressing all aspects of the scenario within the data flow diagram (c).
Question 25
In better responses, students were able to:
- show a good understanding of the use of stubs by referring to the ability to test CalculateCost before FindDiscount is written (a)
- create a data dictionary from code that involved various data types (b)
- give reasons for and against the use of sequential files versus relational files (c)
- show an understanding of retrieval of information from each type of file, including the use of a key to directly read records from a relative file (c).
Areas for students to improve include:
- ensuring responses address the given scenario (a)
- considering the appropriateness of sequential and relative files for different use cases in the scenario, such as retrieving discounts, updating discounts, adding and removing customers (c)
- understanding appropriate storage requirements based on data type
- carefully reading the question, noting that the data for ‘more’ was “Yes” and “No”, indicating string as the correct data type (b).
Question 26
In better responses, students were able to:
- create a desk check table and correctly assign x, y, trace, and display the correct output (a)
- suggest two additional coordinate sets with the reason for inclusion related to the algorithm or screen area (b)
- implement an algorithm using a loop, use a suitable selection structure to check the range and ensure values were multiples of 10 (c).
Areas for students to improve include:
- ensuring that variables are referenced in desk checks (a)
- providing relevant justification for the coordinates specified (b)
- providing coordinates that target different conditions in the algorithm (b)
- providing data validation for the range and multiples of 10 within the loop that repeatedly gets the input (c).
Question 27
In better responses, students were able to:
- select an appropriate software development approach, such as RAD, prototyping or agile and provide features of that approach (a)
- clearly justify their choice referring to the scenario (a)
- address isolating errors to both modules and to lines of code (b)
- clearly show how the method is used to locate the error (b)
- use appropriate control structures, including repetition (to traverse the 2D array) and selection (to check for empty seats) (c)
- address 2D array elements correctly (c)
- use nested iterations that terminated correctly when a free seat (2D cell) was located (c)
- determine if enough free seats were available in the row before allocating the seat (c).
Areas for students to improve include:
- ensuring justifications for software development approaches link features of the approach with aspects of the scenario (a)
- providing detail on how errors can be located, including the steps that could be undertaken including both isolating specific modules and specific lines of code (b)
- ensuring all aspects of a problem are addressed, including by assigning “X” to seats in the 2D array once they are allocated (c)
- using correct syntax within the algorithm and terminate loops (c).
Question 28
In better responses, students were able to:
- show the syntax for repeated statements and optional structures
- use correct terminal and non-terminal symbols for all elements.
Areas for students to improve include:
- addressing all aspects of the given scenario in their syntax description.
Question 29
In better responses, students were able to:
- identify the use of attributes such as health points, coins, items (a)
- identify the use of methods, for example, changing the value of an attribute such as health points or items (a)
- describe how methods could be used for the required actions (a)
- construct the correct fact “leader (benchmarking, lina)” (bi)
- construct the correct rule “two_managers(A, B, C) :- manager(A, C), manager(B, C), (A<>B) (bi)
- evaluate the query correctly to return the results X= tracey and X = sam, and thus understanding X is a variable that needs to be found within the facts (bii)
- show the process of how they found the values for X in the rule using specific correct facts from the knowledge base given, for example, leader (prototyping, tracey), member(prototyping,adam) in order to return X=tracey (bii)
- described imperative as a paradigm that accounts for all possible outcomes and is code heavy (c)
- described logic as a paradigm that relies on facts and rules to reach a conclusion (c)
- describe why an expert system is better suited to using the logic paradigm (c)
- identify that encapsulation hides attributes from other code and can only be modified by methods (d)
- identify that by not using encapsulation, other programmers could modify the attributes of a particular class without using the appropriate methods (d)
- describe the enhanced team environment by removing the risk of unintentionally modifying another programmer’s code (d)
- identify how the operator() method was used in two separate instances (ei)
- identify it was used on lines 3 and 8 (ei)
- identify the different data types (int and string) being used differently, but called from the same method (ei)
- include a loop counter based on n (eii)
- use both the int n and string str1 parameters (eii)
- return a string result (eii).
Areas for students to improve include:
- using the question to determine what aspects of object-oriented programming are needed in their response, for example, the questions stated that characters in the game move through a fantasy world, collect items, perform tasks and interact with other characters, hence all of these are actions and hence require methods (a)
- the need to include A<>B in the rule (bi)
- ensuring that variables are in the correct order, for example, manager(A,C) not manager(C,A) (bi)
- understanding the difference between a query that would yield a Boolean result such as true and a query that would yield a value result, for example, sam (bii)
- understand that it is possible to get more than one result (bii)
- finding both responses, not just one of the responses, that is sam or tracey (bii)
- providing more detailed descriptions of each paradigm, that is, logic is not just ‘facts and rules’ (c)
- avoiding the connection to modularisation as a benefit to programmers (d)
- realising that users are not part of the programming process and this particularly relates to encapsulation (d)
- knowing that polymorphism relates to methods only (ei)
- knowing that polymorphism involves a method being used differently in two or more situations either with parameters of different data types or a completely different definition for the method (ei)
- being careful to respond using programming language specific syntax (eii)
- remembering to declare an empty string before using it (eii)
- remembering to return the end result (eii).
Question 30
In better responses, students were able to:
- identify features of both Unicode and ASCII (a)
- compare what features of Unicode made it preferable ASCII (a)
- describe the numbers of bits used to store Unicode and ASCII characters (a)
- generalise the situations when the light and siren are on to discrete cases (bi)
- utilise the scenario to describe the truth table, for example, ‘when motion is triggered’ rather than ‘when B is triggered’ (bi)
- create a circuit that matches the given truth table (bii)
- draw clear logic gates (bii)
- create a circuit using Boolean Algebra from the provided truth table (bii)
- create a data stream that included clearly labelled sections such as Fridge Number, Temperature, and that included start and stop bits (ci)
- provide descriptions of the data stream layout and how values are stored, such as 6-bit 2’s complement integer (ci)
- justify the use of the flip flop in the system based on the scenario (cii)
- demonstrate understanding of how the set and reset inputs of the flip-flop would be used (cii)
- calculate the sign, exponent and mantissa correctly and combine them appropriately (di)
- demonstrate a clear approach that addressed each component correctly (di)
- provide clear steps of the conversion process, particularly showing the effect of the exponent on shifting the mantissa (di)
- demonstrate an understanding of the exponent’s position in a floating point number (dii)
- demonstrate an ability to convert binary representation of an exponent into decimal (dii)
- demonstrate that binary uses powers of 2 (dii).
Areas for students to improve include:
- identifying features of ASCII and its limitations such as 7 bits only allows for 127 characters (a)
- identifying that the reason Unicode can store more characters is due to the amount of memory used to store characters (a)
- ensuring that all aspects of a truth table have been considered (bi)
- reading the question which includes describing the situation in terms of the names given to the inputs and outputs (master switch, light etc.), not as letters (A, B, C, X, Y) (bi)
- drawing logic gates clearly (bii)
- understanding the relationship between truth tables and circuit diagrams (bii)
- providing a description of the included components in the data stream (ci)
- ensuring that the data stream includes a header, a data block and a trailer (ci)
- ensuring that all aspects of the data block were represented, for example, including the fridge number in the data block (ci)
- relating the use of the flip flop back to the scenario (cii)
- understand the purpose of a flip-flop in the storage of a single bit (cii)
- ensuring that the leading 1 is included in the mantissa (di)
- remembering to include the negative sign in the final decimal answer (di)
- recognising that the exponent is used to shift the radix point (di)
- reading the stimulus material of the question - there were many hints included that seem to be ignored by some of the students (di)
- recognising that the exponent is NOT represented using sign and modulus (dii)
- carefully reading the requirements of the response to the question, in this question only the exponent was required in the response (dii)
- recognising that an offset of 127 is applied to avoid negative exponents (dii)
- recognising the need to display the resulting decimal number (dii).
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.