1. Home
Print this page Reduce font size Increase font size

2011 HSC Notes from the Marking Centre – Software Design and Development

Contents

Introduction

This document has been produced for the teachers and candidates of the Stage 6 course in Software Design and Development. It contains comments on candidate responses to the 2011 Higher School Certificate examination, indicating the quality of the responses and highlighting their relative strengths and weaknesses.

This document should be read along with the relevant syllabus, the 2011 Higher School Certificate examination, the marking guidelines and other support documents developed by the Board of Studies to assist in the teaching and learning of Software Design and Development.

Teachers and candidates are advised that in 2011, the examination specifications for Section II were changed. Instead of having three 20-mark questions as previously, Section II now has a number of questions (of approximately 10 marks each) worth 60 marks in total. A specimen paper showing this change is on the Board’s website at www.boardofstudies.nsw.edu.au.

General comments

Teachers and candidates should be aware that examiners may ask questions that address the syllabus outcomes in a manner that requires candidates to respond by integrating their knowledge, understanding and skills developed through studying the course. It is important to understand that the Preliminary course is assumed knowledge for the HSC course.

Candidates need to be aware that the marks allocated to the question and the answer space (where this is provided on the examination paper) are guides to the length of the required response. A longer response will not in itself lead to higher marks. Writing far beyond the indicated space may reduce the time available for answering other questions.

Candidates are reminded that working towards a solution may attract marks, even if a complete solution is not arrived at. It is helpful to provide this working in the space allocated to the question part so that it can be used to determine any understanding demonstrated.

Candidates need to be familiar with the Board’s Glossary of Key Words, which contains some terms commonly used in examination questions. However, candidates should also be aware that not all questions will start with or contain one of the key words from the glossary. Questions such as ‘how?’, ‘why?’ or ‘to what extent?’ may be asked, or verbs may be used that are not included in the glossary, such as ‘design’, ‘translate’ or ‘list’.

Section II

General comments

Many candidates showed a sound understanding of concepts but did not always apply this knowledge appropriately, often giving general answers or answers not directly related to the particular situation described in the question. Candidates should note that if a scenario is provided in the question, then it should be referred to in the response.

Question 21

Most candidates demonstrated a good understanding of CASE tools and their purpose in the software development cycle. Better responses provided examples of specific CASE tools and where they are used in the software development cycle, although not all candidates discussed this use in their own project work.

A significant number of candidates referred to simple applications that are used to create a range of modelling tools and documentation, rather than dedicated CASE tools. Others made specific reference to the creation of test data in both the implementation stage and the test and evaluation stage of the cycle.

In weaker responses, candidates demonstrated confusion concerning the use of CASE tools and the diagrams, tools and documents that they create, often simply providing a description of these.

Question 22

  1. Some candidates produced very good data flow diagrams.

    Most candidates identified at least one element that exists in a data flow diagram and made an attempt to represent the described system. However, a significant number of candidates did not construct an appropriate diagram, instead presenting various combinations of other modelling tools.

  2. Most candidates presented a partial or in some cases a substantial data dictionary with at least two different data types and multiple fields.

    Weaker responses presented a variety of data types, showing a poor understanding of the role of a data dictionary.

  3. Most candidates demonstrated a sound understanding of sequential files but did not relate the concept of a random file to a direct access method of locating data.

    Few candidates provided a response that related in detail to the question scenario, in which a check is required for whether a user’s record already exists.

Question 23

In better responses, candidates described two or more specific techniques. In weaker responses, they provided only identification rather than the required discussion of how the technique could be used.

Few candidates provided a response that related in detail to the question scenario, which referred to a system consisting of many modules and the use of calculations.

In weaker responses, candidates referred to debugging techniques that did not clearly differ from those indicated in the question, or that would not necessarily identify or locate a logic error.

Question 24

  1. Most candidates identified a benefit of both approaches, although some weaker candidates identified disadvantages instead.

    In some weaker responses, candidates identified benefits that could apply equally to both approaches, with little understanding demonstrated of the required differences between the two approaches. Those candidates who did not gain full marks were often those who failed to produce at least two relevant benefits of each approach.

  2. In weaker responses, candidates assumed that the developer would be reverse engineering or decompiling the original software rather than simply adapting it to the needs of the client.

    Most candidates identified an ownership/intellectual property issue, but few extended their response to show a deeper understanding of the concept as it related to the scenario described in the question.

  3. There was a wide range of responses to this question.

    Better candidates provided responses that related well to the special needs of software developed to run in a networked environment. They also demonstrated a good understanding of the specific responsibilities that the developer should consider or the actions he or she might take in developing the software to allow it to run appropriately over a network.

Question 25

Most responses included an identification of the features of test data relevant to the scenario. Better responses included an attempt to discuss why a particular feature was effective for this particular scenario and suggested that the use of both sets of test data, or a combination of the two, would be better than either set of test data alone.

These stronger responses also provided an explanation of what would be tested by the specific values included in each set, such as integers, fractional values, a maximum not at the end of a set, and more test data than expected by the program.

Few responses attempted to highlight why a negative maximum value was included (to check if the initial maximum value was set to zero, which would not be further updated as the negative test data values are used).

Question 26

  1. Creating a desk check was a challenge for many candidates. Some candidates attempted to correct perceived errors in place of a desk check.

    Weaker responses indicated knowledge that a desk check involves changing the values of a variable as directed by the algorithm, but demonstrated little understanding of how to trace the variable through the algorithm and show this on the desk check.

    Better responses included the drawing of a table showing the values of ‘n’and ‘valid’ changing through the repetition.

    Other candidates used prose to clearly describe the desk check process using this algorithm.

  2. Candidates who completed a correct desk check in part (a) were usually able to correctly identify and describe at least one of the logic errors in the algorithm.

    Weaker responses tended to give a long and repetitive description of one error while better responses gave a clear explanation of at least two different logic errors contained in the algorithm. Some students attempted to correct the errors rather than describe them, which although not required by the question did demonstrate their understanding of the errors.

Question 27

  1. Most candidates mentioned at least one right or one responsibility, with most discussing the right of Kim to be acknowledged as the author of the routine used in the developer’s software.

    A number of candidates answered this question from Kim’s perspective, even though the question was phrased to look at the situation from the perspective of the developer.

    In better responses, candidates mentioned a number of rights or a number of responsibilities of developers who use Kim’s compiled software. The best responses were those that gave examples of both rights and responsibilities. Those candidates discussed the rights of the developer to quality software, free from viruses and errors, and also a developer’s responsibility to acknowledge Kim in its software, to make sure it follows an appropriate software developer’s code of conduct, and to thoroughly test its software.

  2. In weaker responses, candidates had difficulty explaining what the advantages or the disadvantages were for Kim in distributing her code in compiled form.

    A number of responses failed to mention specifically if an identified feature, such as ‘You cannot see the source code’, was an advantage for Kim to protect her intellectual property or a disadvantage for developers who may need to subsequently modify the routine.

    Better responses mentioned a number of advantages and also a number of disadvantages of using compiled code. The best responses demonstrating an in-depth knowledge of compiled code, such as an understanding that the compiled code is processor dependent.

Question 28

  1. Most responses showed some understanding of technical feasibility issues and the fact that these were associated with hardware and software issues.

    Better responses discussed various impacts from both technical and operational issues that may occur, ranging from the introduction of new hardware such as fingerprint scanners through to extra training required for staff as a result of the new merged system.

    Weaker responses listed technical implications under operational feasibility and vice versa. They failed to include aspects of the scenario in the answer, instead giving generic explanations of technical and operational feasibility. Responses in this category also included aspects of other feasibility issues irrelevant to the question, such as budgetary and time constraints.

  2. Better responses clearly stated a valid implementation method and gave characteristics of this method. The best responses provided detailed characteristics of the implementation method and then tied this method into the scenario provided. These responses discussed relevant examples, such as the Christmas holiday allowing time for developers to thoroughly test the new system and for staff to be trained.

    Weaker responses named development approaches, such as prototyping, rather than implementation methods. Others simply discussed how attendance could now be processed without discussing a formal implementation method at all. Some candidates were confused about the features of the implementation methods they had identified – for example, identifying a phased method but then describing a pilot method.

Question 29

  1. In stronger responses, candidates used a wide variety of approaches in their algorithms, including clear and appropriate control structures and the following features:
    • keeping a total variable that was accumulated successively
    • placing the scores with bonuses in a points array and then totalling the points array
    • keeping a Boolean variable called bonus, which was set to true when a 5 was encountered; on the next iteration, the score was added twice if the variable was true
    • using a FOR NEXT loop that dealt with cases 1–9 and then using a selection that handled case 10 exclusively
    • replacing elements of the SCORES array with the correct points allocation and then summing those together.
  2. Candidates are reminded that a FOR NEXT loop is often a better approach than a pre-test or post-test loop if the number of iterations is known. Some candidates who used pre-test or post-test loops failed to initialise the loop counter or to increment the counter, or they incremented the counter in the wrong place.

    In weaker responses, candidates were confused between the index and the element at that index when trying to accumulate the score total, or they presented assignment statements with the variable being assigned the value on the right-hand side of the assignment statement (rather than the left).

    Weaker responses often did not refer to array elements correctly using an index appropriately, used flow charts poorly to document their logic, or did not use any appropriate repetition control structures.

  3. Better responses included:
    • use of correct notation for accessing fields in an array of records
    • an understanding that it was important to compare the last element of the array to the player’s total rather than the first element
    • the ability to keep track of elements in the array correctly when inserting the new details; this allowed shuffling of elements to take place to make room for the new record without overwriting required elements
    • finding the correct place of insertion and saving it in an appropriate variable.
    Weaker responses tended to compare the new player’s score with scores given in the question, using statements such as IF score > 75, and did not include appropriate repetition control structures.

Question 30

Better responses included the use of correct symbols to describe the item and list, correctly including the use of repetition and appropriately distinguishing between terminal and non-terminal elements. They also demonstrated understanding that a legal list could contain one item without a semicolon.

In some weaker responses, candidates successfully converted the item diagram to EBNF, but then did not correctly convert the list.

Other weaker responses attempted to give an explanation of the railroad diagram in English sentences or provided examples of legal items and lists, such as item = a1bc2, but this did not demonstrate the required understanding of how to construct an EBNF statement.

Question 31

In better responses, candidates identified at least two features that contributed to slow execution, and then explained the effect of these features on execution. Some of these responses clearly articulated that it was not necessary to check whether X is less than 7 because X was already known to be less than 6 at the start of the loop.

In mid-range responses, candidates often correctly identified a statement in the algorithm, but had difficulty explaining the effect on execution.

In weaker responses, candidates often incorrectly referred to the two READ X statements, indicating that having two statements was not necessary. This is not the case, because the first READ X statement initialises the loop, known as a priming read, and the second statement allows the loop to continue. Other responses in this category incorrectly suggested that the value of X would never change or that the loop required an incrementing counter.

Question 32

In better responses, candidates clearly stated the similarities and differences between object code and decompiled code. These include the fact that both the object code and the decompiled code perform the same function with the same inputs, processes and outputs. Differences between the two include the fact that object code is written in machine language for the computer to utilise, whereas decompiled code is in the form of assembler or high-level language statements.

In mid-range responses, candidates only identified differences between object code and decompiled code. Some responses also incorrectly stated that decompiled code is identical to source code. This is not the case, as decompiled code lacks the comments, meaningful variable names, and routine names of the original source code.

Weaker responses demonstrated confusion concerning terminology such as source code, object code, decompiled code, high-level languages and low-level languages.

Section III

Question 33 – Evolution of Programming Languages

  1. Better responses focused on how different paradigms improve productivity. These candidates cited one or more examples, such as how modularisation in object oriented programming uses generic classes and therefore results in the need for less code.

    Poorer responses merely stated that different paradigms are used to solve different problems.

    1. Better responses included the explanation that backward chaining assumes that the crocodile is a happy pet, then works through the facts to determine if this is true, and finally states that the statement returned false.

      Poorer responses merely stated that backward chaining works backwards through the code, without demonstrating the required understanding of the process.

    2. A number of candidates solved the problem by providing the correct code:

      animal(X):-pet(X)
      teeth(cat)
      teeth(dog)
      teeth(crocodile)
      can_bite(X):- animal(X), teeth(X)

      However, some candidates mistakenly coded the first line as pet(X):- animal(X).

      In many weaker responses, candidates listed all of the animals in a teeth fact, such as teeth(cat, dog, crocodile), or coded the ‘animal is a pet’ rule as a fact, such as animal(pet), showing limited understanding of how to use code correctly. Poorer responses simply rewrote the code with minor irrelevant changes.
    1. The strongest responses focused directly on the getemptyseats method, stating that while having the same name, the nature of the calculation is different in the class and sub-class.

      Weaker responses referred to an object appearing in many forms without using the example provided in the code fragment, or focused incorrectly on the fact that the empty seats attribute is found in both the VEHICLE class and the CAR sub-class.

      The weakest responses confused polymorphism with inheritance or encapsulation, or showed no evidence of familiarity with the term polymorphism.

    2. In better responses, candidates coded a correct solution but sometimes included minor errors, such as correctly coding ‘sub-class CAR’ but omitting ‘is a VEHICLE’.

      Poorer responses simply copied the code from the CAR sub-class without changing the getemptyseats method to include the staff attribute.

    3. Better responses added a getcolour method to either class. Poorer responses incorrectly discussed the need for user input or changing the colour attribute from a string to an integer. Many candidates indicated that a colour attribute should be added but did not say where.
  2. Better responses linked real aspects of a particular paradigm to required tasks within each process. Weaker responses confused paradigm with software development approaches (such as structured or prototyping). Many candidates discussed generations of languages rather than paradigms.

Question 34 – The Software Developer’s View of the Hardware

  1. In better responses, candidates showed the binary representation of 128 and described its conversion to two’s complement by flipping the bits and adding 1.

    Alternatively, candidates were able to explain how the full range of two’s complement numbers provided for only one representation of 0, allowing a value one less than –127 to be represented.

    In weaker responses, candidates referred only to the use of the sign bit or the binary conversion of 128.

  2. In the best responses, candidates identified the arithmetic processes of division and multiplication as being a combination of shift right and subtract or shift left and add respectively, showing the process of the shift with a relevant example.

    In weaker responses, candidates simply identified a relevant arithmetic process.

    1. In stronger responses, candidates clearly identified that the power could be supplied to the cooker inappropriately. At temperatures below 300 degrees, the power would still be supplied even though the master switch is off, and whenever the master switch is on, regardless of the temperature, the power would be supplied.

      Inclusion of a relevant truth table, specific to the scenario, was a feature of the best responses.

      In weaker responses, candidates identified how an OR gate functions without reference to the scenario, or they poorly described only one of the conditions under which the cooker was inappropriately supplied with power.

    2. In stronger responses, candidates produced a correct and elegant circuit using correct symbols. This circuit included a pressure sensor linked to the existing circuit with an appropriate gate, and an indication of the conditions under which the pressure sensor produces a 1 (such as when the pressure exceeds 20kPa).

      In weaker responses, candidates identified the need for a pressure sensor but were unable to link it appropriately to the existing circuit and were unable to demonstrate a good understanding of circuit design.

    3. In stronger responses, candidates identified that the value 1 stored in a flip-flop placed in that position in the circuit could be set by the temperature reaching too high a value. This would result in the power to the cooker being turned off and staying off, even if the temperature subsequently dropped to below 300 degrees. The power would stay off until the flip-flop was reset manually.

      In the strongest responses, candidates also demonstrated an understanding of how a flip-flop operates to continuously output a 1 when set, and how its use in this scenario was relevant to safety.

      In weaker responses, candidates simply identified that flip-flops are able to store data, but were unable to describe their operation or the effect of their use in this particular scenario.
  3. Stronger responses included explanations of each of the possible interpretations of the four bytes of binary data:
    • Jo interpreted the binary string as a long integer, being the sum of the relevant powers of 2
    • Ali interpreted the binary string as a floating point number, with a sign bit, an 8-bit exponent and a 23-bit mantissa
    • Pat interpreted the binary string as a data stream containing text, with the first byte showing the number of characters and the remaining bytes being 8-bit ASCII codes.
    In weaker responses, candidates were able to identify some relevant data types without clearly describing their implementation in the binary string provided.

    1. In stronger responses, candidates demonstrated their correct analysis of the data stream by separating the sensor ID from the light intensity data. They then identified sensor 4 as showing the strongest light intensity (111000 = 28 units) and indicated that the panel needed to move one position towards the west, thus enabling them to produce the correct data stream.

      Weaker responses included errors such as failing to recognise position 5 as the starting position of the panel, using the wrong direction in the data stream, or miscalculating the intensity for the different sensors.

      In the weakest responses, candidates attempted analysis of the sensor stream, but made significant errors or did not produce an appropriate output stream.

    2. The strongest responses included descriptions of a range of differences and similarities in the structures of the data streams, including features such as:

      Feature Data stream to computer Data stream to motor
      Length? 8 bytes Only 1 byte
      Header? Yes No
      Error checking? Yes; as the stream is longer, this is more necessary here No
      Start bits? Yes Yes
      Unused bits? No Yes; these could be used for future expansion or error checking
      Trailer? No No
      In the weakest responses, candidates identified a simple difference, such as the fact that the data stream to the computer was longer.
Print this page Reduce font size Increase font size