|Component 1: Understanding Computer Science|
|Architecture||1||Describe the characteristics of CPU architecture, including Von Neumann architectures.||Arithmetic logic unit, control unit (clock), data/address/control bus within the Von Neumann architecture.
Knowledge of the existence of the Harvard architecture.
|2||Identify and explain the role of the components of the CPU in the fetch-decode-execute cycle.||Know that instructions have to be fetched from memory, decoded within the CPU and then executed.|
• Program Counter (PC) – a counter that keeps track of the memory address of which instruction is to be executed next.
• Memory Address Register (MAR) – the address in main memory that is currently being read or written.
• Current Instruction register (CIR) – a temporary holding area for the instruction that has just been fetched from memory.
• Control Unit (CU) / Clock – decodes the program instruction in the CIR,
selecting machine resources and a particular arithmetic operation, and coordinates activation of those resources.
• Arithmetic logic unit (ALU) – performs mathematical and logical operations.
|3||Explain how performance is affected by the cache size, clock speed and number of cores.|| Explain how performance is affected by the cache size, clock speed and number of cores. Cache size|
• More cache memory improves the performance as it can provide instructions and data to the CPU at a much faster rate than other system memory such as RAM.
• More cache memory will allow more instructions that are repeatedly used by a CPU to be stored, and therefore increase the hit rate; increasing performance as a result.
• The faster the clock speed, the faster the computer is able to run the fetch- decode-execute cycle and therefore process more instructions.
• The faster the clock speed, the more power is generally required which creates greater requirements for heat dissipation and can place more strain on battery life.
• Impact on temperature can be damaging.
Number of cores
• In a single-core CPU each instruction is processed one after the other, whereas in a dual-core CPU, two instructions may be processed at the same time. In theory, dual-core CPU should mean that the computer can process instructions twice as fast as a single- core CPU.
• Performance may be affected where one core is waiting on the result of another and therefore cannot carry out any more instructions, leading to the performance being no better than a single core processor.
• However multiple cores increase processor cost.
|4||Explain the difference between RISC and CISC types of processors.||RISC has fewer instructions than CISC To perform complex tasks; RISC CPUs must combine simple operations so RISC can be more efficient at performing simpler tasks.|
In order to handle complex instructions CISC CPUs are physically larger to accommodate more complex circuitry.
RISC CPUs are designed to use less power and run cooler meaning that they can be used in smartphones that don't have dedicated cooling systems (like fans).
RISC CPUs tend to be cheaper to mass produce.
RISC CPUs run at lower clock speeds than CISC CPUs. They can perform simpler tasks more quickly than CISC, but are generally not used to carry out complex instructions.
|Input/output||5||Describe the use and characteristics of input and output devices.||Understand and relate the use of input devices to given contexts.|
• When typing documents, a keyboard is the preferred device.
• For someone with a disability, such as paralysis, a sip/puff tube may be used.
• In a noisy environment, voice input would not be useful.
|Primary storage||6||Explain the functional characteristics of Random Access Memory (RAM), Read Only Memory (ROM), flash memory and cache memory. Need Input and Output devices ideas||Understand that all memory stores information as bits and bytes.|
RAM is a volatile memory type, which stores programs and data currently in use.
ROM is non-volatile memory type, which stores programs and data that does not change.
Flash memory can be NAND memory. Flash memory is used for the permanent storage of data. This means that data is not lost when the power is switched off.
However, the data stored in flash memory can be changed.
Cache memory is volatile and can be used for the temporary storage of frequently accessed data and instructions. It consists of a small number of store locations that can be accessed very quickly by the CPU; quicker than RAM.
Understand and be able to give uses for these types of memory in different contexts.
|Secondary storage||7||Describe the characteristics of contemporary secondary storage technologies including magnetic, optical and solid state.||Magnetic storage – disc/tape Optical storage – CD/DVD/Blu-ray Solid state storage – Flash / SD|
|8||Explain the functional characteristics of contemporary secondary storage devices in terms of suitability, durability, portability and speed.||For example: Magnetic storage: All of this - PK|
• Media: hard disk drives
• Suitability: Backing up a home computer system
• Capacity: 500 MB – 4 TB
• Portability: Yes
• Speed of access:
• Media: CD/DVD/Blu-ray
• Suitability: Storing multimedia files
• Capacity: 650 MB (CD), 9GB (DVD), 50 GB (Blu-ray)
• Portability: Yes
• Speed of access:
• Media: Flash memory drives
• Suitability: Moving relatively small files from work to home
• Capacity: 2 GB – 64 GB
• Portability: Yes
• Speed of access:
|Storage requirements||9||Describe the relationship between data storage units, including bit, nybble, byte, kilobyte and additional prefix multipliers.||Bit as 1 or 0|
Nibble as 4 bit block (and usefulness in conversion from hex-binary) e.g. 11012 → C
Byte as 8 bits 101101102
Understand that prefix multipliers work from bytes as 23 increments.
|10||Image of Byte prefix multipliers|
|11||Describe data capacity and calculate data capacity requirements.||Understand data capacity in terms of the amount of data (measured in bytes) that can be stored by a given medium.|
|Additional hardware components||12||Describe the characteristics and role of additional hardware, including GPU, sound cards and motherboards. GPU / sound cards / motherboards not covered.||Understand that additional hardware is required by computers to execute tasks.
For example, the GPU is a specialised electronic circuit designed to rapidly manipulate and alter memory. GPUs efficiently manipulate computer graphics and carry out image processing.
|Embedded systems||13||Describe the use and give examples of embedded systems.||Understand that embedded systems exist in many devices in the home and outside and that these are small, dedicated computers. Embedded systems tend to be stored on ROM and are permanent (except in some cases where firmware is held on Flash memory and can be changed).|
Examples could include washing machines (the embedded system contains the washing programs), remote garage door entry systems, and engine sensors.
|Link to Lesson Ideas for Hardware|
|2. Logical operations|
|Logical operators||1||Use AND, OR, NOT and XOR logical operators, combinations of these, and their application in appropriate truth tables to solve problems. XOR not covered||Understand the basic principles of the 4 logical operations, for example:|
1 AND 0 = 0
1 OR 0 = 1
NOT 1 = 0 (or NOT 0 =1)
1 XOR 0 = 1
Use these in combination for example: (1 AND 0) OR (1 AND 1) = 1
NOT (1 XOR 0) = 0
|Boolean logic||2||Simplify Boolean expressions using Boolean identities and rules. Expressions not covered||Image of Boolean Identities|
|Lesson ideas for Logical operations|
|Networks||1||Explain the characteristics of networks and the importance of different network types, including LAN and WAN.||Explain the difference between a wide area (WAN) and local area networks (LAN) in terms of distribution. Local area being sited on a single site and wide area being sited on multiple sites.|
Specialist hardware is used to construct networks, such as:
• A switch analyses each packet of data and sends it to the computer it was intended for.
• A hub copies all packets of data to all devices on the network.
• A router stores the addresses of computers on the network and transfers data between devices.
• A gateway joins together two networks that use different base protocols, e.g. links a LAN to WAN.
• A bridge joins together two networks that use the same base protocols, e.g. links LAN to LAN.
Other types of network are Personal Area Networks (PAN) (very small area), Metropolitan area networks (MAN) (within a metropolitan district) and Virtual Private Networks (VPN) (allows people to log into a network remotely and access its resources, which is an implementation of a WAN).
|2||Describe the importance of common network topologies, including ring, star, bus and mesh, and their advantages and disadvantages. Mesh and ring networks not covered|| Describe the importance of common network topologies, including ring, star, bus and mesh, and their advantages and disadvantages. Understand the configuration and describe the importance of:|
Ring – where each node connects to exactly two other nodes, providing a single pathway for signals through each node. High transfer speeds but can fail if one node fails.
Bus - in which nodes are directly connected to a common linear cable (or bus). Cheap and easy to set up but can be slow under heavy
traffic (due to collisions) and a break in the main bus will break the network.
Star – Where one or more central switch, hub or computer acts as a central conduit to transmit messages. Very reliable and high data transfer speeds are possible (fewer collisions) and easy to identify faults. Can be expensive to set up as switches and cabling expensive, if main switch fails, the network fails and bottlenecking can occur if too much data is passing through the central switch.
Mesh - each node relays data for the network. All mesh nodes cooperate in the distribution of data in the network. This is very reliable and a network can 'self-heal' by reconfiguring itself around broken paths. A network is complex, expensive and difficult to set up. A large part
of the network may be redundant.
|3||Explain the importance of connectivity, both wired and wireless.||Connectivity is important for the transfer of data. Without connectivity, data could not be easily exchanged between computers without the use of removable storage.|
Wired connections use a wired connection protocol e.g. Cat6 cabling using Ethernet.
Wireless does not use cabling but requires both the transmitting and receiving machine to have wireless network adapter cards and normally additional wireless routing equipment is required (not with P2P).
Wireless is generally slower than wired in terms of bitrate although the advantage of greater freedom can offset this.
|4||Explain and give advantages and disadvantages of circuit switching and packet switching. Circuit switching not covered. ||Understand that circuit switching was a globally accepted standard until superseded by packet switching.|
Circuit switching requires a series of connections to be made to form a single route and that all data traverses the same route.
This is susceptible to interception and failure as failure of any one connection results in failure of the entire route.
Packet switching differs in that the data is broken into packets that all traverse different routes. The data is reassembled once it arrives at the destination. Packet switching is less susceptible to interception and is more robust because if a route fails then the packet can use an alternate route.
|5||Explain the importance and the use of a range of contemporary network protocols, including Ethernet, Wi-Fi, TCP/IP, HTTP, HTTPS, FTP and email protocols.||Network protocols are vital to allow computers on networks to communicate. Without shared common protocols, computers would not be able to communicate.|
There are many types of protocol:
Ethernet – wired (cable connection) protocol.
Wi-Fi – wireless, two common standards are Bluetooth and 801.11.
TCP/IP– transmission control protocol/ internet protocol – is the basic communication language or protocol of the Internet.
HTTP – hypertext transfer protocol – allows webpages to be shared across different computers and browsers.
HTTPS – A secure variant of HTTP – it works together with another protocol, Secure Sockets Layer (SSL), to transport data securely.
POP3 – post office protocol 3 – is a protocol for receiving email, in which email is received and stored by an email server with a client downloading messages when ready.
SMTP – simple mail transfer protocol -mail servers use SMTP to send and receive mail messages, mail applications typically use SMTP only for sending messages to a mail server.
IMAP – internet message access protocol - transfers emails between computer systems via the internet. The IMAP protocol however is generally used for email retrieval and storage as an alternative to POP.
|6||Describe the typical contents of a TCP/IP packet.||The typical contents of a TCP/IP packet are:|
• The source address
• The destination address
• Information which enables the data to be reassembled into its original form
• Other tracking information
• The data itself
• A checksum that checks that the data has not been corrupted
|7||Explain the importance of layers and the TCP/IP 5- layer model.||The TCP/IP protocol, on which the Internet is built, is not a single protocol but rather an entire suite of related protocols.|
The 5 layers of the TCP/IP model are:
• Data link
|Image of the TCP/IP 5-layer model|
|8||Describe methods of routing traffic on a network and calculate routing costs. Routing costs not covered.||Understand that during routing, networks will search for the shortest path and the fastest nodes to transfer data. Together the path between nodes and the speed of the nodes are assessed by the device transmitting data.|
Computers will look for the route with the lowest cost (that is the shortest path and fastest nodes) and transmit data via this lowest cost route.
|Internet||9||Explain how Domain Name System (DNS) servers and Internet Protocol (IP) addresses work.||Understand how DNS servers are used to resolve web addresses into IP addresses.|
Understand that IP addresses are difficult to remember compared to web addresses and that this is why DNS is vital to the ease of use of web addresses.
|4. Organisation and structure of data|
|Representation of numbers||1||Use and convert between denary, binary (up to 16 bits) and hexadecimal counting systems.||Convert from: Denary to binary|
Denary to hexadecimal Binary to denary
Binary to hexadecimal Hexadecimal to denary Hexadecimal to binary
Direct conversion or using an intermediate base are both acceptable
|2||Explain the use of hexadecimal notation as shorthand for binary numbers.||Understand that a binary number is far easier to use as the shorter hexadecimal notation.|
e.g. 1101101010111102 = 6D5E16
|3||Use arithmetic shift functions and explain their effect.||Understand the effect of shifts both left|
e.g. for the number 0011002 (1210)
a shift one place to the left would give
0110002 = 2410
Which is equivalent to multiplying by 2
a shift two places to the left would give
1100002 = 48 10
Which is equivalent to multiplying by 4
e.g. for the number 0011002 (1210)
a shift one place to the left would give
0001102 = 610
Which is equivalent to dividing by 2
a shift two places to the left would give
0000112 = 310
Which is equivalent to dividing by 4
|4||Apply binary addition techniques.||Use the add/divide/remainder method to add binary numbers.|
|5||Explain the concept of overflow.||Understand that if the result of an addition or shift process results in a number that is too large to fit in the space|
available then an overflow has occurred.
For example if we tried to store the
addition of the following two 8 bit
numbers in an 8 bit register.
The answer is too large to fit into the
register (it is 9 bits in length). Where this
happens, an overflow is said to have
|Representation of graphics and sound||6||Explain the digital storage of graphics.||Understand that both raster and vector graphics can be stored on a computer.|
Understand that raster graphics are dot matrix data structures representing a grid of pixels and cannot scale up without loss of apparent quality. They tend to be large in terms of the memory required to store them.
A bitmap image is a type of raster image and is composed of many tiny parts, called pixels, which are often many different colours. It is possible to edit each individual pixel.
Vector graphics use geometrically primitive objects (geometric primitives) such as points, lines, curves, and shapes or polygons which are based on mathematical expressions to represent images. Vector graphics can be scaled up without loss of apparent quality. They
are smaller than bitmap graphics in terms of the memory required to store them.
|7||Explain the digital storage and sampling of sound.||That sound is stored as a digital representation. The digital representation is achieved by sampling (signal processing).|
The sample quality can be affected by the sample rate and sample frequency. The higher the sample rate and frequency, the larger the resultant sample.
|8||Describe the use of metadata in files.||Understand and be able to give examples of the types of metadata that are stored with files e.g. location, date etc. within an image or in a sound file, the file or artist, recording date, song title etc.#|
|Storage of characters||9||Describe how characters are stored as a binary number.||Understand that characters are represented by binary numbers|
e.g. in ASCII
01100001 represents a
01000001 represents A
(There is no need to remember the number that represents a character).
|10||Describe standardised character sets, including Unicode and American Standard Code for Information Interchange (ASCII).||Understand that standardised character sets allow for data interchange between different programs.|
Understand that ASCII and Unicode are two such standards.
Unicode can represent more characters than ASCII, but is more memory-hungry.
|Data types||11||Describe the concept of data types, including integer, Boolean, real, character and string.||Integer (whole number) 7, 0, 15, -5 Boolean (true/false)|
Real (number with, or without, fraction) 7.2, 8.9, -6.8, 12.0
Character (single character) a, @, #, 8, Q
String (one or more character) Hello, abc, b, Y
|Data structures||12||Describe, design, interpret and manipulate data structures including records, one-dimensional and two-dimensional arrays.||Describe relates to being able to describe and identify a data structure (for instance drawing a representation of a one-dimensional array or a two-dimensional array).|
Design relates to being able to design an array or record that would be suitable for a particular purpose (e.g. to design an array suitable for storing sales data over a time period).
Interpret relates to being able to utilise a data structure to select data or to convert a graphical representation of an array to a programmed form or vice versa.
Manipulate relates to adding, deleting and editing data within an array or record.
|13||Select, identify and justify appropriate data structures for given situations.||This relates to selecting a correct data structure for a given situation (e.g. to design an array suitable for storing sales data over a time period) or to identify the most appropriate data structure from a selection of data structures, in each case being able to justify why the data type is suitable.|
|File design||14||Design files and records appropriate for a particular application.||As above, but in relation to files and records.|
|Data validation and verification||15||Explain and use appropriate techniques for data validation and verification.||Validation:|
Range check, type check, format check, presence check, lookup table, check digit.
Double keying, proofreading.
|16||Design algorithms and programming routines that validate and verify data.||Algorithms relating to the above list.|
|5. Operating systems|
|Managing resources||1||Describe the purpose and functionality of the operating system in managing resources, including peripherals, processes, memory and backing store.||The O/S manages resources, such as:|
• Manages peripherals such as input and output devices
• Manages printing using spooling
• Manages backing store
• File compression
• Disk de-fragmentation
• Manages memory (RAM)
• Manages processes
• Manages security
|Providing an interface||2||Describe the purpose and functionality of the operating system in providing a user interface.||The O/S provides an interface by:|
• Provides a graphical user interface (windows, icons, menus, pointers)
• Provide a command line interface
• Allowing users to copy/delete/move/sort/search a file or folders
• Access system settings such as hardware.
• Allows users to have more than one window open
• Provides user with errors/help messages.
• Allows customisation of interface, e.g. change desktop background/layout
• Allows user to switch between tasks (programs/windows)
|Utility software||3||Explain the purpose and functionality of a range of utility software.|
Explain the purpose and functionality of utility software, such as:
• Virus scanning
• System monitoring
• Task management
• Disc scanning and repair
• System backup
|6. Principles of programming|
|Levels of computer language||1||Describe the characteristics and purpose of high-level and low-level languages.||Low level programming languages do not resemble natural languages, such as English or Welsh. They are made up entirely of bit patterns (instructions or data) that can be executed directly by the CPU.|
A high level language is a programming language that allows code to be written which is similar to a natural human language, such as English. Some programmers prefer to use high level programming languages as they are easier to understand, learn and program as commands are more English-like and identifiers can be long and meaningful. High level programming languages also allow the use of powerful commands that perform quite complex tasks such as MsgBox in Visual Basic or the SORT clause in COBOL.
|2||Identify and describe situations that require the use of a high-level or a low-level language.||Low level language are useful when speed of execution is critical or when writing software which interfaces directly with the hardware, e.g. device drivers.|
High level languages are used when the execution speed is not critical, e.g. in common productivity applications, such as a word processor.
|7. Software engineering|
|Software tools||1||Explain the role of Integrated Development Environment (IDE) tools in developing and debugging programs.||Understand the ways in which the IDE assists in the development and debugging of programs including:|
• Break point
• Variable watch
• Memory inspector
• Error diagnostics
|8. Program construction|
|1||Explain compilers, interpreters and assemblers||An assembler is a program, which converts the low level assembly programming language into machine code.|
An interpreter is a program, which converts code one line at a time, into machine code and executes it.
A compiler is a program that converts high level programs into machine code for execution at a later time (the entire program is converted, not one line at a time as with an interpreter).
|2||Explain the principal stages involved in the compilation process: lexical analysis, symbol table construction, syntax analysis, semantic analysis, code generation and optimisation.||Lexical analysis:|
• Comments and unneeded spaces are removed.
• Keywords, constants and identifiers are replaced by 'tokens'.
Symbol table construction:
• A symbol table is created which holds the addresses of variables, labels and subroutines.
• Tokens are checked to see if they match the spelling and grammar expected, using standard language definitions. This is done by parsing each token to determine if it uses the correct syntax for the programming language
• If syntax errors are found, error messages are produced.
• Variables are checked to ensure that they have been properly declared and used.
• Variables are checked to ensure that they are of the correct data type, e.g. real values are not being assigned to integers.
• Operations are checked to ensure that they are legal for the type of variable being used, e.g. you would not try to store the result of a division operation as an integer.Code generation:
• Machine code is generated.
• Code optimisation may be employed to make it more efficient/faster/less resource intense.
|3||Describe and give examples of programing errors.||Programming errors, such as:|
|9. Security and data management|
|Data security||1||Describe the dangers that can arise from the use of computers to store personal data.||An awareness of the risks to data held on personal computers. Risks of hacking, loss to viruses, technical breakdown, interception, physical theft and data theft from discarded components.|
|2||Describe methods that protect the security of data including access levels, suitable passwords for access and encryption techniques. ||Methods such as:|
• Access levels permitting user access to designated functions/areas
• Password design ('strong' vs 'weak' passwords)
• Encryption techniques (e.g. XOR encryption).
|Data management||3||Explain the need for file backups and generations of files. Backups and generations not covered||Understand that backups protect data following primary data loss.|
Generations of files, e.g. the grandfather-father-son regime, allows data to be restored to a previous
version following catastrophic data loss.
|4||Explain the need for archiving files.||Archiving is the process of storing data which is no longer in current or frequent use. It is held for security, legal or historical reasons.|
|Compression||5||Explain how lossy and lossless data compression algorithms are used.||Understand that compression reduces file size in memory terms.|
Lossy compression results in reduction of data quality following compression.
Lossless compression results in no loss of data quality following compression.
|6||Calculate compression ratios.||Calculate compression ratios based on before and after file sizes (e.g. a 10MB file compressed to a 2 MB file will have a file compression ratio of 5:1).|
Using ratios, calculate the size of files following compression.
Using data (e.g. size of destination storage medium), calculate the compression ratio required to store data.
|Network security||7||Recognise the importance of network security and describe the dangers that can arise from the use of networks.||Knowledge of network security, including:
• Antivirus software
• Two-factor authentication
• Access levels
Description of the dangers that can arise from the use of networks, such as:
• Risks of hacking
• Risks of viruses
• Technical breakdown
|8||Explain the purpose and typical contents of an acceptable use policy and disaster recovery policy.||Contents and purpose of model acceptable use policies and disaster recovery policies.|
|Cybersecurity||9||Describe the characteristics and explain the methods of protection against malware, including viruses, worms and key loggers.||Malware|
• Short for malicious software, malware is a broad-spectrum term used to describe software used to disrupt computer operation.
• A virus is a computer program that is able to copy itself onto other programs often with the intention of maliciously damaging data. A virus is transmitted by 'piggybacking' on another program known as a 'vector'.
• Is similar to a virus but is a standalone program that replicates itself in order to spread to other computers. It does not need a vector.
• Are covert programs that capture keyboard (or other input device) input and transmit this data to a third party or hold the data for collection.
Protection can be from:
• antivirus programs
• patching out-dated software
• security tools
|10||Describe the different forms of attack based on technical weaknesses and/or user behaviour.||Technical weakness:|
• Infection by any of the programs above.
• SQL injection
• DoS attack.
• Password-based attack.
• IP address spoofing. User behaviour
• Social engineering.
|11||Describe methods of identifying vulnerabilities.||Footprinting|
• Interrogating resources on the Internet for information about systems, looking to discover what a potential attacker can also discover without an organisation's knowledge (can remove 'enticements' or 'low hanging fruit' by this method).
• Attempting to penetrate a system's security layers in order to demonstrate security risks.
|12||Explain different ways of protecting software systems during design, creation, testing and use.||Understand that software systems can be insecure and that following certain practices during design, creation and testing can mitigate these insecurities. This is commonly called ‘secure by design’. Malicious practices are taken for granted and it is assumed that the system will have invalid data entered or will be the subject of a hacking attempt and therefore these issues are taken into account when creating a new system. Common examples include:|
• Buffer overflows
• Too many permissions
• Scripting restrictions
• Accepting parameter without validation
|13||Describe the role of internet cookies. Cookies not covered||A cookie is the term given to describe a small piece of code that is given to a Web browser by a Web server.|
The main purpose of a cookie is to identify users and prepare customized Web pages or to save site login information.
Cookies can be seen as a security issue as they hold personal information and this can be used or sold and tracking cookies can hold information on the websites visited by users.
|10. Ethical, legal and environmental impacts of digital technology on wider society|
|Ethical||1||Describe the ethical impacts of digital technology, including issues of privacy and cybersecurity.||Digital divide. Working conditions.|
Environmental impact (links to environmental issues).
The implications of privacy of private data.
Black hat/white hat/grey hat hacking.
The growing importance of cybersecurity in light of increasing frequency of attacks
|2||Explain the importance of conforming to professional standards, including formal and informal codes of ethical behaviour.||A formal code would comprise an acceptable use policy or internet access policy. Any policy that is formally written and signed up to is considered a formal code.|
An informal code comprises expectations, customs, habits, personal integrity.
|Legislation||3||Explain how relevant current legislation impacts on security, privacy, data protection and freedom of information.||Current legislation including: Data protection Act.|
Computer misuse Act. Copyright Act.
Regulation of Investigatory Powers Act. Freedom of Information Act.
|Environmental issues||4||Describe the environmental impacts of digital technology on wider society.||Technotrash/Ewaste.|
Increased energy use in the home. Global assembly lines.
Increased mining for rare earth elements.
Huge energy consumption by server farms (servers and more significantly, cooling).