Software Design and Development 2023 HSC exam pack (archive)
2023 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.
- correctly use subject specific terms as appropriate
- recognise that examples provided in questions are there to clarify the requirements of the question and illustrate the general form of the data. Student designed algorithms, diagrams and metalanguage solutions should be able to process general data of this type, and the given data examples may not be specific input that need to be processed.
Question 21
In better responses, students were able to:
- use examples to support the answer, such as evolutionary and concept prototypes
- demonstrate the role of client involvement in prototyping
- describe the role of prototyping with clients who are users of ideas.
Areas for students to improve include:
- understanding the difference between agile and prototyping approaches
- using subject specific terminology such as evolutionary and concept prototypes
- understanding the features of prototypes and prototyping and the relationship to the development of software.
Question 22
In better responses, students were able to:
- describe communication strategies used in two or more stages of the software development cycle
- use subject specific terminology for the stages. For example, ‘share interfaces in the design phase’
- use communication strategies relevant to all stages. For example, ‘seeking client specifications to avoid errors’.
Areas for students to improve include:
- revising the stages of the software development cycle
- using communication examples that relate to stages of the software development cycle
- planning responses and being succinct.
Question 23
In better responses, students were able to:
- provide TWO separate reasons for the importance of security with the database in context (a)
- identify that privacy of personal data was a major concern (a)
- identify altered or deleted data as an issue (a)
- identify issues with online vs offline databases (a)
- use the correct symbols for the scenario (b)
- draw a system flowchart that represents the logic of the system with a clear structure (b)
- draw a system flowchart that represents the authentication process (b)
- draw appropriate symbols for a system flowchart (b)
- relate their flowchart to the scenario (b).
Areas for students to improve include:
- providing reasons for increased security that are unrelated, such as data privacy and issues that are a consequence of private data leaks (a)
- discussing the privacy of data and the impacts on the organisation (a)
- providing reasons why security is important (a)
- learning the correct symbols for types of diagrams (b)
- ensuring the answer has a logical flow (b)
- recognising that validation of username and password needs comparison to data previously stored (b).
Question 24
In better responses, students were able to:
- outline TWO specific issues of the outsourced application in relation to the suite of applications
- provide a specific issue or problem about the application caused by outsourcing.
Areas for students to improve include:
- recognising factors that can contribute to maintenance challenges, inconsistencies in user interfaces, interoperability or compatibility issues of one application within a suite, and how these might occur in a partially outsourced project.
Question 25
In better responses, students were able to:
- show clear links between a software feature and the effect on the market share
- provide a detailed explanation of at least two specific features that developers include or provide in their software to dominate their market share.
- refer to examples of features like interoperability of applications, forcing users to use the dominant developer’s software.
Areas for students to improve include:
- addressing software features instead of business or marketing strategies.
Question 26
In better responses, students were able to:
- provide clear reasons for the need for the two ‘Read’ statements in relation to the algorithm (a)
- correctly identify reasons why the code is easy to maintain (b)
- provide examples from the algorithm (b).
Areas for students to improve include:
- showing an understanding of the purpose of Read statements (a)
- recognising there is a difference between maintenance and testing/debugging (b)
- providing examples from the algorithm to support the answer (b).
Question 27
In better responses, students were able to:
- provide an interface that used appropriate screen design elements with data validation elements, such as date and time pickers, radio buttons and a button to complete the booking (a)
- provide meaningful annotations or clarifying statements
- position the elements and use the whitespace appropriately (a)
- separate the scenario logically and correctly order the modules from left to right with appropriate use of parameters including control parameters
- demonstrate a clear analysis using a modular approach to the scenario (b)
- link to the scenario, identify and describe distinct quality assurance criteria.
Areas for students to improve include:
- indicating the appropriate design element used by providing clear annotations
- recognising the need to consider that the booking scenario was for an online form which required a submit button (or a way to submit the booking)
- revising the components of a structure chart
- ensuring responses link back to the scenario. For example, ‘calculate the cost of parking correctly’.
Question 28
In better responses, students were able to:
- translate the algorithms control and data structures to complete the trace table
- manage the space in the desk check table and use clear rows and annotations
- interpret ‘Q’ as being a sentinel value
- use line numbers in identifying errors.
Areas for students to improve include:
- completing trace tables using test data
- using control and data structures and the role they play in desk checking
- aligning the test data into rows
- identifying logic and runtime errors.
Question 29
In better responses, students were able to:
- address all components and terms possible for a valid ‘Expression’ as demonstrated by the given examples, including the ability to have a single-digit (or variable) term and an optional decimal point which must be followed by at least one digit
- move redundant railroad components into their own definition. For example, defining a Number or Numerical Value to account for an optional decimal place with at least one digit before and after the decimal point.
Areas for students to improve include:
- using clear and acceptable railroad diagram connections and endpoints
- testing all provided examples of valid expressions against their railroad diagrams to identify errors or missing definitions.
Question 30
In better responses, students were able to:
- plan and clearly structure their algorithms
- use sub-routines to display the other screens
- treat ‘ButtonClick’ as an index or parameter for screens
- address all of the features required in the question, including using ‘ButtonClick’, reading the values 1-4, displaying appropriate screens and quitting when a 9 is detected
- use a loop to continually gather new values for variables.
Areas for students to improve include:
- using the names of variables provided in the question
- understanding the context of the question, as some candidates were allocating values to ‘ButtonClick’, not reading the value
- using loops correctly
- reading input values inside loops.
Question 31
In better responses, students were able to:
- clearly structure their answers and relate linking libraries and object files
- provide clear reasoning in their responses.
Areas for students to improve include:
- expressing an in-depth knowledge of the compilation process and the impact linking has on the operation of coded solutions.
Question 32
In better responses, students were able to:
- write THREE different test data values (a)
- write a clear reason for choosing the data (a)
- use the information given in the stimulus (b)
- use the library routines given in the stimulus (b)
- use the arrays given in the stimulus (b)
- create user friendly messages (b).
Areas for students to improve include:
- learning that the term ‘different’ means the student must choose different values (a)
- understanding the meaning of ‘extract’ in the context of string processing (b)
- understanding the meaning of ‘value’ when using a function to change to numeric data types (b)
- learning the correct structure of algorithms (b).
Question 33
In better responses, students were able to:
- provide both facts in the format given in the question (ai)
- provide the rule using variables and reversing variables in each fact (aii)
- articulate that the imperative paradigm required more hardcoding, sequential processing, or creation of variables, and that accommodating for every outcome was cumbersome (aiii)
- explain that logic paradigms processed queries using an inference engine in combination with chaining (aiii)
- articulate the benefit of instantiation and support with an example, such as, spawning multiple enemies in a game (b)
- explain programming productivity methods, for example, approach to testing, ease of maintenance, learning curve, nature of the problem, adaptability to the rest of the program (c)
- recognise the relevance of inheritance to the structure of the classes, as well as the use of methods and polymorphism for the dogs' behaviours (d)
- explain a goal of having the robot reach its destination and the heuristics involved in the decision making to accurately accomplish the goal (e)
- refer to the concepts of goals and heuristics separately (e).
Areas for students to improve include:
- following the syntax for a fact and not inventing facts without explanation of where they came from (ai)
- distinguishing the names of the cities not as variables but predicates. Some students assumed ‘a_city’ ‘b_city’ were not proper names but variables and/or forgot the variables in the beginning of the rule. For example, ‘Better_City :-’ should be ‘Better_City(X, Y) :- ‘ (aii)
- explaining knowledge bases, expert systems, or inference engines including clearly outlining imperative weaknesses (aiii)
- including benefits of inheritance with relevant examples (b)
- describing the factors surrounding the choice between all three paradigms in terms of the nature of the problem and programmer productivityand addressing more precise factors rather than just time, cost and resources (c).
Question 34
In better responses, students were able to:
- correctly convert between number systems (a)
- provide all aspects of the response by performing the calculation correctly, in binary, showing working and indicating where shifting occurred (b)
- give examples of small and large numbers as evidence, correctly identify the range of values that could be represented by integers or floats (c)
- use a truth table to support their response and provide a simple, correct circuit (d)
- provide an annotated diagram of the flip-flop that relates to the scenario (ei)
- provide the correct binary numbers, in the correct order, using the correct number of bits (eii)
- include all the components that the question required, using clear variable names and use standard control structures (eiii).
Areas for students to improve include:
- recognising that the first column of the item table is in hexadecimal (a)
- ensuring the conversion is to the correct base (a)
- indicating where the shifting was occurring (b)
- ensuring the whole question is addressed by showing necessary working for a binary multiplication and showing where the shifting occurred (b)
- addressing the whole question by providing a comparison of the methods for both large and small numbers, recognising that in this context ‘small’ means between –1 and +1, indicating the effect of having an exponent (and mantissa) on the range of numbers that can be represented (c)
- knowing the correct symbol for each gate as well as its effect on the inputs (d)
- identifying that a flip flop is a device used to store a single bit (ei)
- ensuring the response matches the question by providing binary numbers with the correct number of bits and in the correct order (eii)
- using the provided functions correctly rather than attempt to create their own (eiii).
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.