Y12 End of Year Computer Science Revision List
Y12 End of Year Computer Science Revision List
Y12 End of Year Computer Science Revision List
Assessments
ello
2024
Subject Computer Science
Specification Computer Science - H046, H446
https://www.ocr.org.uk/qualifications/as-and-a-level/computer-science-h046-h446-from-2015/
Recommended Revision Guide(s) OCR STUDENT BOOK
A/AS Level Computer Science for OCR Student Book
Author(s): Alistair Surrall, Adam Hamflett
OR
PG Online book
OCR AS and A Level Computer Science
(Author) RSU Heathcote (Author) PG Online (Contributor)
1.1.1. Structure and Function of Processor • The Arithmetic and Logic Unit; ALU, Control Unit and Registers (Program Counter; PC,
Accumulator; ACC, Memory Address Register; MAR, Memory Data Register; MDR, Current
1.1.2. Types of Processors Instruction Register; CIR). Buses: data, address and control
• The Fetch-Decode-Execute Cycle, including its effects on registers. The factors affecting the
performance of the CPU: clock speed, number of cores, cache.
• The differences between and uses of CISC and RISC processors.
• Pipelining
• GPUs and their uses (including those not related to graphics).
1.1.3 Input, output and storage • How different input, output and storage devices can be applied to the solution of different
problems. The uses of magnetic, flash and optical storage devices. RAM and ROM. Virtual
storage.
1.2.1 Operating Systems • The need for, function and purpose of operating systems
• Memory Management (paging, segmentation, and virtual memory).
• Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the Fetch-
Decode-Execute Cycle
• Scheduling: round robin, first come first served, multi-level feedback queues, shortest job first
and shortest remaining time.
• Distributed, embedded, multi-tasking, multi-user and real time operating systems. BIOS and
Device drivers.
• Virtual machines, any instance where software is used to take on the function of a machine
including executing intermediate code or running an operating system within another.
1.2.1 Systems Software • The need for, function and purpose of operating systems.
• Memory Management (paging, segmentation and virtual memory).
• Interrupts, the role of interrupts and Interrupt Service Routines (ISR), role within the Fetch-
Decode-Execute Cycle.
• Scheduling: round robin, first come first served, multi-level feedback queues, shortest job first
and shortest remaining time.
• Distributed, embedded, multi-tasking, multi-user and Real Time operating systems. BIOS. Device
drivers.
• Virtual machines, any instance where software is used to take on the function of a machine,
including executing intermediate code or running an operating system within another.
1.3.1 • Compression, Encryption and Hashing
1.3.2 Databases • Relational database, flat file, primary key, foreign key, secondary key, entity relationship
modelling, normalisation and indexing.
• Methods of capturing, selecting, managing and exchanging data.
• Normalisation to 3NF.
• SQL – Interpret and modify. Referential integrity.
• Transaction processing, ACID (Atomicity, Consistency, Isolation, Durability), record locking and
redundancy.
1.3.4 Web Technologies • HTML, CSS and JavaScript. Search engine indexing. PageRank algorithm. Server and client-side
processing.
1.3.3. Networks Characteristics of networks and the importance of protocols and standards.
The internet structure:
• The TCP/IP Stack.
• DNS
• Protocol layering.
• LANs and WANs.
• Packet and circuit switching.
Network security and threats, use of firewalls, proxies, and encryption.
Network hardware.
Client-server and peer to peer
Paper 2
1.4.1 Data Types • Primitive data types, integer, real/floating point, character, string and Boolean.
• Represent positive integers in binary.
• Use of sign and magnitude and two’s complement to represent negative numbers in binary.
• Addition and subtraction of binary integers.
• Represent positive integers in hexadecimal.
• Convert positive integers between binary hexadecimal and denary.
• Representation and normalisation of floating-point numbers in binary.
• Floating point arithmetic, positive and negative numbers, addition and subtraction.
• Bitwise manipulation and masks: shifts, combining with AND, OR, and XOR.
• How character sets (ASCII and UNICODE) are used to represent text.
1.4.2 Data Structures • Arrays (of up to 3 dimensions), records, lists, tuples.
• The following structures to store data: linked-list, graph (directed and undirected), stack, queue,
tree
• How to create, traverse, add data to and remove data from the data structures mentioned above
1.4.3 Boolean Algebra • Define problems using Boolean logic. See appendix 5d.
• Manipulate Boolean expressions, including the use of Karnaugh maps to simplify Boolean
expressions.
• Use the following rules to derive or simplify statements in Boolean algebra: De Morgan’s Laws,
distribution, association, commutation, double negation.
• Using logic gate diagrams and truth tables.
2.3.1 Algorithms • Analysis and design of algorithms for a given situation.
• The suitability of different algorithms for a given task and data set, in terms of execution time
and space.
• Algorithms for the main data structures, (stacks, queues, trees, linked lists, depth-first (post-
order) and breadth-first traversal of trees).
• Standard algorithms (bubble sort, insertion sort, merge sort, quick sort, Dijkstra’s shortest path
algorithm, A*
• Searching Algorithms
• Big O notation
2.2.1 Programming techniques (a) Programming • Programming constructs: sequence, iteration, branching.
constructs: sequence, iteration, • Recursion, how it can be used and compares to an iterative approach.
• Global and local variables.
• Modularity, functions and procedures, parameter passing by value and by reference.
• Use of an IDE to develop/debug a program.
• Use of object-oriented techniques.