9608 AS-AL SOW CompSci v1 1
9608 AS-AL SOW CompSci v1 1
9608 AS-AL SOW CompSci v1 1
Contents
Introduction............................................................................................................................................................................................................................................. 3
1.1 Information representation................................................................................................................................................................................................................ 6
1.2 Communication and internet technologies...................................................................................................................................................................................... 14
1.3 Hardware........................................................................................................................................................................................................................................ 19
1.4 Processor fundamentals................................................................................................................................................................................................................. 23
1.5 System software............................................................................................................................................................................................................................. 28
1.6 Security, privacy and data integrity................................................................................................................................................................................................. 31
1.7 Ethics and ownership...................................................................................................................................................................................................................... 34
1.8 Database and data modelling......................................................................................................................................................................................................... 36
2.1 Algorithm design and problem-solving............................................................................................................................................................................................ 42
2.2 Data representation........................................................................................................................................................................................................................ 48
2.3 Programming.................................................................................................................................................................................................................................. 51
2.4 Software development.................................................................................................................................................................................................................... 58
3.1 Data representation........................................................................................................................................................................................................................ 62
3.2 Communication and internet technologies...................................................................................................................................................................................... 67
3.3 Hardware........................................................................................................................................................................................................................................ 72
3.4 System software............................................................................................................................................................................................................................. 78
3.5 Security........................................................................................................................................................................................................................................... 87
3.6 Monitoring and control systems...................................................................................................................................................................................................... 90
4.1 Computational thinking and problem-solving.................................................................................................................................................................................. 92
4.2 Algorithm design methods............................................................................................................................................................................................................... 97
4.3 Further programming.................................................................................................................................................................................................................... 100
4.4 Software development.................................................................................................................................................................................................................. 105
V1.1 2
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Introduction
This scheme of work provides ideas about how to construct and deliver a course. The syllabus has been broken down into teaching units with suggested teaching
activities and learning resources to use in the classroom. This scheme of work, like any other, is meant to be a guideline, offering advice, tips and ideas. It can
never be complete but hopefully provides teachers with a basis to plan their lessons. It covers the minimum required for the Cambridge AS and A Level course but
also adds enhancement and development ideas on topics. It does not take into account that different schools take different amounts of time to cover the
Cambridge AS and A Level course.
Outline
Whole class (W), group work (G), pair (P) and individual activities (I) are indicated, where appropriate, within this scheme of work. Suggestions for homework (H)
and formative assessment (F) are also included. The activities in the scheme of work are only suggestions and there are many other useful activities to be found in
the materials referred to in the learning resource list.
Opportunities for differentiation are indicated as basic and challenging; there is the potential for differentiation by resource, length, grouping, expected level of
outcome, and degree of support by teacher, throughout the scheme of work. The length of time allocated to a task is another possible area for differentiation.
V1.1 3
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Teacher support
Teacher Support (https://teachers.cie.org.uk) is a secure online resource bank and community forum for Cambridge teachers, where you can download specimen
and past question papers, mark schemes and other resources. We also offer online and face-to-face training; details of forthcoming training opportunities are
posted online.
This scheme of work is available as a PDF and an editable version in Microsoft Word format; both are available on Teacher Support at https://teachers.cie.org.uk.
If you are unable to use Microsoft Word you can download Open Office free of charge from www.openoffice.org.
Resources
The up-to-date resource list for this syllabus, including textbooks endorsed by Cambridge, is listed at www.cie.org.uk and Teacher Support
https://teachers.cie.org.uk.
Endorsed textbooks have been written to be closely aligned to the syllabus they support and have been through a detailed quality assurance process. As such,
all textbooks endorsed by Cambridge for this syllabus are an ideal resource to be used alongside this scheme of work as they cover each learning objective.
The particular website pages in the learning resource column of this scheme of work were selected when the scheme of work was produced. Other aspects of the
sites were not checked and only the particular resources are recommended.
V1.1 4
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
How to get the most out of this scheme of work – integrating syllabus content, skills and teaching strategies
We have written this scheme of work for the Cambridge International AS & A Level Computer Science (9608) syllabus and it provides some ideas and suggestions
of how to cover the content of the syllabus. We have designed the following features to help guide you through your course.
V1.1 5
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 6
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Provide learners with further questions for each and ask them to carry out the conversion.
Another way to check learners understanding is to give them the answers to some conversions
and ask them to check if they are correct. (I)
Resources:
A step-by-step explanation of how to convert from decimal to binary:
http://courses.cs.vt.edu/~csonline/NumberSystems/Lessons/DecimalToBinaryConversion/
index.html
Notes on hexadecimal:
http://courses.cs.vt.edu/~csonline/NumberSystems/Lessons/HexAndOctalNumbers/index.html
V1.1 7
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 8
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Another way is to explain it in terms of a ‘milometer’ turned backwards past zero. In decimal, a
milometer showing 0000 when turned back 1 mile would show 9999. A binary milometer would
show 1111. This represents −1. Let learners work out what the milometer would show when
turned back 2, 3 etc. (I)
Check that learners can recognise whether a binary number is positive or negative.
Check that learners can find a rule to recognise even numbers (positive and negative). Make
sure that learners know they need a specified number of bits to represent signed integers. This
means leading zeros for positive integers.
Resources:
Notes on 2’s complement:
http://courses.cs.vt.edu/~csonline/NumberSystems/Lessons/TwosComplement/index.html
Notes and exercises for two’s complement showing two different methods of conversion (binary
subtraction not required):
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Data_Representation/Two%27s_complement
Sequence of two videos of very detailed explanation (with background) of how to store negative
integers:
www.youtube.com/watch?v=Ys_t6iSjboM (17:05 min)
V1.1 9
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Comprehensive notes and exercises for ASCII:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Data_Representation/ASCII
express a denary number in Binary Coded Provide learners with a worksheet containing codes in binary, hexadecimal and BCD to be
Decimal (BCD) and vice versa converted into denary. Also provide conversions from denary values in both number bases and
BCD (include how many bytes would be required). Wikipedia notes (‘Basics’ only required) gives
describe practical applications where BCD is a good explanation why this representation is significant in Computer Science. (I)
use
Resources:
Notes on BCD including practical application:
http://en.wikipedia.org/wiki/Binary-coded_decimal
V1.1 10
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
show understanding of how data for a vector Discuss with learners how these features might be used in practice. (W)
graphic is represented and encoded
use the terminology associated with vector Resources:
graphics: drawing object, property and Introduction:
drawing list http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
show understanding of how typical features
Fundamentals_of_Data_Representation/Images
found in bitmapped and vector graphics
software are used in practice
Detailed notes and exercises on bitmaps:
justify where bitmapped graphics and/or http://en.wikibooks.org/wiki/A-level_Computing/AQA/
vector graphics are appropriate for a given Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
task Fundamentals_of_Data_Representation/Bitmaps
Classroom activity:
http://csunplugged.org/image-representation
V1.1 11
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 12
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 13
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Discuss transmission speeds for text, graphics and video and relate this (using the internet as
the background) to the need for small file sizes, and particularly file compression. (W)
Resources:
Notes on compression techniques with exercises:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Data_Representation/Sound_compression
Nyquist theorem:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Data_Representation/Nyquist-theorem
Links to some interesting background reading for the more able learners:
www.cs4fn.org/mathemagic/sonic.html
V1.1 14
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
A video of a teacher talking about the internet and the www (ignore intranet) (4:42 min):
www.youtube.com/watch?v=KZNgyNPZEvw&list=PL997A0CD223D94B27
A video of a teacher talking about client-server and peer-peer network models (7:24 min):
www.youtube.com/watch?v=AWFLGFV4R4c&list=PL997A0CD223D94B2
V1.1 15
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 16
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 17
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 18
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 19
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
1.3 Hardware
Syllabus ref Learning objectives Suggested teaching activities
1.3.1 Input, identify hardware devices used for input, Ask learners to produce a summary of the internal operation of hardware devices. This could be
output and output, secondary storage completed as group work where each group prepares a different type of device and presents to
storage devices the rest of the class. (G) (P)
show understanding of the basic internal
operation of the following specific types of Resources:
device:
Brief overview of hardware and software:
- keyboard http://en.wikibooks.org/wiki/A-level_Computing/AQA/
- trackerball mouse Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Fundamentals_of_Computer_Systems/Hardware_and_software
- optical mouse
- scanner Brief overview of I/O devices:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
- inkjet printer Computer_Components,_The_Stored_Program_Concept_and_the_Internet/Hardware_Devices/
- laser printer Input_and_output_devices
V1.1 20
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Notes on how to check the type of memory in your computer:
www.ehow.com/how_6467551_check-type-memory-computer-running.html
V1.1 21
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Ask your learners complete the output columns for each of the truth tables with appropriate
explanations. (I)(F)
Give your learners a worksheet with a number of examples of more complex logic circuits each of
which is comprised of a number of logic gates. Show learners how to tackle a couple of the
problems. If the logic circuit has three inputs explain why there are eight possible input
combinations in the truth table. Show learners that labelling intermediate parts of the circuit and
including them in the table is often of assistance in completing the truth table. (W) Get learners to
complete the other problems. (I) (F)
understand and define the functions of NOT,
AND, OR, NAND, NOR and XOR (EOR)
Give your learners a worksheet with a number of examples of written statements that can be
gates including the binary output produced
turned into simple logic circuits. Show learners how to tackle a couple of the problems. (W) Get
from all the possible binary inputs (all gates,
your learners to complete the other problems. (I)(F)
except the NOT gate, will have two inputs
only)
Learners can check their answers and experiment with circuits using a logic gate simulator. (There
construct the truth table for each of the logic are different versions on the web. Check which one suits you best.)
gates above
construct a logic circuit from either: Resources:
Notes of logic gates and simple exercises:
- a problem statement, or
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
- a logic expression Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Fundamental_Hardware_Elements_of_Computers/Logic_Gates
construct a truth table from either:
- a logic circuit, or Exercises on simple gate combinations:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
- a logic expression Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
show understanding that some circuits can Fundamental_Hardware_Elements_of_Computers/Boolean_gate_combinations
be constructed with fewer gates to produce
the same outputs Exercises on building circuits:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Fundamental_Hardware_Elements_of_Computers/Building_circuits
V1.1 22
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Part 1: Basics
www.youtube.com/watch?v=_76g8EM4DVU&list=PL997A0CD223D94B27 (9:26 min)
Part 2: Advanced
www.youtube.com/watch?v=jaPGb3OwRkA&list=PL997A0CD223D94B27 (10:43 min)
Part 3: Algebra
www.youtube.com/watch?v=YsaHu2_VfGk&list=PL997A0CD223D94B27 (8:06 min)
V1.1 23
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 24
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 25
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Using a set of simple Assembly Language/Machine Code instructions trace the contents of each of
the registers, this can be done as a whole class exercise giving the opportunity to work through
the cycle several times using different types of instruction.
This could again be all done using the Little Man Computer simulation
Resources:
Theory notes and a presentation on the fetch−execute cycle:
www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_3/fetch_execute_cycle/
theory_fetch_execute.html
V1.1 26
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
- input and output of data Use a simulator, so learners can check their programs. (I)(F)
- arithmetic operations
Stepping through the execution slowly so learners can follow what happens inside the different
- unconditional and conditional jump registers/memory locations. Learners should be able to predict what the next step will be. This
instructions could be done as a whole class exercise if the whole class can see the same output screen. (W)
- compare instructions
Resources:
- modes of addressing: immediate,
Notes and exercises on instruction set:
direct, indirect, indexed, relative
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
(No particular instruction set will be Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
expected but candidates should be familiar Machine_Level_Architecture/Machine_code_and_processor_instruction_set
with the type of instructions given in the
table in the syllabus on page 20.) Notes on the different addressing modes:
www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_8/lowlevel/miniweb/index.htm
Further exercises:
https://sites.google.com/a/bxs.org.uk/mrkershaw/lmc
V1.1 27
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 28
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
1.5.2 Utility show an understanding of the need for Ask learners to rapidly list some utility software they may have used or installed. Draw up a
programs typical utility software used by a PC summary table (utility, what it does) based on learner contributions. It may help the discussion to
computer system: classify the utility as either: configuring, optimising, or maintaining the system. (W)
- disk formatter Resources:
- virus checker Notes and exercises on system software:
- defragmenter software http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
- disk contents analysis/disk repair Fundamentals_of_Computer_Systems/System_software#Utility_programs
software
- file compression Utility software examples:
http://study.com/academy/lesson/systems-software-utility-software-device-drivers-firmware-
- backup software gui.html
V1.1 29
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 30
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Create a table with some statements about compilers and some statements about interpreters.
Ask your learners to read the statements and tick which apply to a compiler and which apply to an
interpreter. (I)(F)
Resources:
Link to theory notes on compilers and interpreters:
www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_2/translators_compilers/miniweb/
pg14.htm
V1.1 31
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
- encryption
- access rights to data (authorisation)
show awareness of what kind of errors can
occur and what can be done about them
V1.1 32
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
o checksum check Discuss what verification means. Describe verification of data as manual checking that the data
has been typed in correctly, sometimes visually but more often by double data entry.
Get learners to complete a matching terms and definitions activity for validation and verification
methods. They match the term to the definition and then put them in the validation or verification
pile depending on what they are. (I)(F)
Discuss the need for parity checks and checksums as well as other data checking systems at this
point. Include notes on echoing back – to include the need for Duplex or Half-Duplex to allow this
to happen. (W)
The learners should be able to calculate parity bits (both odd and even should be understood).
Give learners a table of binary numbers and ask learners to calculate the parity bit for each
depending it is odd or even. Learners could also be given numbers where the arity bit is already
calculated and asked to identify if it is correct or not. (I)(F)
Resources:
Notes on validation and verification:
http://www.bbc.co.uk/education/guides/zdvrd2p/revision
V1.1 33
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 34
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 35
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Notes on shareware:
http://en.wikipedia.org/wiki/Shareware
V1.1 36
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 37
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Where LoanNo is the primary key of the loan table, BookNo and LibMemNo are foreign keys from
other tables in a library database.
Use everyday occurrences to demonstrate these concepts (e.g. the learner−teacher model can be
discussed showing the idea of a many-to-many relationship between learner and teacher and how
the introduction of other entities such as class meeting can help organise the model).
Explain how the relationships need to be carefully labelled in order to show understanding. Similar
data structures can be used to the ones prepared for the normalisation exercise, this will help
enforce how these two techniques complement each other. (W)
Give learners a worksheet with some entities and ask them to identify the correct relationships
between each. (I)(F)
Resources:
Introductory notes on databases:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Databases/
Databases
V1.1 38
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 39
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Provide pre-determined scenarios (e.g. customer orders, student records etc.) that allow the
learners to identify, specify and normalise the data structures required. (I)(F)
Resources:
Normalisation:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Databases/
Entity_relationship_modelling
Theory on normalisation:
www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_9/normalisation/miniweb/index.htm
V1.1 40
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
http://en.wikipedia.org/wiki/Data_definition_language
V1.1 41
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
INSERT:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Databases/
INSERT
DELETE:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Databases/
DELETE
UPDATE:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/Databases/
UPDATE
V1.1 42
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 43
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Show learners some examples of program flowcharts and pseudocode. Do dry runs on the
examples to show learners i. how to tackle dry runs and ii. how to interpret flowcharts symbols and
pseudocode vocabulary. (W)
Give learners guidance on the symbols to be used in producing flowcharts and the words to be
used in the pseudocode.
Get leaners to produce flowcharts and pseudocode for a number of simple problems. Give the
learners some further questions on dry running some algorithms and also some questions on
producing their own flowcharts and pseudocode. Show model solutions to the question. (I) (F)
Resources:
Notes on algorithm design:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Algorithm_design
Notes on pseudocode:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Pseudo_code
RAPTOR, free program flowchart interpreter software that allows learners to draw a flowchart and
check its functioning by executing it:
http://raptor.martincarlisle.com/
V1.1 44
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
use logic statements to define parts of an Give a similar problem to four ‘teams’ in the classroom. The problem is to design a new
algorithm solution computerised traffic light system for (name a local set of highway traffic lights controlling a road
junction). Identify the four areas to be addressed as discussed in the production line example. (G)
Give each group time to think of possible solutions, put all solutions together and see if that fulfils
the original task. In this instance it does not matter if the group's solutions work – if not it is better
to provoke discussion about definition of each group's task, what we asked them to do, what input
they required and what output they were expected to give. This should develop the idea of
modular notation (on input, process, on output) as used in standard programming techniques. (G)
(F)
Resources:
Stages of problem solving:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Stages_of_problem_solving
Step-wise refinement:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Top-down_design_/_Step-wise_refinement
Structured programming:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/Fundamentals_of_Structured_Programming
V1.1 45
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 46
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 47
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 48
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Notes on data types:
http://en.wikipedia.org/wiki/Data_type
V1.1 49
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
2.2.2 Arrays use the technical terms associated with Demonstrate the purpose of an array using an example. (W)
arrays including upper and lower bound
Explain the purpose and structure of one-dimensional arrays. Explain memory allocation,
select a suitable data structure (1D or 2D initialising arrays and reading data into arrays. (W)
array) to use for a given task
use pseudocode for 1D and 2D arrays Set worksheet exercises to practise setting up one-dimensional arrays and reading data into these
(pseudocode will use square brackets to arrays. (I) (F)
contain the array subscript, for example a
1D array as A[1:n] and a 2D array as C[1:m, As a class activity or in small groups – design and write routine/s to perform a simple serial search
1:n]) on an array. (G)
write program code using 1D and 2D arrays Use a further example to demonstrate the need for multi-dimensional arrays and give learners
write algorithms/program code to process similar exercises to work on one-dimensional arrays. Discuss the need for dimensioning arrays
array data including: and demonstrate how to do this. (W)
-sorting using a bubble sort Introduce the concept of bubble sort / linear search and let learners use cards with different
numbers and manually work through the process. (W) Learners attempt to write the algorithm from
-searching using a linear search.
memory of previous exercise. (I)
Resources:
1D arrays:
www.pp4s.co.uk/main/tu-arrays-intro.html
1D arrays:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/One-Dimensional_Arrays
2D arrays:
www.pp4s.co.uk/main/tu-arrays-2D-arrays.html
2D arrays:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/Two-Dimensional_Arrays
V1.1 50
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
2.2.3 Files show understanding of why files are Discuss how records in a sequential file can be stored by opening a file, writing a record and then
needed closing the file. (W)
use pseudocode for file handling:
Discuss how a sequential file can be searched for a particular record and its contents output. (W)
OPENFILE <filename> FOR
READ/WRITE/APPEND // Open file Show how the algorithms produced above can be implemented in a program that: opens a file
(understand the difference between initially and closes it at the end. A user can choose, via a menu, to read a chosen record, update a
various file modes) chosen record, insert a new record and append a new record. Discuss the syntax of the file
READFILE <filename>,<string> // operation statements to clarify how they are achieved using the particular procedural language. It
Read a line of text from the fi le may be beneficial, if possible, to look at the file records before and after a number of operations
WRITEFILE <filename>,<string> // have been carried out on the file. This should help learners to understand more clearly the file
Write a line of text to the fi le operations that are carried out but also how the records are actually stored. (W)
CLOSEFILE // Close file
EOF() // function to test for the Resources:
end of the file
File handling:
write program code for simple file handling http://en.wikibooks.org/wiki/A-level_Computing/AQA/
of a text file, consisting of several lines of Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
text Fundamentals_of_Programming/File_handling
Sequential files:
www.dreamincode.net/forums/topic/29575-file-handling-in-visual-basic-6-part-1-sequential-files
V1.1 51
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
2.3 Programming
Syllabus ref Learning objectives Suggested teaching activities
2.3.1 write a program in a high-level language Give out a printed copy of a short program that uses both variables and constants. Discuss briefly
Programming implement and write a program from a given the terms variable, constant, identifier and reserved word/keyword. (W)
basics design presented as either a program
flowchart or pseudocode Get learners to list all the variables, constants, identifiers and reserved words/keywords present in
write program statements for: the program. Check answers ensuring that the terms have been correctly understood. (I)
- the declaration of variables and
constants Discuss with learners the fact that some languages require variables to be declared before use
- the assignment of values to variables whilst other languages do not. Discuss why it is useful to declare and name a constant. Show an
and constants example of code that demonstrates variable and constant declarations in both the ‘main’ program
- expressions involving any of the and in subroutines/procedures/functions. Use this code to discuss scope with learners and also
arithmetic or logical operators the advantages of declaring constants. (W)
given pseudocode will use the following
structures: Show learners a program for finding the average of a set of numbers (the number of numbers is
DECLARE <identifier> : <data input by the user) but written with ‘unsuitable’/‘obscure’ variable names. Ask learners to comment
type> // declaration on the program code. When the idea of using meaningful identifier names has been grasped get
<identifier> ← <value> or learners to rewrite the program changing the identifier names. (I)
<expression> // assignment)
INPUT <identifier> Discuss techniques for naming identifiers that aid readability (e.g. use of space, underscore, and
OUTPUT <string> capital letters). Often there are conventions about the names that are used. (W)
OUTPUT <identifier(s)>
Discuss the benefits of initialising variables. Give some examples where uninitialised variables
could lead to either run-time errors or erroneous results. Show that an uninitialised variable has a
value but not a predictable one. (W)
Discuss the advantages of putting comments into code. Show, using examples, that too many
comments can be as ineffective as too few comments. (W)
Demonstrate with examples the differences in making sense of code structure when indentation
and formatting are used. (W) Discuss the nature of an assignment statement: an expression is
evaluated and its result is assigned to a variable.
V1.1 52
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Operators:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/Arithmetic_operators
www.pp4s.co.uk/main/tu-op-intro.html
Defining constants:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/Constant_Definitions
Naming conventions:
http://en.wikipedia.org/wiki/Naming_convention_%28programming%29
V1.1 53
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 54
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 55
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 56
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 57
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
FUNCTION <identifier>
(<identifier>: <data type>)
RETURNS <data type> //
function has one or more
parameters
<statement(s)>
ENDFUNCTION
- a function is used in an expression, for
example
o x ← SQRT(n)
o WHILE NOT EOF()
write programs containing several
components and showing good use of
resources
V1.1 58
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 59
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 60
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Give the learners a number of small programs, with test plans that they should classify as black
box or white box testing. (I) Introduce the concepts of stub testing when discussing structured
programming and modules. (W)
For black box testing, learners should be shown how to select inputs which are normal, borderline,
and invalid.
As an example for black box testing, use the following (e.g. Problem: Read two numbers, ‘a’ and
‘b’. Put the larger of the numbers into the box ‘c’).
Conditions to be tested:
• both numbers positive
- ‘a’ larger
- ‘b’ larger
V1.1 61
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 62
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Pointers in Pascal:
www.pp4s.co.uk/main/tu-gaming-prelim-pointers.html
Notes on sets:
http://en.wikipedia.org/wiki/Set_(abstract_data_type)
V1.1 63
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 64
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 65
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 66
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 67
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
show understanding of the function of each Show that establishing the communication link initially is an important part of any successful
layer of the TCP/IP protocol communication. (Relate this to any of the non-computing examples used previously).
show understanding of the application of the Provide learners with partially complete TCP/IP diagrams and ask them, in pairs, to complete it.
TCP/IP protocol when a message is sent (P)
from one host to another on the internet
show understanding of how the BitTorrent Resources:
protocol provides peer-to-peer file sharing Notes and exercises on protocols:
show an awareness of other protocols http://en.wikibooks.org/wiki/A-level_Computing/AQA/
(HTTP, FTP, POP3, SMTP) and their Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
purposes Structure_of_the_Internet/Protocols
V1.1 68
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
3.2.2 Circuit show understanding of circuit switching and Describe circuit switching – a route is reserved from source to destination and the entire message
switching, where it is applicable is sent in order and therefore does not need to be reordered at the destination.
packet switching
and routers show understanding of packet switching Describe packet switching – explain the process of segmenting the message/data to be
show understanding of the function of a transmitted into several smaller packets. Each packet is labelled with its destination and the
router number of the packet. Each is despatched and many may go via different routes (routers). The
original message is reassembled in the correct order at the destination.
explain how packet switching is used to
pass messages across a network, including Learners could use the ‘ping’ and ‘tracert’ commands on a networked computer (I)
the internet
Resources:
Packet switching notes and exercises:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Structure_of_the_Internet/Packet_switching
Router notes:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Structure_of_the_Internet/Internet,_Intranet_and_World_Wide_Web#Routers
Internet:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Computer_Components,_The_Stored_Program_Concept_and_the_Internet/
Structure_of_the_Internet/Internet,_Intranet_and_World_Wide_Web#The_Internet
V1.1 69
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Packet switching:
http://computer.howstuffworks.com/router3.htm
V1.1 70
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Strengths
relative cost
easy to install and monitor (single line)
Weaknesses
Lots of traffic down a single spine.
Limitations of distance (300 m) without the need for signal boosting. If problems with the line whole
system/spine segment is down. Traffic collision and the potential for monitoring network traffic
from another workstation etc.
V1.1 71
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Ethernet:
http://en.wikipedia.org/wiki/Ethernet
http://computer.howstuffworks.com/ethernet6.htm
Network topologies:
http://whatis.techtarget.com/definition/network-topology
http://bryntegict.co.uk/resources/computing/theteacher/theory/cg3_1_2.htm
V1.1 72
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
3.3 Hardware
Syllabus ref Learning objectives Suggested teaching activities
3.3.1 Logic produce truth tables for common logic Give your learners worksheets with different logic circuits and in pairs let them produce truth tables
gates and circuit circuits including half adders and full adders for these. (P)
design
derive a truth table for a given logic circuit Learners can check their answers using a logic circuit simulator.
Resources:
Logic circuit simulator:
www.kolls.net/gatesim/gatesim%20demo.swf
http://www.logiccircuit.org/
V1.1 73
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 74
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Explanations of Karnaugh maps with simple worked examples:
www.wisc-online.com/Objects/ViewObject.aspx?ID=DIG5103
www.ee.surrey.ac.uk/Projects/Labview/minimisation/karnaugh.html
www.facstaff.bucknell.edu/mastascu/elessonsHTML/Logic/Logic3.html
Rules of simplification:
www.ee.surrey.ac.uk/Projects/Labview/minimisation/karrules.html
3.3.4 Flip-flops show understanding of how to construct a Introduce the circuits for flip-flops and work through their operation as a class discussion. (W)
flip-flop (SR and JK)
Learners can research how flip-flops are used. In groups they must give a presentation to the
describe the role of flip-flops as data storage class about their understanding of them. (G)
elements
Resources:
V1.1 75
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
SR flip flop:
www.electronics-tutorials.ws/sequential/seq_1.html
JK flip flop:
www.electronics-tutorials.ws/sequential/seq_2.html
V1.1 76
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Simple quiz:
www.eastaughs.fsnet.co.uk/cpu/further-quiz.htm
V1.1 77
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 78
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Reinforce the discussion about the purpose of operating systems with hand outs or notes.
Using demonstration materials (including screenshots or live examples) illustrate the differences
between graphical (of the various types) and command line interfaces. Ask learners to propose
appropriate names for the different types, and steer them towards the correct names. (W)
Discuss the types of user interfaces which make them appropriate for use by different types of
users and in different situations. Lead the discussion with questions such as:
Reinforce the class discussion with notes or hand-outs describing the characteristics of different
types of user interfaces.
V1.1 79
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Explain, using diagrams on the board, the use of vectors to determine the location in memory of
the appropriate routine. (W)
V1.1 80
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Process management notes:
http://en.wikipedia.org/wiki/Process_management_(computing)
Scheduler notes:
http://en.wikipedia.org/wiki/Two-level_scheduling
http://en.wikipedia.org/wiki/Interrupt
V1.1 81
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Page thrashing:
http://www.geekinterview.com/question_details/3333
http://web.stanford.edu/class/cs140/cgi-bin/lecture.php?topic=paging
V1.1 82
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 83
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Discuss the advantages and disadvantages of compilation and interpretation highlighting when it
would be appropriate to use a compiler or an interpreter (e.g. use an interpreter during program
development as errors can be easily checked and modified). As learners have used translators
they should be able to contribute to a discussion.
Provide learners with a table of characteristics and statements for interpreters and compilers. They
should identify if each statement or characteristics belongs to a compiler or an interpreter. (I)
Resources:
Notes on interpreter:
http://en.wikipedia.org/wiki/Interpreter_(computing)
Notes on compilers:
http://en.wikipedia.org/wiki/Compiler
V1.1 84
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Describe, in general terms, what happens during each phase including tokenisation, the use of the
symbol table and handling errors. Include reference to source code and object code. Use sample
code from a programming language that your learners are familiar with to demonstrate the general
principles.
Resources:
Detailed notes on compilation:
www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_2/lexical_syntax_analysis/miniweb/
index.htm
Lexical analysis:
http://en.wikipedia.org/wiki/Lexical_analysis
Syntax analysis:
http://en.wikipedia.org/wiki/Syntax_analysis
V1.1 85
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Notes on syntax diagrams:
http://en.wikipedia.org/wiki/Syntax_diagram
Notes on BNF:
http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form
V1.1 86
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Demonstrate how a particular tree traversal method can produce the infix form of an expression.
Demonstrate clearly (have a succession of stacks rather than just one) to show how the stack
contents change when a reverse Polish string of characters is processed. (W)
Give your learners a prepared sheet of exercises with empty stacks to encourage the correct
layout of answers. (I)
Resources:
Notes on Reverse Polish notation:
http://en.wikipedia.org/wiki/Reverse_Polish_notation
V1.1 87
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
3.5 Security
Syllabus ref Learning objectives Suggested teaching activities
3.5.1 show understanding of the terms: public Start with a review of the security topic from Section 1.6. Discuss how secure symmetric
Asymmetric key, private key, plain text, cipher text, encryption is and the reason for asymmetric encryption. (W)
keys and encryption and asymmetric key
encryption cryptography Develop, through class discussion, how public and private keys are used to send encrypted
methods messages. (W)
show understanding of how the keys can be
used to send a private message from the Provide the learners with partially complete diagrams they can complete. (I)
public to an individual/organisation
show understanding of how the keys can be Resources:
used to send a verified message to the Encryption:
public www.howstuffworks.com/encryption.htm
http://en.wikipedia.org/wiki/Ciphertext
http://en.wikipedia.org/wiki/Public-key_cryptography
V1.1 88
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Provide the learners with partially complete diagrams they can complete.(I)
Resources:
What is a digital signature?:
http://computer.howstuffworks.com/digital-signature.htm
V1.1 89
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
3.5.4 Malware show understanding of malware: viruses, Give learners a set of term and definitions, they need to match them. (I)
worms, phishing, pharming
Discuss how the effect of malware can be restricted. (W)
describe vulnerabilities that the various
types of malware can exploit Resources:
describe methods that can be used to Avoiding malware:
restrict the effect of malware http://www.pcworld.com/article/210891/malware.html
https://zeltser.com/malware-in-the-enterprise/
V1.1 90
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
http://en.wikipedia.org/wiki/Real-time_computing
http://en.wikipedia.org/wiki/Control_system
http://en.wikipedia.org/wiki/Sensor
http://en.wikipedia.org/wiki/Actuator
www.bbc.co.uk/schools/gcsebitesize/ict/measurecontrol/0computercontrolrev1.shtml
V1.1 91
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Notes and exercises for bit manipulation:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Fundamentals_of_Programming/Logical_bitwise_operators
V1.1 92
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Abstraction notes:
http://en.wikipedia.org/wiki/Data_abstraction
V1.1 93
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
write an algorithm to implement an insertion sort Demonstrate the following sort routines (W):
bubble sort
write an algorithm to implement a bubble sort
insertion sort
Provide learners with an example of each sorting algorithm and ask them, in pairs, to comment on
what each part of it is doing. (P)
show understanding that performance of a sort The standard algorithms for each type of ADT should be covered when teaching the relevant ADT.
routine may depend on the initial order of the
data and the number of data items Resources:
write algorithms to find an item in each of the Links to theory notes for searching and sorting:
following: linked list, binary tree, hash table www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_5/data_structures/miniweb_search/
index.htm
write algorithms to insert an item into each of the
following: stack, queue, linked list, binary tree, Animation of many different sort algorithms:
hash table www.sorting-algorithms.com/
write algorithms to delete an item from each of
the following: stack, queue, linked list Notes and exercises for bubble sort and linear search:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Searching_and_sorting
V1.1 94
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
show understanding that different algorithms Although BigO notation is not part of this syllabus, the resource listed here gives an insight into the
which perform the same task can be compared efficiency of different algorithms.
by using criteria such as time taken to complete
the task and memory used Present learners with different algorithms to do the same task. They could then program these and
run them to compare speeds. (I)
Resources:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/
Problem_Solving/BigO_notation
V1.1 95
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 96
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Give learners some questions (include some non-mathematical examples, e.g. printing a list of
items). Check their answers. (I)
Compare iterative and recursive algorithms for a couple of problems. Discuss size of solution,
elegance of solution, run-time memory requirements and speed of execution with regard to the two
alternative versions of a solution. (W)
Resources:
Definition of recursion + lots of examples:
http://en.wikipedia.org/wiki/Recursion_%28computer_science%29
V1.1 97
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 98
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 99
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Detailed introduction to state-transition diagrams:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Data_Representation_and_Practical_Exercise/
Problem_Solving/Finite_state_machines
www.nikhef.nl/~p63/www/STD.html
Turnstile example:
http://en.wikipedia.org/wiki/Finite-state_machine
V1.1 100
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 101
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Resources:
Programming paradigms:
http://en.wikibooks.org/wiki/A-level_Computing/AQA/
Problem_Solving,_Programming,_Operating_Systems,_Databases_and_Networking/
Programming_Concepts/Programming_paradigms
V1.1 102
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 103
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 104
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
4.3.4 Use of describe features in editors that benefit Get learners to discuss the features in a chosen development environment. (W)
development programming
tools/programmi Get learners to find out which debugging features listed in http://en.wikipedia.org/wiki/Debugger
ng environments know when to use compilers and interpreters are available in their development environment. They should have practical experience of using
describe facilities available in debuggers and these with suitable program code (pre-prepared) (I):
how and when they should be deployed stepping
variable watch
breakpoints
Discuss which translator is more appropriate if both compiler and interpreter exist for a
programming language. (W)
V1.1 105
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
Libraries:
https://en.wikipedia.org/wiki/Library_(computing)
https://www.techopedia.com/definition/3828/software-library
http://searchsqlserver.techtarget.com/definition/library
V1.1 106
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 107
Cambridge International AS & A Level Computer Science (9608) – from 2017 Scheme of Work
V1.1 108