Gce A Level - New Computer Science - A2 Unit 3: Programming and System Development
Gce A Level - New Computer Science - A2 Unit 3: Programming and System Development
Gce A Level - New Computer Science - A2 Unit 3: Programming and System Development
1500U30-1 S17-1500U30-1
ADDITIONAL MATERIALS
A WJEC pink 16-page pink answer booklet.
A calculator.
INSTRUCTIONS TO CANDIDATES
Answer all questions.
Write your answers in the separate answer booklet provided.
1. Two human computer interfaces (HCI) are voice input and touch screen.
(a) Give two benefits of using a touch screen interface on a mobile device. [2]
(b) Describe the difficulties in creating a natural language interface for voice input. [4]
2. Explain the terms object, class and method in object-oriented programming. [3]
3. (a) Draw a truth table to show the value of P for all possible values of A, B and C for the
following Boolean expression:
P = Ā . B + C [4]
(b) Using the data in the 8 bit register below, design a mask and use it to demonstrate how a
logical operation can be used to extract the least significant 4 bits. [3]
Bit number 7 6 5 4 3 2 1 0
Register contents 1 1 1 0 0 0 1 1
4. (a) Describe the processes carried out during the lexical, syntax and semantic analyses
stages of compilation. [6]
(b) Describe one advantage of using a programming language that requires compiling
compared with a programming language that requires interpreting. [2]
(c) Describe two advantages of using a programming language that requires interpreting
compared with a programming language that requires compiling. [4]
(d) State the purpose of an assembler. Describe the difference between the source code of
an assembler and the source code of a compiler. [4]
5. (a) Using the laws of Boolean algebra and De Morgan’s theorem simplify the following
Boolean expression:
A . (A . B) [4]
A . B + A . (B + C) + B . (B + C) [4]
6. Write a bubble sort algorithm, using pseudo-code, to sort an array of integers into ascending
order. [9]
7. The name of a constant in a certain computer language must either be a single uppercase letter,
or a single uppercase letter followed by one or more uppercase letters or digits.
(a) Produce an appropriate syntax diagram to define a constant in this language. [4]
(b) Produce an appropriate Backus-Naur Form (BNF) definition for a constant in this
language. [4]
8. Below is part of an algorithm that initialises a two dimensional array named GRID of size N x N
with zeros.
for i = 0 to N – 1
for j = 0 to N – 1
GRID(i,j) = 0
next j
next i
Evaluate the efficiency of the algorithm and, using Big O notation, determine the growth rate for
the time performance. [4]
9. (a) Define the term algorithm. Other than pseudo-code, state one method of expressing an
algorithm. [2]
10. A software company carries out a design review as part of its quality control procedures.
Identify three tasks that would be carried out during a design review. [3]
(a) Explain the difference between searching for an item in an ordered list compared with
searching an unordered list. [2]
Index Data Next Pointer (1) Next Pointer (2) Next Pointer (3)
0 Smith
1 Jones
2 Ahmed
3 Lewis
4 Thomas
5 Brown
6
7
8
9
(i) Copy the table and complete the Next Pointer (1) column to link the list in ascending
alphabetical order. [3]
(ii) Add Murphy and Collins to the linked list and complete the Next Pointer (2)
column. [4]
(iii) Complete the Next Pointer (3) column to delete Smith. [2]
(c) Draw a representation of a binary tree using the data items from question 11(b) as key
values. [3]
12. A debugging tool of an Integrated Development Environment (IDE) enables stepping, break
points and variable watches.
Describe the use of stepping, break points and variable watches in the debugging of programs.
[6]
13. Compare the Waterfall and Agile approaches to systems analysis and discuss suitable
programming paradigms for each approach. [10]
END OF PAPER