Upload
ngonhan
View
213
Download
0
Embed Size (px)
Citation preview
2015 HSC Software Design and Development Marking Guidelines
Section I
Multiple-choice Answer Key
Question Answer
1 C
2 A
3 B
4 D
5 B
6 C
7 B
8 C
9 C
10 A
11 B
12 D
13 A
14 A
15 C
16 D
17 B
18 D
19 B
20 D
ndash 1 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question 21
Criteria Marks
bull Outlines two relevant reasons 2
bull Provides one relevant reason 1
Sample answer
bull Correct previously undetected errors
bull Implement new requirements due to changes in the clientrsquos circumstances
Question 22
Criteria Marks
bull Clearly describes method(s) for testing a completed program before its release
4
bull Outlines how a completed program can be tested 3
bull Outlines a way in which software can be tested 2
bull Identifies a feature of software testing 1
Sample answer
Test in the userrsquos computing environment in the form of a beta testing involving a significant number of testers This could ensure that the program is tested with real live data that is unavailable in the developerrsquos environment
Load testing could also be used where multiple users access the program at once to see if the program can handle the amount of requests from each user
ndash 2 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 23 (a)
Criteria Marks
bull Provides a comprehensive list of the information required 3
bull Lists some information required 2
bull Identifies a feature of library routines or documentation 1
Sample answer
The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it
Question 23 (b)
Criteria Marks
bull Provides a substantially correct algorithm that achieves the purpose 4
bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3
bull Provides some features of the algorithm 2
bull Demonstrates some understanding of the problem 1
Sample answer
BEGIN FindLetter total = 0 FOR loop = 1 TO 20
CharTally(Students(loop) ldquo f rdquo num) total = total + num
NEXT loop display total END
Question 24
Criteria Marks
bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3
bull Shows some understanding of runtime andor logic errors 2
bull Identifies a feature of runtime or logic errors 1
Sample answer
Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output
ndash 3 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 25
Criteria Marks
bull Clearly explains why free updates are provided 3
bull Outlines reason(s) for updates 2
bull Identifies a reason for updates 1
Sample answer
Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers
Question 26
Criteria Marks
bull Provides an algorithm that correctly addresses both issues 4
bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)
2ndash3
bull Demonstrates a basic understanding of how one of the issues can be addressed 1
Sample answer
BEGIN Get MemberID
Found = False Counter = 0 WHILE Found = False AND Counter lt 200
Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN
Found = True END IF ENDWHILE
IF Found THEN Display Members(Counter)Name
ELSE Display ldquoInvalidIDrdquo ENDIF END
ndash 4 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 27
Criteria Marks
bull Outlines effects on software development 3
bull Identifies effects on software development
OR
bull Outlines an effect on software development
2
bull Identifies one effect on software development 1
Sample answer
Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate
Question 28 (a)
Criteria Marks
bull Provides strengths andor weaknesses of both development approaches in relation to the system
4
bull Provides strengths andor weaknesses of both development approaches
OR
bull Provides strengths andor weaknesses of one of the development approaches in relation to the system
3
bull Identifies features of prototyping andor rapid application development 2
bull Identifies a feature of prototyping or rapid application development 1
Sample answer
Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs
RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing
ndash 5 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question 21
Criteria Marks
bull Outlines two relevant reasons 2
bull Provides one relevant reason 1
Sample answer
bull Correct previously undetected errors
bull Implement new requirements due to changes in the clientrsquos circumstances
Question 22
Criteria Marks
bull Clearly describes method(s) for testing a completed program before its release
4
bull Outlines how a completed program can be tested 3
bull Outlines a way in which software can be tested 2
bull Identifies a feature of software testing 1
Sample answer
Test in the userrsquos computing environment in the form of a beta testing involving a significant number of testers This could ensure that the program is tested with real live data that is unavailable in the developerrsquos environment
Load testing could also be used where multiple users access the program at once to see if the program can handle the amount of requests from each user
ndash 2 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 23 (a)
Criteria Marks
bull Provides a comprehensive list of the information required 3
bull Lists some information required 2
bull Identifies a feature of library routines or documentation 1
Sample answer
The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it
Question 23 (b)
Criteria Marks
bull Provides a substantially correct algorithm that achieves the purpose 4
bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3
bull Provides some features of the algorithm 2
bull Demonstrates some understanding of the problem 1
Sample answer
BEGIN FindLetter total = 0 FOR loop = 1 TO 20
CharTally(Students(loop) ldquo f rdquo num) total = total + num
NEXT loop display total END
Question 24
Criteria Marks
bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3
bull Shows some understanding of runtime andor logic errors 2
bull Identifies a feature of runtime or logic errors 1
Sample answer
Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output
ndash 3 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 25
Criteria Marks
bull Clearly explains why free updates are provided 3
bull Outlines reason(s) for updates 2
bull Identifies a reason for updates 1
Sample answer
Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers
Question 26
Criteria Marks
bull Provides an algorithm that correctly addresses both issues 4
bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)
2ndash3
bull Demonstrates a basic understanding of how one of the issues can be addressed 1
Sample answer
BEGIN Get MemberID
Found = False Counter = 0 WHILE Found = False AND Counter lt 200
Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN
Found = True END IF ENDWHILE
IF Found THEN Display Members(Counter)Name
ELSE Display ldquoInvalidIDrdquo ENDIF END
ndash 4 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 27
Criteria Marks
bull Outlines effects on software development 3
bull Identifies effects on software development
OR
bull Outlines an effect on software development
2
bull Identifies one effect on software development 1
Sample answer
Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate
Question 28 (a)
Criteria Marks
bull Provides strengths andor weaknesses of both development approaches in relation to the system
4
bull Provides strengths andor weaknesses of both development approaches
OR
bull Provides strengths andor weaknesses of one of the development approaches in relation to the system
3
bull Identifies features of prototyping andor rapid application development 2
bull Identifies a feature of prototyping or rapid application development 1
Sample answer
Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs
RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing
ndash 5 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 23 (a)
Criteria Marks
bull Provides a comprehensive list of the information required 3
bull Lists some information required 2
bull Identifies a feature of library routines or documentation 1
Sample answer
The programmer will need to know what the routine achieves and how it is to be called ndash this includes its name and the number type order and purpose of parameters passed to it and returned from it
Question 23 (b)
Criteria Marks
bull Provides a substantially correct algorithm that achieves the purpose 4
bull Demonstrates some understanding of the use of CharTally AND at least one of arrays looping or accumulation 3
bull Provides some features of the algorithm 2
bull Demonstrates some understanding of the problem 1
Sample answer
BEGIN FindLetter total = 0 FOR loop = 1 TO 20
CharTally(Students(loop) ldquo f rdquo num) total = total + num
NEXT loop display total END
Question 24
Criteria Marks
bull Clearly indicates how the effects of runtime and logic errors are different and provides an example of each type of error 3
bull Shows some understanding of runtime andor logic errors 2
bull Identifies a feature of runtime or logic errors 1
Sample answer
Runtime errors (such as division by zero) cause a software application to terminate unexpectedly A logic error (such as an incorrect formula) will not crash the software but will produce incorrect output
ndash 3 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 25
Criteria Marks
bull Clearly explains why free updates are provided 3
bull Outlines reason(s) for updates 2
bull Identifies a reason for updates 1
Sample answer
Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers
Question 26
Criteria Marks
bull Provides an algorithm that correctly addresses both issues 4
bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)
2ndash3
bull Demonstrates a basic understanding of how one of the issues can be addressed 1
Sample answer
BEGIN Get MemberID
Found = False Counter = 0 WHILE Found = False AND Counter lt 200
Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN
Found = True END IF ENDWHILE
IF Found THEN Display Members(Counter)Name
ELSE Display ldquoInvalidIDrdquo ENDIF END
ndash 4 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 27
Criteria Marks
bull Outlines effects on software development 3
bull Identifies effects on software development
OR
bull Outlines an effect on software development
2
bull Identifies one effect on software development 1
Sample answer
Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate
Question 28 (a)
Criteria Marks
bull Provides strengths andor weaknesses of both development approaches in relation to the system
4
bull Provides strengths andor weaknesses of both development approaches
OR
bull Provides strengths andor weaknesses of one of the development approaches in relation to the system
3
bull Identifies features of prototyping andor rapid application development 2
bull Identifies a feature of prototyping or rapid application development 1
Sample answer
Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs
RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing
ndash 5 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 25
Criteria Marks
bull Clearly explains why free updates are provided 3
bull Outlines reason(s) for updates 2
bull Identifies a reason for updates 1
Sample answer
Software developers may provide free updates in order to gain customer loyalty and acquire a larger market share Also updates are a way of overcoming identified weaknesses in their software so as not to harm their reputation This service may also be expected by their customers
Question 26
Criteria Marks
bull Provides an algorithm that correctly addresses both issues 4
bull Demonstrates some understanding of how to use a flag andor a counter andor a loop andor a selection andor features of equivalent merit to address the issue(s)
2ndash3
bull Demonstrates a basic understanding of how one of the issues can be addressed 1
Sample answer
BEGIN Get MemberID
Found = False Counter = 0 WHILE Found = False AND Counter lt 200
Counter = Counter + 1 IF MemberID = Members(Counter)ID THEN
Found = True END IF ENDWHILE
IF Found THEN Display Members(Counter)Name
ELSE Display ldquoInvalidIDrdquo ENDIF END
ndash 4 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 27
Criteria Marks
bull Outlines effects on software development 3
bull Identifies effects on software development
OR
bull Outlines an effect on software development
2
bull Identifies one effect on software development 1
Sample answer
Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate
Question 28 (a)
Criteria Marks
bull Provides strengths andor weaknesses of both development approaches in relation to the system
4
bull Provides strengths andor weaknesses of both development approaches
OR
bull Provides strengths andor weaknesses of one of the development approaches in relation to the system
3
bull Identifies features of prototyping andor rapid application development 2
bull Identifies a feature of prototyping or rapid application development 1
Sample answer
Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs
RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing
ndash 5 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 27
Criteria Marks
bull Outlines effects on software development 3
bull Identifies effects on software development
OR
bull Outlines an effect on software development
2
bull Identifies one effect on software development 1
Sample answer
Developers are forced to consider how their interfaces will function on a variety of screen sizes They will also need to allow for a range of internet connection speeds for the mobile devices The variety of devices also forces developers to consider the different operating systems they may have to accommodate
Question 28 (a)
Criteria Marks
bull Provides strengths andor weaknesses of both development approaches in relation to the system
4
bull Provides strengths andor weaknesses of both development approaches
OR
bull Provides strengths andor weaknesses of one of the development approaches in relation to the system
3
bull Identifies features of prototyping andor rapid application development 2
bull Identifies a feature of prototyping or rapid application development 1
Sample answer
Prototyping is applicable to the USB Kiosk project because it will involve prospective users providing feedback on early working models particularly with respect to the interface This has the advantage of ensuring that the final interface design is more likely to meet user needs
RAD is applicable for the project as many of the processes involved such as credit card transactions will already exist in similar products and may have been well tested The reuse of the code will reduce the amount of time needed to be spent on coding and testing
ndash 5 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 28 (b)
Criteria Marks
bull Provides a substantially correct storyboard 3
bull Provides a storyboard that incorporates some features of the interface 2
bull Identifies some features of storyboarding 1
Sample answer
Question 29 (a)
Criteria Marks
bull Shows a good understanding of the purpose 2
bull Shows some understanding of the purpose 1
Sample answer
The Main module enables the user to see and make choices from the menu and then to access the veg amp meat modules repeatedly until deciding to lsquofinishrsquo whereupon the total is displayed
ndash 6 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 29 (b)
Criteria Marks
bull Provides an explanation of the purpose of the stubs in developing the 3 program
bull Outlines a function of the stubs
OR 2
bull Identifies some functions of the stubs
bull Shows some understanding of the problem 1
Sample answer
Stubs provide a way of testing the operation or navigation of a solution without having to fully develop modules In this algorithm the stub modules enable the testing of the logic in the main module using output statements Stubs also enable checking of parameter passing In this algorithm the stubs provide values for passed parameters such as VegPrice amp MeatPrice and Total
Question 29 (c)
Criteria Marks
bull Provides a substantially correct structure chart 4
bull Provides a structure chart that addresses the main parts of the algorithm using substantially correct symbols 3
bull Provides a diagram that addresses part of the problem using some correct structure chart symbols 2
bull Identifies a feature of structure charts
OR 1
bull Shows some understanding of the problem
Sample answer
ndash 7 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 30 (a)
Criteria Marks
bull Provides a reason for using arrays of records in the scenario 2
bull Identifies a feature of arrays of records 1
Sample answer
The fields store different types of data about the cars Each car is stored in a different record (hence array of records) Records are required for the cars because the fields have different data types for example string for Model and Integer for year of manufacture
Question 30 (b)
Criteria Marks
bull Provides argument(s) for andor against sorting the data 3
bull Identifies points for andor against sorting the data
OR 2
bull Outlines a point for or against sorting the data
bull Identifies a point for or against sorting the data 1
Sample answer
Even though searching can be more efficient using a binary search on sorted data searches in this database will often be on combinations of fields so sorting on one of them will not speed up the process or provide any benefits If we were to sort this array of records we would only be able to sort one field Which one field would be most appropriate There are none that are more relevant than the others
Question 31 (a)
Criteria Marks
bull Provides a substantially correct deskcheck 3
bull Provides a partially correct deskcheck 2
bull Identifies a feature of the deskcheck process 1
Sample answer Deskcheck
SerialNumber Counter Valid Display
1k3 FALSE
2 TRUE
3 FALSE
4 TRUE
5 FALSE FALSE
ndash 8 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (b)
Criteria Marks
bull Modifies the algorithm so that it is substantially correct 3
bull Makes at least one relevant change to the algorithm 2
bull Identifies an error in this algorithm 1
Sample answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo) AND (Serial(5) is ldquordquo) THEN
FOR Counter = 2 to 4
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
NEXT Counter
ELSE
Valid = False
ENDIF
Display Valid END
Alternate answer
BEGIN
Input SerialNumber and store in Serial( )
Valid = True
IF (Length of SerialNumber is 5) AND (Serial(1) is ldquordquo)
Counter = 2
WHILE Counter lt= 4 AND Valid = True
IF Serial(Counter) is NOT a digit THEN
Valid = False
ENDIF
Counter = Counter + 1
END WHILE
ELSE
Valid = False
ENDIF
IF (Serial(5) is not ldquordquo) THEN
Valid = False
END IF
Display Valid
END
ndash 9 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 31 (c)
Criteria Marks
bull Provides a list of test data that can be used to identify the different possible errors 3
bull Includes justification for each item
bull Provides some relevant test data with some justification 2
bull Identifies a feature of test data 1
Sample answer
Item Test the case where 1234 the string is too long
123 the 1st character is not
123 the 5th character is not
a23 a character is not a digit 12 the string is too short
ndash 10 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 32
Criteria Marks
bull Provides a substantially correct algorithm that uses appropriate control and data structures 4
bull Provides an algorithm that addresses some aspects of the problem using appropriate control and data structures 3
bull Provides an algorithm that shows some understanding of data structures ANDOR control structures 2
bull Shows some understanding of the problem 1
Sample answer
1 BEGIN DealCards
2 FOR A = 0 TO 6
3 Player1(A + 1) = Cards(A 4 + 1)
4 Player2(A + 1) = Cards(A 4 + 2)
5 Player3(A + 1) = Cards(A 4 + 3)
6 Player4(A + 1) = Cards(A 4 + 4)
7 NEXT A
8 END
ndash 11 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section III
Question 33 (a)
Criteria Marks
bull Provides points for andor against the use of the paradigms in the scenario 4
bull Provides points for andor against the paradigms
OR
bull Provides points for andor against ONE paradigm with reference to the scenario
3
bull Identifies features or reasons for the suitability of the object oriented andor logic paradigms
OR
bull Shows some understanding of ONE paradigm with reference to the scenario
2
bull Identifies a feature or suitability of the object oriented paradigm OR the logic paradigm
1
Sample answer
The logic paradigm provides facts and rules where the developer is not required to design how they are met Facts would be suitable in this scenario for stating the prerequisite conditions for the activities and the studentrsquos interests whilst rules could be used to determine whether students have met the prerequisites and suggest further activities
Object oriented would be appropriate for developing the user interface and the actual activities themselves The types (or genres) of activities could be set as classes and the different levels of activities within these classes could be developed as subclasses which would then make use of inheritance and polymorphism to make coding faster through reusability of code
Question 33 (b)
Criteria Marks
bull Outlines when heuristics are appropriate AND provides a relevant example 2
bull Identifies a feature of heuristics 1
Sample answer
Heuristics are criteria or principles for deciding which among several alternative courses of action promises to be the most effective in order to achieve some goal
Heuristics are also called ldquorules of thumbrdquo which employ fuzzy logic to determine the optimal path to take in order to reach a resolution This is particularly useful when the algorithm to determine the results is not known and requires the use of probability
Virus scanning software often use heuristics for detecting viruses and other types of malware As many new viruses are unknown heuristic scanning is used to look for tellminustale signs of viruses
ndash 12 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (c) (i)
Criteria Marks
bull Correctly extends the code 2
bull Shows an understanding of logic paradigm facts 1
Sample answer
salary(ling 50001)
employer(ling kim)
Question 33 (c) (ii)
Criteria Marks
bull Shows correct result with valid reasoning 2
bull Provides some relevant information 1
Sample answer
An employee is considered valuable if they have an employer and also earn a salary over $50000 Hence the statement valuable_employee (E ) will evaluate to ldquoalrdquo and ldquokimrdquo
It evaluates to ldquoalrdquo because he is employed by ldquojayrdquo and has a salary of $51000
It evaluates to ldquokimrdquo because she is employed by ldquojayrdquo and has a salary of $56000
If the facts from the above question were included then ldquolingrdquo would also be evaluated as a valuable employee
ndash 13 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (i)
Criteria Marks
bull Correctly explains how polymorphism and inheritance can be used for this scenario 4
bull OR
Outlines how polymorphism OR inheritance can be used
3
bull Outlines features of both concepts
bull Identifies features of polymorphism andor inheritance 2
bull Provides some relevant information 1
Sample answer
Inheritance is the ability of objects to take on the characteristics (methods and attributes) of their parent class or classes This encourages modularity and robust code
Polymorphism is the ability of methods to appear in many forms In object oriented programming this means at runtime a method can process data differently depending on the circumstances The same command can process objects differently depending on their data type class or number of parameters
This means that inheritance and polymorphism both relate to classes and their subclasses In this scenario a subclass such as the following could be added
class SpecialisedComponent
is a Component
Inheritance would then be able to be used in this software as this subclass would have each attribute and method of the parent class Component
Polymorphism can also be used in the development of this software as some methods in the SpecialisedComponent class would have the same name as the corresponding method in the superclass but would be calculated differently
ndash 14 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (d) (ii)
Criteria Marks
bull Provides a substantially correct method 3
bull Identifies some features of the cost() method 2
bull Identifies a feature of the cost() method 1
Sample answer
class Engine
is a Component
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquostandard enginerdquo THEN
components[ i ]cost() = 2000
END IF
NEXT i
class V8Engine
is a Engine
public ndash
cost()
FOR i = 1 TO number of components
IF components[ i ]type() = ldquoV8 enginerdquo THEN
components[ i ]cost() = 2800
END IF
NEXT i
ndash 15 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 33 (e)
Criteria Marks
bull Explains the consequences of the error AND shows how to correct the error 3
bull Outlines consequence(s) ANDOR outlines how to correct the error 2
bull Identifies the error or a consequence 1
Sample answer
Encapsulation is the process of including all the attributes and procedures that an object needs within the object itself It involves hiding an objectrsquos data and processes from its environment meaning that only the object can alter its own data
In this section of code the sort() and swap() methods are in the public section of the SortedArray class which allows them to be accessed by modules from outside of the class This compromises the encapsulation of the methods as it means that there is no longer a guarantee that the array will always be in sorted order
This error can be fixed by moving these two methods into the private section of the method
Question 34 (a)
Criteria Marks
bull Provides correct working 2
bull Identifies a feature of binary multiplication 1
Sample answer
Question 34 (b)
Criteria Marks
bull Outlines relevant benefit(s) 2
bull Identifies a feature of 2rsquos complement 1
Sample answer
The 2rsquos complement representation allows the largest possible range of both negative and positive integers as well as enabling their subtraction by adding complements (negatives)
ndash 16 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (c) (i)
Criteria Marks
bull Correctly describes what is achieved 3
bull Shows some understanding of hexadecimal to binary conversion and provides some interpretation of the data stream 2
bull Provides some relevant information 1
Sample answer
The tool moves to X = 45 Y = 16 without cutting
Working
D
1101
11 0
START TOOL
6
0110
10 1101
X = 45
A
1010
010000
Y = 16
0
0000
0
STOP
Question 34 (c) (ii)
Criteria Marks
bull Provides a substantially correct data stream 3
bull Provides a partially correct data stream
OR 2
bull Shows some understanding of how to work out the data stream
bull Shows an understanding of the problem 1
Sample answer
1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 0
1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0
ndash 17 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (d)
Criteria Marks
bull Identifies all THREE components and outlines how to represent ndash75 in floating point notation 4
bull Identifies at least TWO components and shows some steps for how to represent ndash75 in floating point notation 3
bull Identifies at least ONE component and shows some understanding of how to represent a decimal fraction in floating point notation
OR 2
bull Identifies all THREE components
bull Identifies a feature of floating point notation 1
Sample answer
The three components are sign bit exponent and mantissa
The sign bit is 1 because ndash75 is negative
1111 = 1111 times 22
So the exponent is the binary equivalence of 127 + 2 (the index)
The mantissa is the three ones after the point followed by 20 zeros to fill the 23 bits
Question 34 (e) (i)
Criteria Marks
bull Draws a substantially correct truth table 3
bull Draws a partially correct truth table 2
bull Shows some understanding of the problem 1
Sample answer
Key Door Lights Alarm
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
ndash 18 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Question 34 (e) (ii)
Criteria Marks
bull Draws a correct circuit 3
bull Solves part of the problem 2
bull Shows some understanding of the problem 1
Sample answer
ndash 19 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
2015 HSC Software Design and Development Mapping Grid
Section I
Question Marks Content Syllabus outcomes
1 1 921 Needs of client H41 H61
2 1 922 Screen elements H64
3 1 921 Documentation H52
4 1 911 Intellectual property H31
5 1 925 Maintenance documentation H52 H61
6 1 922 Pseudocode output H43
7 1 911 Inclusivity H32 H64
8 1 912 Implementation methods H63
9 1 922 Data types purpose H12
10 1 93 Project management H62
11 1 922 Flowchart control structures H51
12 1 922 Flowchart output H43
13 1 923 Fetchexecute cycle H11
14 1 923 Metalanguages H21
15 1 911 Reverse engineering H31
16 1 922 Completing an algorithm H53
17 1 922 Sort types H12
18 1 922 Replacing a WHILE loop H42
19 1 922 Data types in an array H13
20 1 924 Driver to test module H53
ndash 20 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash
BOSTES 2015 HSC Software Design and Development Marking Guidelines
Section II
Question Marks Content Syllabus outcomes
21 2 925 Reasons for maintenance H51
22 4 924 Describe the types of testing H42
23 (a) 3 922 Documentation for library routine H42
23 (b) 4 922 Use documented subroutines in an algorithm H61
24 3 923 Runtime errors H11
25 3 911 SW market H31
26 4 922 Linear search for a unique element H42
27 3 912 Trends in software development H22
28 (a) 4 912 Development Approaches H12
28 (b) 3 921 System modelling tool H64
29 (a) 2 922 Algorithm module interpretation H41
29 (b) 3 923 Use of stubs H53
29 (c) 4 921 Structure Chart H63
30 (a) 2 921 Array of records H42
30 (b) 3 922 Planning and designing a solution (sorting) H42 H43
31 (a) 3 922 Desk checking H42
31 (b) 3 922 Error correction H42
31 (c) 3 922 Test data H42
32 4 923 Algorithm design H42
Section III
Question Marks Content Syllabus outcomes
33 (a) 4 941 Justify paradigms H12 H21 H41
33 (b) 2 941 Heuristics H12 H41
33 (c) (i) 2 941 Modify logic fragment H12 H42
33 (c) (ii) 2 941 Interpret logic code H12 H42
33 (d) (i) 4 941 Polymorphism and inheritance H12 H42
33 (d) (ii) 3 941 Modify OOP fragment H12 H42
33 (e) 3 941 Encapsulation H42
34 (a) 2 942 Binary arithmetic H13
34 (b) 2 942 2rsquos complement H13
34 (c) (i) 3 942 Interpretation of data stream H11
34 (c) (ii) 3 942 Generate data stream H11
34 (d) 4 942 Floating point representation H13
34 (e) (i) 3 942 Truth table H11
34 (e) (ii) 3 942 Circuit design H11
ndash 21 ndash