Specification reference Specification content Learning outcomes Suggested timing (lessons) Possible teaching and learning activities Resource Exam and tips’ 3.1.1, 3.2.1, 3.2.2, 3.2.3, 3.2.7 Understand and use string, integer and real data types appropriately. Understand how variable declaration and assignment can be used in programs. Be able to use addition, subtraction, multiplication and real division. Be able to perform and output. Use meaningful identifier names and Apply the listed programming techniques. Choose appropriate data types. Use meaningful identifier names and know why. Understand what an algorithm is and the difference between an algorithm and program. 3 hours Students should be introduced to basic input and output commands, declaring variables (if required by language), and using arithmetic operations. Students will also need to be taught basic aspects of the IDE for their programming language eg how to run a program, how to load/save, how error messages are presented and what they mean. Students should be introduced to the idea of an algorithm and that a program is an implementation of an algorithm. (and some other concepts not required until later).
Be able to use random number generation. Be able to use some string handling techniques. Be able to write simple data validation routines. Be able to write simple authentication routines. Understand and explain the term abstraction. Be able to write simple authentication and validation routines. Understand what abstraction is. does not have a loop, they should be taught how to implement post-conditioned loops as equivalent pre-conditioned loops. Students also need to know how to express types of loop as pseudo-code and flowcharts. As students are now starting to tackle more complex problems, the concept of abstraction, ie removing unnecessary details from a problem, could be introduced at this point. Exercises could include:
comparing the efficiency of the search and sort algorithms representing a game of snakes and ladders using a one-dimensional array to indicate the positions of snakes and ladders. 3.1.1, 3.2.2, 3.2.3, 3.2.10, 3.2.11 Understand and explain the term decomposition. Describe the structured approach to programming. Be able to decompose problems into subroutines and call them and know why this is a good idea. Be able to perform integer division, including the use of remainders. 3 hours Students should be taught about why, when writing longer programs, it is useful to decompose them, and the facilities in their programming language to do this. They should also cover the difference between local and global variables. At this stage, (which is not required until later)
Explain the advantages of the structured approach. Understand the concept of subroutines and be able to use them in programs, including the use of local variables. Explain the advantages of using subroutines in programs. Integer division, including remainders. parameters and return values can be ignored. Exercises could include: making a maths toolkit, with a menu that is used to call different subroutines to work out (for example) the area of different shapes making a program that will allow conversion of numbers between different number bases, with different functions being used for different conversions eg binary to decimal
number or not and using this in a program to search for perfect numbers using In all subsequent programs, students should be encouraged to consider how the programs can be decomposed into functions with interfaces that use parameters and return values. 3.2.7 Be able to read/write from/to a text file. Be able to use text files for permanent storage of data. 4 Students first need to understand what a text file is. They should then modify some of the previous programs that they have written to read input from/ save output to a text file.
could be introduced here, for example, to store the size of a game board. Exercises could include: snakes and ladders noughts and crosses battleships. 3.2.6, 3.2.12 Use records (or equivalent) in the design of solutions to simple problems. Be able to write simple authentication routines. Use records. Be able to write simple authentication routines. 4 Students should be introduced to the concept of records and why logically grouping related data together is a sensible approach. Exercises could include: adapt the dictionary program that was written earlier to store Students using Python can use different methods for representing records. The approach that will be used in the programming exam is detailed in
3.1.1 Use a systematic approach to problem solving and algorithm creation representing those algorithms using pseudo-code and flowcharts. Explain simple algorithms in of their inputs, processing and outputs. Determine the purpose of simple algorithms. Students can understand algorithms expressed in pseudo-code and flowcharts and use these methods to write algorithms. They can trace the execution of algorithms using a trace table and identify the purpose of an algorithm. They can identify the inputs and outputs of an algorithm together with the required processing, 2 hours Throughout learning to program, students should be exposed to how algorithms can be expressed using or flowcharts. Students need to have some practice at being able to understand and write algorithms using these methods. They also need to be able to use tables to record the values of variables as an algorithm is stepped through and to be able to identify the purpose of an algorithm by tracing it. These skills will be assessed in the exam. It is useful to teach code
differences between them. Know that machine code and assembly language are considered to be low-level languages and explain the differences between them. Understand that ultimately all programming written in or assembly languages must be translated into machine code. machine code and assembly language. They should know that all programs must be converted to machine code before they can be executed. Students should understand the advantages and disadvantages of programming in and assembly languages. Students should know the purpose of and be able to compare the different types of translator. the opportunity to answer questions on it. Including real examples of assembly language and machine code is helpful. Students could be given some opportunity to write very simple programs in assembly language so that they can see how assembly language compares with a high-level language but this is not a requirement. Students using Visual Basic or C# could find the exe file that is output when they compile a program. Students could look at an assembly language instruction set (eg ARM) to consider the
3.3.5 Understand character sets including ASCII and Unicode and the advantages of Unicode. Understand character sets including ASCII and Unicode and the advantages of Unicode. Be able to use a character table to convert a message from binary to a character set and 1 hours Look at the ASCII table. Complete exercise converting a message from binary to characters and vice-versa. Note how similar characters are in blocks eg all capital letters. Consider limitations of ASCII (limited number of characters) and look at how Unicode solves these. This topic could be linked to programming through the use of the programming language commands for conversion between character codes and characters. Students need to be aware that similar characters run in blocks eg A = 65, B = 66 etc.
3.3.6 Understand how images can be represented as bitmaps, including key terms. Be able to calculate file Be able to convert between binary and data for black and white images. Define key terms eg pixel, colour depth. Calculate file for bitmap images. Convert between an and binary and 1.5 hours Look at bitmap images using a graphics package, use zoom to identify pixels and colours (possible link to hex). Introduce colour depth by considering how different patterns of 0s and 1s could be used to represent colours. A colour depth of n bits allows 2n colours. Perform some exercises where students have to convert small images between images and binary data and vice-versa. Only black and white images need to be considered. Explain how to calculate the size of an image file and then A bitmap image editor eg Paint. (note: vector graphics are not required)
students complete some sample calculations. 3.3.7 Understand analogue sound must be converted to digital form for storage. Describe how sound is represented using sample rate and sample resolution. Calculate sound file sizes. Understand the difference between analogue and digital. Be able to recognise analogue and digital quantities. Be able to explain how sample rate and sample resolution affect sample quality and file size. Be able to calculate file sizes for sound files. 1.5 Discuss difference between analogue and digital quantities. Look at how sound can be represented electronically as a waveform – a package such as Audacity can be used to allow students to look at sounds and record their own. Use a to show how the sampling process works and how sample quality and size would be affected by changing sample rate and sample resolution. A editing package such as (goes beyond GCSE level)
Understand and explain the cycle. The role of the components to be explained. Students only need a high-level understanding of the cycle. They don’t need to know the details of register operations etc. A range of online simulators can be used to illustrate this. 3.4.4 Understand difference between main memory and secondary storage and between RAM and ROM. Be able to explain volatile and non-volatile. Explain the effect of clock speed, number Understand difference between main memory and secondary storage and between RAM and ROM. Be able to explain volatile and non-volatile. Explain the effect of clock speed, number of cores 0.5 hours This is not a very practical topic. Most of the content is probably best explained to the students by the teacher, although students could be asked to research parts of it eg what cache is and how it improves performance. (note some content not required)
of cores and cache size on processor performance. and cache size on processor performance. With regard to RAM and ROM, it is helpful to focus on their uses. 3.4.4 Be aware of why secondary storage is needed and the different types of secondary storage. Explain the operation of solid state, optical and magnetic storage. Discuss relative advantages. Explain what cloud storage is and compare it to local storage. Explain the operation of solid state, optical and magnetic storage. Discuss their relative advantages. Explain what cloud storage is and compare it to local storage. 1.5 hours It is useful to have physical devices for students to look at here – a disassembled hard disk drive and CD-ROM drive or similar. There is less of interest that can be seen inside a solid state drive. are also lots of animations available on the Internet on websites such as , which illustrate the principles behind the operation of these devices. Students could make a presentation to explain how each device works. Disassembled storage devices, websites such as Explanations of how devices work – ,
relationship between them. Explain what is meant by systems software and application software and be able to give examples of them. Understand the need for and functions of the OS and utility programs. relationship between them. Explain what is meant by systems software and application software and be able to give examples of them. Understand the need for and functions of the OS and utility programs. the teacher talking and discussing with the class. For the first point, students simply need to know that hardware is that the electronic or electro-mechanical components of the computer and that software are the programs that run on the hardware and tell it what to do to perform a task. Students need to know that application software completes user-oriented tasks that the user would need to do with or without a computer whereas system software performs tasks related to the management of the computer system. Students need to know that the OS manages processor(s),
Specification reference Specification content Learning outcomes Suggested timing (lessons) Possible teaching and learning activities Resource Exam ‘hints and tips’ 3.5 Define what a computer network is. Discuss the benefits and of computer networks. Understand that networks can be wired or wireless. Discuss the benefits and of wireless networks as opposed to wired networks. Students should be able to explain what a computer network is, discuss risks and benefits of networks and the relative merits of wired and wireless networking. 1 hour Students will have direct experience of using networks, both wired and wireless, so this makes a good discussion topic – pros and cons of having a network and also of wired vs wireless networks. Devices such as Raspberry Pis could be used to build a network if it is desired that students have some practical experience. (note also covers some topics that are not required) 3.5 Describe the LAN, WAN and PAN types of computer network. Students can describe LAN, WAN and PAN and understand star and bus topologies, including relative merits. 0.5 hours Differences between LAN and WAN should be considered in terms of size, ownership and the hardware used. (note also covers some topics that are not required)
3.5 Understand the need for, and importance of, network security. Explain the following methods of network security: authentication, encryption, firewall, MAC address filtering. Students understand why security is important on networks (more so than standalone computers) and the listed security measures. 0.5 hours This can be taught theoretically or, if the teacher has access to this, students could be shown how some of these measures are used in school, for example firewall rules used. 3.5 Describe the 4 layer TCP/IP model. Understand that the HTTP, HTTPS, SMTP, IMAP and FTP protocols operate at the application layer. Understand that the TCP and UDP protocols operate at the transport Students should know what the four layers are and some functions of each layer, together with which of the protocols listed operate at which layer. 1 hour This topic is a fairly theoretical one. Students could use textbooks, online notes or videos to learn from. They need to understand why a stack is used (abstraction), what the four layers are and some functions of each layer of the stack and at which layers the listed protocols work. The specification uses the four layer TCP/IP model. There is an alternative five layer model and also a seven layer OSI model, neither of which are required.
Understand that the IP protocol operates at the network layer. 3.6 Cyber security Total time for teaching this section: 2.5 hours Specification reference Specification content Learning outcomes Suggested timing (lessons) Possible teaching and learning activities Resource Exam and tips’ 3.6, 3.6.1, 3.6.1.1, 3.6.1.2 Define the term cyber security and be able to describe the main purposes of cyber security. Understand and be able to explain the following cyber Be able to explain cyber security and the cyber security threats covered by the specification. 1.5 This topic works well as a class discussion as most students will be familiar with some of these topics from their own personal experiences.
comparison to local storage. Students understand that cracking can be used as an alternative name for hacking or to mean breaking copy protection of software. The issue of hacking by governments and whether this can be justified and under what circumstances could also be looked at. The advantages and disadvantages of cloud storage should be considered. This would probably be best achieved in the context of a real cloud service that students’ might have used. Examples of security breaches of such services could be examined. Cyber security methods are considered in greater detail in specification section 3.6. This topic could be tackled by students doing individual
to protect its citizens can come into conflict. They should be able to make arguments on either side of this case and be able to support their arguments with examples. state to protect people from crime and terrorism. This topic has arisen many times recently in the news. For example, Edward Snowden/WikiLeaks and use of encrypted messaging systems by terrorists. would form useful case studies where students could consider the relative merits of the arguments on either side of the debate. Assessment and exam preparation Total teaching time: 5 hours It’s important that students are formally assessed on both their programming skills and their theoretical knowledge.