1. Home
  2. HSC
  3. HSC Exams
  4. 2010 HSC Exam papers
  5. 2010 HSC Notes from the Marking Centre — Software Design and Development
Print this page Reduce font size Increase font size

2010 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 2010 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 2010 Higher School Certificate examination, the marking guidelines and other support documents which have been 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 have changed. Instead of having three 20 mark questions, Section II now has a number of questions (of approximately 10 marks each) worth 60 marks in total. A specimen paper showing the change is on the Board’s website.

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.

Teachers and candidates should be aware that examiners may ask questions in Sections I and II that combine knowledge, skills and understanding from across the core of the HSC syllabus.

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 in excess of the space allocated 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 this 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 which are not included in the glossary, such as ‘design’, ‘translate’ or ‘list’.

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 their responses.

This year for the first time, candidates were required to write their responses on the examination paper. Candidates should not waste valuable writing space by starting with a phrase that simply restates the question.

Section II

Question 21

  1. Most responses correctly identified one or more areas in which an end user can be involved in the overall development of a software solution. Better responses included reference to the development of the interface, required functionality, and potential social and ethical issues with particular relevance to their company use.

    Weaker responses tended to identify, without any elaboration, areas which amounted to feedback in some way to the developers.

    In a number of weaker responses, candidates discussed the end user approach to software development rather than the involvement of the end user in any development.
  2. In better responses, candidates provided a full description of a modular approach and then provided a detailed discussion of why this approach could be justified in the context of a complex software solution.

    Weaker responses discussed modules in general with very little in the way of justification.

    Some responses equated the modular approach with the structured approach to software development and described this approach at length without going into the specifics of using a top-down approach through the use of modules.
    1. In better responses, candidates provided a good description of library routines and supported their discussion with relevant examples. In many weaker responses, candidates did not identify characteristics of library routines. These responses showed little understanding of what library routines are, and how and why they are used. In some weaker responses, candidates were unable to identify characteristics of library routines.
    2. Many candidates simply described some of the characteristics of library routines without reference to requirements during their development. In weaker responses, candidates simply identified characteristics by name only, with no supporting description.
    1. Most candidates demonstrated a familiarity with both the Rapid Applications Development (RAD) and prototyping approaches, though many provided few details of each approach and why they were suitable in this situation. Only the very best responses included a discussion of how the approaches worked in conjunction with one another, with most responses treating each approach separately. Stronger responses described the characteristics of both approaches and concluded with a discussion of how RAD could be used to develop the design modelled in the prototype after feedback from end users was incorporated into the interface design.
    2. In better responses, candidates named two or more forms of different documentation which were relevant to the scenario as well as providing a good discussion of their features and a sound justification for each one mentioned.

      In weaker responses, candidates tended to identify forms of documentation – such as feasibility studies and systems flowcharts – which are not relevant to a RAD/prototyping approach to development. Responses of this nature rarely provided adequate justifications for their inclusion. They simply listed several forms of documentation followed by broad justifications for their use, but with little discussion of their main features. Some identified similar forms of documentation such as intrinsic documentation and internal documentation which were too similar to be regarded as separate justifications.
    3. In better responses, candidates identified features of both sequential and event-driven game environments. They included specific references to the two approaches, citing specific examples drawn from games (such as a solitaire card game for a sequential approach and a role-playing game for an event-driven approach).

      In weaker responses, candidates provided an inappropriate discussion of how the game is developed sequentially by creating the program one line after another, or in an event-driven manner by creating modules in a different manner according to differing external events, thus not demonstrating the required understanding.

Question 22

  1. In better responses, candidates identified areas in test data that need to be considered, such as data that tests all pathways, boundary values, values to which the output is known, and data sentinel values that test successful exiting from loops. They provided a wide range of areas with examples that were used to explain their relevance.

    In weaker responses, candidates failed to answer the specific question, with some describing why a desk check is necessary, or relating to errors found during execution.
    1. In better responses, candidates demonstrated excellent understanding of the appropriate control structures required, including the processing required to treat the character string as an array of characters, requiring a loop to examine each character in turn and match it with the corresponding character in the second string. These candidates correctly identified the need to initially set a match flag to ‘true’, which can then be reset to ‘false’ as soon as two corresponding characters are found not to match.

      In weaker responses, candidates only attempted to compare the two whole strings rather than the individual characters comprising the strings, or only looped for the first four characters rather than the length of searchstring.
    2. In better responses, candidates recognised that the two different string lengths were the cause of the errors. They indicated that the length of searchstring is important in determining how many characters to test. In the best responses, candidates identified that the runtime error was caused by accessing a memory location that had not been allocated to a variable.

      In weaker responses, candidates attempted to discuss the words used in the example without relating their discussion to the processing being performed by the software.
    1. The logic used in swapping the contents of two variables is widely used in algorithms, and is an integral part of many sort algorithms. Candidates are reminded that they need to correctly reproduce the logic for a swap process, and to understand the logic being utilised.

      In better responses, candidates understood that, in the pseudocode provided, the end result is that the contents of the two elements of the array become the same. To solve this unintended problem, they recognised the need to use a temporary variable to hold the contents of the first element while the contents of the second are moved into the first element. The contents stored in the temporary variable can then be moved into the second element.

      In weaker responses, candidates did not provide the correct logic for a swap in pseudocode format, or did not recognise the need for a temporary variable to be used.
    2. Candidates are reminded that they should be familiar with the logic in each of the three distinct methods of sorting elements in an array.

      In better responses, a good narrative description of an insertion sort was provided, making reference to the need for two logical parts in the array (sorted and unsorted), where the next element to be sorted from the unsorted part is inserted into its correct place in the sorted section by shuffling the sorted elements across to make room. They also clearly described how the position of the new element to be inserted is determined by comparing the element to be inserted with each successive already-sorted element in turn.

      A number of the better responses also provided a very useful diagram showing the contents of an array being sorted using an insertion sort, listing the contents of the array after each pass.

      Weaker responses included reasons why a sort is necessary or provided a description of a selection sort.
  2. In better responses, candidates named and then explained relevant methods of documentation, and the best responses related these methods to why their use made subsequent maintenance easier.

    A surprising number of responses discussed how the user can update their software, rather than focusing on how the developer updates the source code comprising the software.

Question 23

  1. In better responses, candidates provided characteristics and features of two or more project management tools, and then related these features to the ability of team members to be able to communicate and work together effectively. Common project management tools described were Gantt charts and process diaries.

    In many weaker responses, candidates confused system design tools and programming tools with project management tools, and therefore found it difficult to relate their selected tools to team communication and effective teamwork. Examples of such tools included data dictionaries, system flowcharts, CASE tools and data flow diagrams, which were more difficult to relate well to project management.

    In other weaker responses, candidates attempted to describe the use of communication tools (such as Skype), but again these were harder to discuss appropriately in the context of project management.
  2. In better responses, candidates provided a clear description of each of the three levels of testing specified. They included descriptions of the relationship between each of the three required levels, recognising that program testing involves testing the connections between already tested modules, and systems testing tests the system as a whole using volume testing or live data to ensure that there will be no unforseen errors when the system goes live in the client’s environment.

    In the best responses, candidates also indicated specific features of each level of testing, using them to justify the need for each level.

    In weaker responses, candidates simply described testing in very general terms, including such generic comments as ‘modules were tested to see what they were supposed to do’, and so not answering the specific question.
    1. Many candidates incorrectly stated that in the fetch–execute part of the cycle, the data is fetched from RAM, rather than the instruction being fetched from the address specified in the program counter. Many candidates also had difficulty explaining the decode step of the fetch–execute cycle, where the different parts of the instruction are identified prior to execution.
    2. In sound responses, candidates correctly stated that the ADD command would execute the fastest, but not all provided a satisfactory reason. In the best responses, candidates referred to the slower access speeds to RAM compared to that required to access data stored in registers within the CPU.
    1. In better responses, candidates recognised that it is better to split the string into two fields. These candidates provided a specific data type to be used (floating point to allow for dollars and cents), and good explanations for how this allows for easier comparison of price data within the specified minimum and maximum values.

      In weaker responses, candidates confused the storage of data with the display of data, and made reference to the screen elements that should be used to display the price range. Other candidates used inappropriate data structures such as an array of records.
    2. In better responses, candidates correctly identified a range of issues and then proposed changes and clear justifications for each of their suggestions. These candidates demonstrated an excellent knowledge of different screen elements and their use for different data types. For example, ‘checkboxes are not appropriate for selecting shoe size, as it is not necessary to select more than one shoe size’.

      In better responses, candidates also showed an understanding of the context of the problem, and made reference to the difficulty of selecting data and typing on the small keyboard/touch screen available on a mobile phone.

      In weaker responses, candidates simply provided a list of recommended changes. They also tended to combine the justification for the changes, for example by proposing several changes and then providing a generic justification such as ‘to make the interface more user-friendly’ or ‘make more consistent’. Some candidates suggested new features that should be built into the application, rather than focusing on how the existing interface should be improved.
    3. In better responses, candidates provided structure diagrams which showed all logical tasks required in the system and the data flowing between them. They included processes that looked through all the shops to find those close in location to the user, and then processes which looked for products that matched the user’s preferences. An alternative approach was to show the system searching for products first, then finding nearby shops with those products.

      In mid-range responses, candidates showed some understanding of modules by including module names such as ‘Determine Location’ and ‘Send List’, but without data being passed or with inappropriate structure shown. In weaker responses, candidates showed difficulty recognising required subtasks or processes and inappropriately referred to modules such as ‘phone’, ‘Jane’ and ‘products’.

      Some weaker responses included diagrams that were flowcharts, context diagrams or data flow diagrams rather than structure charts.

Section III

Question 24 – Evolution of Programming Languages

    1. In better responses, candidates correctly identified facts and rules as the building blocks, using examples from the code fragment provided.
    2. In better responses, candidates correctly identified the planets resulting from the query.

      In weaker responses, candidates did not correctly demonstrate their understanding of a query that returns multiple values for X, or incorrectly associated the query with the planet (P) rule.
    3. In mid-range responses, candidates demonstrated a basic understanding of backward chaining, correctly identifying the first rule to be applied, that of satellite (S).

      In better responses, candidates understood that backward chaining starts with the goal and works backwards through facts and rules to establish if the goal is true. These candidates correctly evaluated the query by showing the rules and facts from the scenario that were applied in the backward chaining process for this specific goal.
    4. In better responses, candidates highlighted an advantage of the logic paradigm over the imperative approach by associating the features of the logic paradigm to the scenario of the solar system. They highlighted the ease of adding new facts to a solution coded using the logic paradigm compared to the imperative approach, such as the discovery of a new satellite around a planet, or the removal of a planet (such as Pluto) from our solar system.
    1. In better responses, candidates correctly identified the attributes and methods, and correctly indicated the structure, either by identifying the WritingImplement class as a parent or superclass, or by providing more detail regarding the attributes and methods.

      In mid-range responses, candidates identified the attributes (colour, brand, price and medium) along with the methods (write and erase).

      In weaker responses, candidates failed to correctly identify the attributes and methods, or associated each incorrectly with respect to the scenario.
    2. In mid-range responses, candidates identified the attributes of the Pen subclass. However, in better responses they identified that the attributes and methods are inherited from its parent class WritingImplement.
    3. In better responses, candidates explained the feature of polymorphism, associating this with the duplicated Erase method and recognising that the method is implemented differently depending on which subclass it is used with. They successfully included other features such as inheritance or encapsulation, effectively linking their response to the scenario.

      In mid-range responses, candidates correctly identified the feature of inheritance as the one that allows the Pencil subclass to be defined and used.

      Weaker responses failed to identify any of the main features of the object-oriented programming paradigm, or did not attempt to relate the features to the scenario.
    4. In weaker responses, candidates failed to associate encapsulation with the scenario, and did not explain how encapsulation allowed software systems to be more easily adapted as technologies change.

      In better responses, candidates indicated that encapsulation involves the hiding of data, in that you can only access or change the attributes through the public methods. They also demonstrated their understanding by relating their answer to the scenario and outlining specific examples of how easily adaption may be done, resulting in simplified testing.

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

    1. In better responses, candidates showed the correct conversion of decimal numbers into binary. However in some weaker responses, the fractional part of the number was not related to negative powers of two.
    2. In better responses, candidates demonstrated correct binary addition, but some failed to show any working by explicitly showing the carry digit. In weaker responses, candidates had difficulty with the process of adding binary fractions.
    3. In better responses, candidates used their knowledge and understanding of the characteristics of half and full adders to describe how each functioned in adding binary digits with carry digits. Many better responses included labelled diagrams of half and full adders, clearly showing the relationship between them, with full adders comprising two half adders.
    4. Most candidates correctly assumed that ‘binary point’ referred to ‘fixed point’ representation of fractions. In better responses, candidates listed a feature of floating point such as improved accuracy, and described clearly why it was an advantage over the fixed/binary point method of representation.
    1. In better responses, candidates successfully provided a complete and correct truth table. However, in a significant number of responses, lines were missing, generally only showing those specific conditions that resulted in a true condition for the alarm. Candidates are reminded that a truth table should show all of the possible inputs to a circuit, together with their resultant outputs.
    2. In better responses, candidates provided a correct circuit as a solution to this problem, with many others able to produce a partial solution.
    3. In weaker responses, candidates merely restated the contents of the table without elaboration or interpretation. In better responses, candidates related the 1’s and 0’s in the data stream to physical events in the gallery. A number of responses considered the contents of packet 3 as an error and then focused on reasons for the error.
    4. Although some candidates identified that flip-flops are used to store binary data, only the best responses demonstrated a good understanding of the operation of a flip-flop and how they can be used to store a single bit of data. In weaker responses, candidates did not identify that four flip-flops would be needed to store the four bits required in this scenario.

20110206

Print this page Reduce font size Increase font size