Cambridge A Level Computer Science 9608 — 2016 May/June Paper 1 · Variant 2
9608/12/M/J/16 · 75 marks · ≈84 min
The question paper and its mark scheme, free to read here and free to download. This is Cambridge’s own paper, exactly as it was sat.
Question paper16 pages
















Mark scheme10 pages
Answers below. Sit the paper first if you are practising.










Paper as text
Question paper, page 1
This document consists of 15 printed pages and 1 blank page. DC (ST) 126463 © UCLES 2016 [Turn over Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level * 5 1 6 8 8 9 9 5 3 4 * COMPUTER SCIENCE 9608/12 Paper 1 Theory Fundamentals May/June 2016 1 hour 30 minutes Candidates answer on the Question Paper. No Additional Materials are required. No calculators allowed. READ THESE INSTRUCTIONS FIRST Write your Centre number, candidate number and name in the spaces at the top of this page. Write in dark blue or black pen. You may use an HB pencil for any diagrams, graphs or rough working. Do not use staples, paper clips, glue or correction fluid. DO NOT WRITE IN ANY BARCODES. Answer all questions. No marks will be awarded for using brand names of software packages or hardware. At the end of the examination, fasten all your work securely together. The number of marks is given in brackets [ ] at the end of each question or part question. The maximum number of marks is 75.
Question paper, page 2
2 9608/12/M/J/16 © UCLES 2016 1 Three examples of language translators and four definitions are shown below. Draw lines to link each language translator to the correct one or more definitions. Definition Language translator The software reads the source code and reports all errors. The software produces an executable file. The software reads each statement and checks it before running it. The software halts when it encounters a syntax error. The software translates a high-level language program into machine code for the processor to execute. The software translates low-level statements into machine code for the processor to execute. Compiler Assembler Interpreter [3]
Question paper, page 3
3 9608/12/M/J/16 © UCLES 2016 [Turn over 2 (a) Convert the following denary integer into 8-bit binary. 55 [1] (b) Convert the following Binary Coded Decimal (BCD) number into denary. 10000011 …[1] (c) Convert the following denary integer into 8-bit two’s complement. -102 [2] (d) Convert the following hexadecimal number into denary. 4E …[1]
Question paper, page 4
4 9608/12/M/J/16 © UCLES 2016 3 (a) Describe how special purpose registers are used in the fetch stage of the fetch-execute cycle. … … … … … … … …[4] (b) Use the statements A, B, C and D to complete the description of how the fetch-execute cycle handles an interrupt. A the address of the Interrupt Service Routine (ISR) is loaded to the Program Counter (PC). B the processor checks if there is an interrupt. C when the ISR completes, the processor restores the register contents. D the register contents are saved. At the end of the cycle for the current instruction … . If the interrupt flag is set, … , … and … . The interrupted program continues its execution. [4]
Question paper, page 5
5 9608/12/M/J/16 © UCLES 2016 [Turn over 4 A group of students broadcast a school radio station on a website. They record their sound clips (programmes) in advance and email them to the producer. (a) Describe how sampling is used to record the sound clips. … … … … … …[3] (b) The students use software to compress the sound clips before emailing them. (i) Circle your chosen method of compression and justify your choice. Lossy / Lossless Justification: … … … …[3] Students also email images to the radio station for use on its website. These are compressed before sending using run-length encoding (RLE). (ii) Explain what is meant by run-length encoding. … … … … … …[3]
Question paper, page 6
6 9608/12/M/J/16 © UCLES 2016 (iii) The following diagrams show: • the denary colour code that represents each colour • the first three rows of a bitmap image Colour symbol Colour code (denary) B 153 W 255 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 B B B B B B B B B B W W W B B B 1 B B B B B B B B B W W W W W W B 2 B B B B B B B W W W W W W W W W … 95 Show how RLE will compress the first three rows of this image. Row 1: … Row 2: … Row 3: …[2]
Question paper, page 7
7 9608/12/M/J/16 © UCLES 2016 [Turn over 5 Three types of software licensing and four descriptions are shown in the table below. Put a tick (✓) in each row to match each description to the appropriate type of software licensing. Type of software Description Open source Shareware Commercial Software is purchased before it can be used Source code comes with the software Software is provided free on a trial basis The software can be modified by the user [4] 6 A team of software engineers is developing a new e-commerce program for a client. State three of the principles of the ACM/IEEE Software Engineering Code of Ethics. Illustrate each one, with an example, describing how it will influence their working practices. 1 … … … … 2 … … … … 3 … … … …[6]
Question paper, page 8
8 9608/12/M/J/16 © UCLES 2016 7 Access to World Wide Web content uses IP addressing. (a) State what IP stands for. …[1] (b) The following table shows four possible IP addresses. Indicate for each IP address whether it is valid or invalid and give a reason. Address Denary / Hexadecimal Valid or Invalid Reason 3.2A.6AA.BBBB Hexadecimal 2.0.255.1 Denary 6.0.257.6 Denary A.78.F4.J8 Hexadecimal [4] (c) Describe two differences between public and private IP addresses. 1 … … 2 … …[2]
Question paper, page 9
9 9608/12/M/J/16 © UCLES 2016 [Turn over 8 A school stores a large amount of data. This includes student attendance, qualification, and contact details. The school’s software uses a file-based approach to store this data. (a) The school is considering changing to a DBMS. (i) State what DBMS stands for. …[1] (ii) Describe two ways in which the Database Administrator (DBA) could use the DBMS software to ensure the security of the student data. 1 … … … … 2 … … … …[4] (iii) A feature of the DBMS software is a query processor. Describe how the school secretary could use this software. … … … …[2] (iv) The DBMS has replaced software that used a file-based approach with a relational database. Describe how using a relational database has overcome the previous problems associated with a file-based approach. … … … …[3]
Question paper, page 10
10 9608/12/M/J/16 © UCLES 2016 (b) The database design has three tables to store the classes that students attend. STUDENT(StudentID, FirstName, LastName, Year, TutorGroup) CLASS(ClassID, Subject) CLASS-GROUP(StudentID, ClassID) Primary keys are not shown. There is a one-to-many relationship between CLASS and CLASS–GROUP. (i) Describe how this relationship is implemented. … … …[2] (ii) Describe the relationship between CLASS-GROUP and STUDENT. …[1] (iii) Write an SQL script to display the StudentID and FirstName of all students who are in the tutor group 10B. Display the list in alphabetical order of LastName. … … … …[4] (iv) Write an SQL script to display the LastName of all students who attend the class whose ClassID is CS1. … … … … … … … …[4]
Question paper, page 11
11 9608/12/M/J/16 © UCLES 2016 [Turn over Question 9 begins on page 12.
Question paper, page 12
12 9608/12/M/J/16 © UCLES 2016 9 The table shows assembly language instructions for a processor which has one general purpose register, the Accumulator (ACC) and an index register (IX). Instruction Explanation Op code Operand LDD <address> Direct addressing. Load the contents of the given address to ACC. LDX <address> Indexed addressing. Form the address from <address> + the contents of the index register. Copy the contents of this calculated address to ACC. STO <address> Store contents of ACC at the given address. ADD <address> Add the contents of the given address to ACC. INC <register> Add 1 to the contents of the register (ACC or IX). DEC <register> Subtract 1 from the contents of the register (ACC or IX). CMP <address> Compare contents of ACC with contents of <address>. JPE <address> Following a compare instruction, jump to <address> if the compare was True. JPN <address> Following a compare instruction, jump to <address> if the compare was False. JMP <address> Jump to the given address. OUT Output to screen the character whose ASCII value is stored in ACC. END Return control to the operating system. (a) The diagram shows the current contents of a section of main memory and the index register: 60 0011 0010 61 0101 1101 62 0000 0100 63 1111 1001 64 0101 0101 65 1101 1111 66 0000 1101 67 0100 1101 68 0100 0101 69 0100 0011 ... 1000 0110 1001 Index register: 0 0 0 0 1 0 0 0
Question paper, page 13
13 9608/12/M/J/16 © UCLES 2016 [Turn over (i) Show the contents of the Accumulator after the execution of the instruction: LDX 60 Accumulator: Show how you obtained your answer. … … … …[2] (ii) Show the contents of the index register after the execution of the instruction: DEC IX Index register: [1]
Question paper, page 14
14 9608/12/M/J/16 © UCLES 2016 (b) Complete the trace table on the opposite page for the following assembly language program. 50 LDD 100 51 ADD 102 52 STO 103 53 LDX 100 54 ADD 100 55 CMP 101 56 JPE 58 57 JPN 59 58 OUT 59 INC IX 60 LDX 98 61 ADD 101 62 OUT 63 END ... 100 20 101 100 102 1 103 0 IX (Index Register) 1 Selected values from the ASCII character set: ASCII Code 118 119 120 121 122 123 124 125 Character v w x y z { | }
Question paper, page 15
15 9608/12/M/J/16 © UCLES 2016 Trace table: Instruction address Working space ACC Memory address IX OUTPUT 100 101 102 103 20 100 1 0 1 50 51 52 53 54 55 [7]
Question paper, page 16
16 9608/12/M/J/16 © UCLES 2016 Permission to reproduce items where third-party owned material protected by copyright is included has been sought and cleared where possible. Every reasonable effort has been made by the publisher (UCLES) to trace copyright holders, but if any items requiring clearance have unwittingly been included, the publisher will be pleased to make amends at the earliest possible opportunity. To avoid the issue of disclosure of answer-related information to candidates, all copyright acknowledgements are reproduced online in the Cambridge International Examinations Copyright Acknowledgements Booklet. This is produced for each series of examinations and is freely available to download at www.cie.org.uk after the live examination series. Cambridge International Examinations is part of the Cambridge Assessment Group. Cambridge Assessment is the brand name of University of Cambridge Local Examinations Syndicate (UCLES), which is itself a department of the University of Cambridge. BLANK PAGE
Mark scheme, page 1
® IGCSE is the registered trademark of Cambridge International Examinations. This document consists of 10 printed pages. © UCLES 2016 [Turn over Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level COMPUTER SCIENCE 9608/12 Paper 1 Written Paper May/June 2016 MARK SCHEME Maximum Mark: 75 Published This mark scheme is published as an aid to teachers and candidates, to indicate the requirements of the examination. It shows the basis on which Examiners were instructed to award marks. It does not indicate the details of the discussions that took place at an Examiners’ meeting before marking began, which would have considered the acceptability of alternative answers. Mark schemes should be read in conjunction with the question paper and the Principal Examiner Report for Teachers. Cambridge will not enter into discussions about these mark schemes. Cambridge is publishing the mark schemes for the May/June 2016 series for most Cambridge IGCSE®, Cambridge International A and AS Level components and some Cambridge O Level components.
Mark scheme, page 2
Page 2 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 1 One mark for each box on the left. [3] Term Definition Marks allocated as follows: Compiler – 1 mark for two correct connecting lines Assembler – 1 mark for one correct connecting line Interpreter – 1 mark for two correct connecting lines 2 (a) 00110111 [1] (b) 83 [1] (c) 10011010 [2] Marks allocated as follows: 1 mark for the most significant bit 1 mark for the remaining 7 bits (d) 78 [1] The software reads each statement and checks it before running it. The software halts when it encounters a syntax error. Assembler Interpreter The software translates low-level statements into machine code for the processor to execute. The software reads the source code and reports all errors. The software produces an executable file. The software translates a high level language program into machine code for the processor to execute Compiler
Mark scheme, page 3
Page 3 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 3 (a) Four points from: [4] • The Program Counter (PC) holds the address of the next instruction to be fetched • The address in the Program Counter (PC) is copied to the Memory Address Register (MAR) • The Program Counter (PC) is incremented • The instruction is copied to the Memory Data Register (MDR) o …. from the address held in the Memory Address Register (MAR) • The instruction from the Memory Data Register (MDR) is copied to the Current Instruction Register (CIR) (b) One mark for each statement or letter in the correct place. [4] At the end of the cycle for the current instruction B If the interrupt flag is set, D, A and C The interrupted program continues its execution At the end of the cycle for the current instruction the processor checks if there is an interrupt. If the interrupt flag is set, the register contents are saved, the address of the Interrupt Service Routine (ISR) is loaded to the Program Counter (PC) and when the ISR completes, the processor restores the register contents. The interrupted program continues its execution. 4 (a) Three from: [3] • The height/amplitude of the (sound) wave is determined. • At set (time) intervals // by example of sensible time period. • To get an approximation of the sound wave • And encoded as a sequence of binary numbers // and converted to a digital signal. • Increasing the sampling rate will improve the accuracy of the recording. (b) (i) No mark awarded for identifying method. Three marks for justification. [3] Lossy – Three points from: • The human ear will not notice that the decompressed stream will not be identical to the original (file) / that parts of the original data have been discarded / removed / deleted. • File size reduction is greater than using lossless. • Email has limits on file sizes (on attachments) / a smaller file will take less time to transmit. • The file may not need to be of high precision / accuracy. • The producer has requested an mp3 file. Lossless – Three points from: • The file needs to be high precision / accuracy. • None of the original data is lost / the decompressed file will be identical to the original. • The producer has requested a flac file.
Mark scheme, page 4
Page 4 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 (ii) Three points from: [3] • Lossless method of compression. • Reduces (the physical size of) a string of adjacent, identical characters/pixels / bytes etc.. • The repeating string (a run) is encoded into two values. • One value represents the number of (identical) characters in the run (the run count). • The other value is the code of the character / colour code of pixel etc. in the run (the run value). • The run value and run count combination may be preceded by a control character. • Any valid example given. (iii) Two marks for three correct rows, one mark for two correct rows. [2] Row 1: 153 10 255 3 153 3 Row 2: 153 9 255 6 153 1 Row 3: 153 7 255 9 Alternative correct answer: Row 1: 153 9 255 2 153 2 Row 2: 153 8 255 5 153 0 Row 3: 153 6 255 8 5 One mark per row. [4] No mark if more than one tick in any row. Description Open source Shareware Commercial Software is purchased before it can be used Source code comes with the software Software is provided free on a trial basis The software can be modified by the user
Mark scheme, page 5
Page 5 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 6 One mark for identifying the principle, one mark for an example that is in the context of this scenario. Maximum of two marks per principle. Maximum of three principles. [6] • PUBLIC / Software engineers shall act consistently with the public interest. o Example in context • CLIENT AND EMPLOYER / Software engineers shall act in a manner that is in the best interests of their client and employer (consistent with the public interest.) o Example in context • PRODUCT / Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. o Example in context • JUDGEMENT / Software engineers shall maintain integrity and independence in their professional judgment. o Example in context • MANAGEMENT / Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. o Example in context • PROFESSION / Software engineers shall advance the integrity and reputation of the profession (consistent with the public interest). o Example in context • COLLEAGUES / Software engineers shall be fair to and supportive of their colleagues. o Example in context • SELF / Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. o Example in context
Mark scheme, page 6
Page 6 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 7 (a) Internet Protocol [1] (b) [4] Address Denary / Hexadecimal Valid or Invalid Reason 3.2A.6AA.BBBB Hexadecimal Invalid One point from: • This is more than 32 bits • 6AA /BBBB in Hex is bigger than FF / 255 in denary • 6AA / BBBB uses more than 8 bits / a byte • The third / fourth group is bigger than FF / 255 in denary • The third / fourth group uses more than 8 bits / a byte 2.0.255.1 Denary Valid There are 4 bytes, each 255 or below // All the values are in the range 0 - 255 6.0.257.6 Denary Invalid 257 is above 255 // The third group is above 255 0A.78.F4.J8 Hexadecimal Invalid J is not a valid hexadecimal digit // J8 is not a valid Hex number One mark for each combination of valid or invalid and the reason. (c) Two points from: [2] • Public address can be reached across the Internet. • Private address can only be reached internally/through the LAN/Intranet // private address cannot be reached across the Internet. • NAT (Network Address Translation) is necessary for a private IP address to access the Internet directly. • A private address is more secure than a public address // A public address is less secure than a private address. • Public addresses are provided by ISP / assigned by InterNIC // Private addresses are assigned by the router (of the network concerned). • Public addresses are unique (to the Internet) // Private addresses (are unique within their network, but) can be duplicated within other (discrete) networks. • 10.0.0.1 to 10.255.255.254 and 172.16.0.1 to 172.31.255.254 and 192.168.0.1.to 192.168.255.254 form the private address space // IP addresses from the private address space are never assigned as public.
Mark scheme, page 7
Page 7 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 8 (a) (i) Database Management System [1] (ii) One mark for identifying the way in which the data security is ensured, and one mark for a further description. Maximum of two marks per method. Maximum of two methods. [4] • Issue usernames and passwords... o stops unauthorised access to the data o any further expansion e.g. strong passwords / passwords should be changed regularly etc… • Access rights / privileges... o so that only relevant staff / certain usernames can read/edit certain parts of the data o can be read only, or full access / read, write and delete o any relevant example e.g. only class tutors can edit details of pupils in their tutor group • Create (regular / scheduled) backups... o in case of loss/damage to the live data a copy is available o any relevant example e.g. backing up the attendance registers at the end of each day and storing the data off-site/to a separate device • Encryption of data... o if there is unauthorised access to the data it cannot be understood // needs a decryption key o any relevant example e.g. personal details of pupils are encrypted before being sent over the Internet to examination boards • Definition of different views... o composed of one or more tables o controls the scope of the data accessible to authorised users o any relevant example e.g. teachers can only see their classes • Usage monitoring / logging of activity... o creation of an audit /activity log o records the use of the data in the database / records operations performed by all users / all access to the data o any relevant example, e.g. Track who changed a student’s grade (iii) Two points from: [2] • Set up search criteria • To find / retrieve / return the data that matches the criteria • Any relevant example e.g. find pupils who were absent on a particular day
Mark scheme, page 8
Page 8 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 (iv) Three points from: [3] • By storing data in (separate) linked tables data redundancy is reduced / data duplication is controlled... • Compatibility / data integrity issues are reduced as data only needs to be updated once / is only stored once. • Unwanted or accidental deletion of linked data is prevented as the DBMS will flag an error. • Program - data dependence is overcome. • Changes made to the structure of the data have little effect on existing programs. • Ad-hoc / complex queries can be more easily made as the DBMS will have a query language/ QBE form. • Unproductive maintenance is eliminated as changes only need to be made once (rather than changing multiple programs). • Fields can be added or removed without any effect on existing programs (that do not use these fields). • Security / privacy of the data is improved as each application only has access to the fields it needs. • There is better control of data integrity as the DBMS (uses its Data Dictionary) to perform validation checks on data entered. (b) (i) Two points from: [2] • The Primary Key in CLASS is ClassID • The Foreign Key of CLASS-GROUP is ClassID. • The Primary Key of CLASS is also included in CLASS-GROUP as a Foreign Key, (which links to CLASS table) (ii) Many-to-one [1] (iii) One mark per statement. Several statements may be on the same line. [4] SELECT StudentID, FirstName FROM STUDENT WHERE TutorGroup = "10B" // WHERE (TutorGroup = "10B") ORDER BY LastName ASC;
Mark scheme, page 9
Page 9 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 (iv) One mark per statement. Several statements may be on the same line. [4] SELECT STUDENT.LastName FROM STUDENT, CLASS-GROUP WHERE ClassID = "CS1" // WHERE (ClassID = "CS1") AND CLASS-GROUP.StudentID = STUDENT.StudentID; One mark per statement. Several statements may be on the same line. SELECT STUDENT.LastName FROM STUDENT INNER JOIN CLASS-GROUP ON CLASS-GROUP.StudentID = STUDENT.StudentID WHERE ClassID = "CS1" // WHERE (ClassID = "CS1"); 9 (a) (i) One mark for the contents of the accumulator and one mark for the reason. [2] Accumulator contents: 0100 0101 Reason: Address is 60 Contents of the index register is 8 And 60 + 8 = 68 in denary gives the address The contents of which is 0100 0101 in binary. (ii) 0000 0111 [1]
Mark scheme, page 10
Page 10 Mark Scheme Syllabus Paper Cambridge International AS/A Level – May/June 2016 9608 12 © Cambridge International Examinations 2016 (b) Instruction address Working space ACC Memory address IX OUTPUT 100 101 102 103 20 100 1 0 1 50 20 51 21 52 21 53 100 54 120 55 56 57 59 2 60 20 61 120 62 'x' 63 One mark for each shaded block. [7] • Contents of the Accumulator in first 2 lines (instruction addresses 50 and 51) • Updating address 103 (instruction 52) • Loading the Accumulator and addition (instructions 53 and 54) • Not executing instruction 58 • Incrementing the index register (instruction 59) • Loading the Accumulator and addition (instructions 60 and 61) • Correct output of 'x' (instruction 62)
What you needed in this session
Cambridge’s own grade thresholds for 2016 May/June, Paper 1 · Variant 2. A higher threshold means an easier paper — the bar moves with how the cohort did.