Software Design and Development 2018 HSC exam pack (archive)
2018 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:
- be familiar with the Software Design and Development Course Specifications document
- be able to produce common algorithmic structures given a scenario
- clearly label answers written in extra writing books
- be familiar with all of the diagrams and charts and how to apply them to given scenario
- answer all questions to the ONE option studied at school
- develop algorithms using data structures such as array, record, array of records, file processing.
Question 21
In better responses, students were able to:
- clearly identify and outline issues associated with the scenario (a)
- provide clear reasoning for the selected software development approach (b)
- provide clear reasoning for the selected installation method (c).
Areas for students to improve include:
- describing a variety of issues relating to the scenario (a)
- elaborating on their reasoning when justifying reasons (c).
Question 22
In better responses, students were able to:
- perform a desk check with clear tracking of variable values and showing a trace of the logic of the algorithm (a)
- note the infinite loop (a)
- provide a specific and clear application of breakpoints and single line stepping to the given algorithm (b)
- rectify the infinite loop in the algorithm by either modifying the end condition for the loop, or decoupling the start variable from the loop counter; commonly by creating a new variable (c).
Question 23
In better responses, students were able to:
- give multiple examples of project management techniques with good descriptions for each (a)
- relate to the given scenario with emphasis of “several projects” (a)
- state the purpose and content for BOTH types of documentation (b)
- clearly describe that collecting and acting on information from users would ensure better user satisfaction (c).
Areas for students to improve include:
- showing an understanding of the difference between software development and project management (a)
- understanding that a ‘reference manual’ is a type of user documentation (b)
- showing an understanding of quality assurance, and communication issues between the client and developer (c).
Question 24
In better responses, students were able to:
- correctly swap all the numbers either side of the diagonal and leave the 5 and 6 in place as they were not moved (a)
- correctly loop through the array, recognising that the outer loop should be columns, and the inner loop, rows (b)
- locate the code efficiently at line 101 and initialised the maximum using the first value in the column (b).
Areas for students to improve include:
- familiarity with common algorithmic structures such as finding the maximum element in an array (a)
- properly applying the use of line numbers when modifying code. For example, writing “between 100 and 110” is fine, as is starting at line 101. Some students wrote “line 100” and it wasn’t clear if their code was replacing line 100 (b).
Question 25
In better responses, students were able to:
- state a benefit and then explain why it is a benefit. For example, allows for updating of requirements so thatthe developer does not produce redundant code, allowing an increase in the efficiency of the development process
- outline multiple, distinct benefits with justification for each.
Areas for students to improve include:
- justifying the benefit that is listed in the response
- including benefits that are significant and relate to the software (development, installation, usability and quality)
- providing more than one benefit
- avoiding repetition of the same benefit in a different way.
Question 26
In better responses, students were able to:
- demonstrate understanding of the syllabus content related to system testing including load testing and mix of transaction types to prevent the issue from occurring
- differentiate between high numbers of users and large amounts of data.
Areas for students to improve include:
- proposed solutions for fixing the problem instead of focusing on testing techniques
- ensuring that the testing techniques provided were distinct.
Question 27
In better responses, students were able to:
- succinctly provide reasons for each issue. This question lends itself to an answer utilising dot points
- refer to the rules as outlined in the EBNF to show the illegality. For example, A is not a legal identifier as it does not include a digit on the end.
Areas for students to improve include:
- locating all of the valid syntax errors in the program
- explaining why each error listed is syntax error for the given language.
Question 28
In better responses, students were able to:
- describe the use of records within an array (a)
- use structure chart symbols correctly (b).
Areas for students to improve include:
- using control parameters correctly, and carefully considering parameter direction in structure charts (b)
- presenting all logic in an algorithm, for example, by providing a loop to step through each character in a string to ensure it is a letter. See Page 63 of the Software Design and Development Course Specifications document for a relevant example (c)
- carefully checking the logic when multiple conditions are used to determine if a loop should exit (c).
Question 29
In better responses, students were able to:
- describe each step of the translation process in-depth, using correct terminology
- show an understanding of what occurs in each process
- make good reference the question and the given statement
- refer to the given statement.
Areas for students to improve include:
- giving examples of tokens in lexical translation.
Question 30
In better responses, students were able to:
- use a loop to generate 10 passwords, and ensure each password contained a unique number by using 0-9 sequentially rather than the RAND function. It is also possible to incorporate more complex logic to avoid repeated random digits.
Areas for students to improve include:
- recognising that using RAND (0,9) ten times will not guarantee 10 different digits
- using supplied functions, particularly where they have to be nested.
Question 31
In better responses, students were able to:
- discuss some benefits of encapsulation, rather than just name the benefits (a)
- use the code given in the question to assist in writing a full solution to the question. This includes using the notation presented in the question for Y which is not equal to Z (bi)
- use examples of lines from the given code to show the correct evaluation of the rule and provide an answer to the query rather than just a true or false statement (bii)
- use relevant reasons regarding the limitations of the imperative paradigm to present their arguments for the development of both the logic and oriented paradigm (c)
- use examples of why heuristics is used in AI applications (di)
- provide lines of code to produce a new superclass of ball as well as modified code to turn the existing classes into subclasses which would inherit the necessary attributes and methods (ei)
- provide code which could be used to show that a method in one class is different to a method in another class even though the methods had the same name (eii).
Areas for students to improve include:
- demonstrating knowledge of what encapsulation involves, rather than writing about other issues such as inheritance and polymorphism (a)
- showing knowledge of the syntax for the logic paradigm (bii)
- showing knowledge of the difference between forward and backward chaining (bii)
- providing reasons for arguments rather than just using phrases such as, one paradigm being better at performing a task than another with no discussion as to why it is better (c)
- demonstrating knowledge of the types of AI applications that are currently in use (d)
- avoiding simplistic phrases such as “heuristics is a rule of thumb” or “AI is used to appear more human-like” (d)
- realising that inheritance involves both attributes and methods (ei)
- being able to demonstrate understanding of the fact that polymorphism is primarily about methods being evaluated differently, not just attributes being different from one class to another (eii).
Question 32
In better responses, students were able to:
- link the limited number of characters available in ASCII to the number of bits allocated, and provide an additional limitation unrelated to bit size or the number of characters (a)
- recognise that ASCII can only be used for storing text and that other types of data, for example, images, sound, numbers that can be manipulated mathematically, cannot be stored using ASCII (a)
- clearly, correctly and concisely providing the relevant calculations, converting to 2s complementing and explaining the similar results by referring to the limited range of integers that can be expressed in 8 bit 2s complement (b)
- show that the solutions were similar by simplifying the Boolean expression, or by providing two relevant identical truth tables (b)
- organise their explanation such that the similarity was clear for listing the Boolean expression on the same row of the truth table for the circuit diagram (b)
- completing an accurate and complete truth table for a given circuit (c)
- ensuring the values in truth tables are listed systematically (i.e. 000, 001, 010, 011, 100 …) (c)
- complete a correct circuit that included all parts of the problem posed (d)
- show an understanding of this through the analysis of a truth table and simplifying Boolean algebra (d)
- correctly list the contents of the stream AND provide some explanation of why these values were what they were (ei)
- recognise that changes to the number of bits required for the vessel ID require changes to both streams, not just one (eii)
- provide the correct number of extra bits required to accommodate the changes (eii)
- correctly address inputting a stream, isolating the bits required, for example, by using subscripts which pointed to specific data items (eiii)
- account for the fact the bit was a string and could not be used in a calculation without being cast to an integer/number or without using an alternate means of calculating (eiii)
- calculate the pressure as a decimal number and output the result (eiii).
Areas for students to improve include:
- ensuring they explain their answer, rather than listing their response (a)
- showing a breadth of knowledge in all of the limitations of ASCII (a)
- converting the negative decimal to a fixed bit 2s complement representation (b)
- recognising that the number of bits used determines the range of numbers that can be represented (b)
- applying the behaviour of simple gates (AND and OR) to a given problem (d)
- ensuring they fully respond to the question by providing more than an explanation of the meaning of the streams provided in the question (ei)
- identifying the streams to be changed and the impact of increasing the number of bits on the range of possible values that can be stored (eii)
- planning their algorithm and checking that it completes all elements of the question (eiii)
- knowledge of processing a string as an array in an algorithm (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.