Section II
Candidates showed strength in these areas:
- describing how to achieve particular interface elements, for example describing how a drop-down list could help to achieve minimal keystrokes and data validation (Q.21)
- describing the features of two issues listed and the way in which they related to the scenario (Q.22a)
- providing a comprehensive data flow diagram that separates the scenario into several appropriate processes, such as ‘analyse data’, ‘alert patient’ and ‘doctor access’ (Q.22b)
- delineating clearly between elements of the diagram (Q.22b)
- describing ways in which networks can help to support software development (Q.23)
- using a table to show the inputs from the scenario (Q.24)
- drawing a storyboard that showed the intended operation of the app, linking navigational elements to the required screen (Q.24b)
- providing specific references to the features of each development approach (Q.25)
- identifying a variety of criteria for determining quality of a system, describing each and how they relate to the scenario (Q.25b)
- linking the features of their chosen implementation method with characteristics of the scenario, for example suggesting a pilot approach and then observing that the initial group of users can assist with the training of other users (Q.26)
- identifying that a loop and an incrementing variable were required (Q.27a)
- identifying that the algorithm was shuffling the numbers from the num array into the newnum array (Q.27b)
- displaying a desk check in table format having a column for each variable showing change(s) in the value of the variables (Q.28a)
- demonstrating an understanding of the sort method (Q.28b)
- identifying the possible modules in which errors could have occurred and then identifying error checking techniques that could be used to locate the error such as flags, drivers, stubs, line-by-line stepping and break points (Q.29a)
- including at least two new modules and including appropriate parameters (Q.29b)
- identifying the logic error (Q.30a)
- understanding the type of questions that a programmer would ask (Q.30b).
Candidates need to improve in these areas:
- addressing all aspects of the question (Q.21)
- ensuring that the identified issues were discussed in relation to the scenario (Q.22a)
- using and labelling DFD symbols correctly (Q.22b)
- using verbs in processes in a data flow diagram (Q.22b)
- providing a complete list of inputs (Q.24)
- clearly linking the strengths and weaknesses of the approaches to the system (Q.25)
- correctly assigning a value to an array (Q.27a)
- describing how the provided algorithm fulfils its purpose (Q.27b)
- writing the correct algorithm in pseudocode (Q.30a)
- showing understanding of how array elements are accessed and referenced using indices (Q.31a)
- writing an algorithm that outputs all positions where the maximum value occurs in the array provided (Q.31b).
Section III
Question 32 – Programming Paradigms
Candidates showed strength in these areas:
- identifying an attribute for the FICTION sub-class (part ai)
- recognising the need to create a sub-class (part aii)
- describing encapsulation and its implementation in the scenario (part aiii)
- identifying two limitations of the imperative paradigm (part bi)
- outlining the role of an inference engine in the logic paradigm (part bii)
- understanding both the OOP and logic paradigms (part c).
Candidates need to improve in these areas:
- identifying a method for the FICTION sub-class (part ai)
- including the required attribute (part aii)
- not confusing the concepts of inheritance and encapsulation (part aiii)
- referring to the stimulus/scenario provided (part aiii)
- referring to the given scenario (part bii)
- writing code using the syntax for the paradigm (part biii)
- applying their discussion of the paradigm to the scenario (part c).
Question 33 – The Interrelationship between Software and Hardware
Candidates showed strength in these areas:
- identifying the differences between ASCII and Unicode (part a)
- performing binary multiplication (part bi)
- agreeing with the student’s statement and justifying it by successfully converting the binary floating point number to -1 (part bii)
- completing the circuit appropriately (part ci)
- simplifying the Boolean statement before starting the truth table (part cii)
- providing correct diagrams for individual logic gates (part ciii)
- using correct circuit components (part ciii)
- showing an understanding of the direction of movement and obstacles (part dii).
Candidates need to improve in these areas:
- explaining the need for shifting (part bi)
- understanding all the components of the 32 bits provided and their purpose (part bii)
- ensuring that the identified issues were discussed in relation to the scenario (Q.22a)
- using appropriate gates in a circuit (part ci)
- labelling columns appropriately (part cii)
- combining components appropriately (part ciii)
- allowing for the distance actually travelled (part di)
- determining the distances covered (part dii).