Full Marks

A-level Computer Science Year 12 · OCR

OCR A-level Computer Science Year 12 revision

Every topic of the OCR A-level Computer Science (H446) specification (Year 12) in order, with notes and practice questions. Subtopics marked free have their notes and questions on this site.

Topic 1.1: Processors, input, output and storage devices

It builds on what you learned at GCSE in Systems architecture and Memory and storage, and takes it further.

There are 10 parts: we start with Computer architecture, and finish with virtual storage, cloud storage and RAID.

  1. 1.1.1Computer architecture62 questions
  2. 1.1.2Von Neumann, Harvard and contemporary architecturesFree 19 questions
  3. 1.1.3Factors affecting processor performance: clock speed, cores, cache, word length and bus width30 questions
  4. 1.1.4Pipelining in the fetch-decode-execute cycle20 questions
  5. 1.1.5CISC and RISC processors18 questions
  6. 1.1.6GPUs, multicore and parallel systems30 questions
  7. 1.1.7Input, output and specialised external hardware devicesFree 45 questions
  8. 1.1.8Primary memory: RAM, ROM and cache46 questions
  9. 1.1.9Secondary storage: magnetic, flash and optical68 questions
  10. 1.1.10Virtual storage, cloud storage and RAID62 questions

Topic 1.2: Software and software development

It builds on what you learned at GCSE in Systems software and Programming languages and IDEs, and takes it further.

There are 13 parts: we start with operating systems, and finish with machine code instruction formats and addressing modes.

  1. 1.2.1Operating systems: memory management, paging, segmentation and virtual memory45 questions
  2. 1.2.2Interrupts and scheduling algorithms27 questions
  3. 1.2.3Types of operating system: embedded, real-time, multi-tasking, multi-user and distributed25 questions
  4. 1.2.4Utility software, BIOS, device drivers and virtual machines27 questions
  5. 1.2.5Hardware and software classification: system, application, general-purpose, special-purpose and bespokeFree 31 questions
  6. 1.2.6Translators: compilers, interpreters, assemblers and stages of compilation32 questions
  7. 1.2.7Libraries, linkers, loaders and open/closed source software26 questions
  8. 1.2.8Development methodologies: waterfall, spiral and the analysis, design, implementation, testing cycle31 questions
  9. 1.2.9Agile methods, extreme programming and rapid application development30 questions
  10. 1.2.10Testing strategies, evaluation and software maintenance43 questions
  11. 1.2.11Programming paradigms and levels of language: procedural, modular, object-oriented, low-level and high-levelFree 38 questions
  12. 1.2.12Assembly language and the Little Man Computer32 questions
  13. 1.2.13Machine code instruction formats and addressing modes20 questions

Topic 1.3.1: Compression, encryption and hashing

It builds on what you learned at GCSE in Memory and storage, and takes it further.

There are 2 parts: we start with data compression, and finish with encryption and hashing.

  1. 1.3.1.1Data compression: lossy, lossless, run-length encoding and dictionary coding60 questions
  2. 1.3.1.2Encryption and hashing: Caesar cipher, Vernam cipher, symmetric/asymmetric encryption and hash functions71 questions

Topic 1.3.2: Databases

Databases at A-level covers how to design, query and protect large collections of data.

We will use keys, entity relationship diagrams and indexing, and normalise data to third normal form.

Then we write S Q L to query, define and change data, keep data consistent with transactions and locking, and exchange data using X M L and J S O N.

  1. 1.3.2.1Relational databases: flat files, keys, entity-relationship diagrams and indexingFree 29 questions
  2. 1.3.2.2Normalisation to third normal form21 questions
  3. 1.3.2.3SQL queries: SELECT, WHERE, ORDER BY and JOIN24 questions
  4. 1.3.2.4SQL data definition and manipulation: CREATE, INSERT, UPDATE and DELETE22 questions
  5. 1.3.2.5Referential integrity, transaction processing, ACID and record locking30 questions
  6. 1.3.2.6Capturing, selecting, managing and exchanging data: XML and JSON25 questions

Topic 1.3.3: Networks

It builds on what you learned at GCSE in Computer networks, connections and protocols and Network security, and takes it further.

There are 11 parts: we start with communication and networking, and finish with public and private keys, digital signatures and digital certificates.

  1. 1.3.3.1Communication and networkingFree 65 questions
  2. 1.3.3.2Network topologies, transmission media and wired vs wireless networks68 questions
  3. 1.3.3.3Data transmission: serial and parallel, synchronous and asynchronous, bit rate, baud rate, bandwidth and latency64 questions
  4. 1.3.3.4Wi-Fi: CSMA/CA, SSID, wireless access points and wireless security29 questions
  5. 1.3.3.5The TCP/IP protocol stackFree 33 questions
  6. 1.3.3.6IP addressing, IPv4 and IPv6, subnetting, NAT and DHCP29 questions
  7. 1.3.3.7Ports, sockets, MAC addresses and application protocols: HTTP, HTTPS, FTP, SMTP, POP3, IMAP and SSH44 questions
  8. 1.3.3.8Packet switching, routing and circuit switching27 questions
  9. 1.3.3.9DNS, URLs and the structure of the Internet71 questions
  10. 1.3.3.10Network security: malware, threats, firewalls and proxy servers75 questions
  11. 1.3.3.11Public and private keys, digital signatures and digital certificates24 questions

Topic 1.3.4: Web technologies

Web technologies explains how web pages are built, processed and found.

We will use H T M L, C S S and JavaScript, and compare client side and server side processing.

Then we see how search engines index the web, and how the PageRank algorithm ranks pages.

  1. 1.3.4.1HTML, CSS and JavaScriptFree 28 questions
  2. 1.3.4.2Client-side and server-side processing24 questions
  3. 1.3.4.3Search engine indexing and the PageRank algorithm28 questions

Topic 1.4: Data types, data structures and algorithms

It builds on what you learned at GCSE in Memory and storage and Boolean logic, and takes it further.

There are 15 parts: we start with number systems and data representation, and finish with d-type flip-flops and designing logic circuits.

  1. 1.4.1Number systems and data representationFree 67 questions
  2. 1.4.2Bitwise manipulation, binary shifts and masks65 questions
  3. 1.4.3Floating-point normalisation, precision, rounding errors and absolute/relative error65 questions
  4. 1.4.4Data structures24 questions
  5. 1.4.5Queue variants and multi-dimensional arrays: circular queues, priority queues, 2D and 3D arraysFree 25 questions
  6. 1.4.6Records, tuples, vectors, dictionaries and user-defined data types26 questions
  7. 1.4.7Linked lists28 questions
  8. 1.4.8Trees and binary search trees68 questions
  9. 1.4.9Graphs: adjacency matrices and adjacency lists22 questions
  10. 1.4.10Hash tables and hashing22 questions
  11. 1.4.11Logic gates and truth tablesFree 61 questions
  12. 1.4.12Boolean algebra laws, De Morgan's laws and expression simplification52 questions
  13. 1.4.13Karnaugh maps62 questions
  14. 1.4.14Half adders and full adders59 questions
  15. 1.4.15D-type flip-flops and designing logic circuits56 questions

Topic 1.5: Legal, moral, cultural and ethical issues

It builds on what you learned at GCSE in Ethical, legal, cultural and environmental impacts, and takes it further.

There are 8 parts: we start with data Protection Act 2018 and GDPR, and finish with offensive communications, cultural implications and the digital divide.

  1. 1.5.1Data Protection Act 2018 and GDPRFree 22 questions
  2. 1.5.2Computer Misuse Act 1990 and Regulation of Investigatory Powers Act 200022 questions
  3. 1.5.3Copyright, Designs and Patents Act, software licensing and piracy44 questions
  4. 1.5.4Consequences of computing25 questions
  5. 1.5.5Computers in the workforce and automated decision making33 questions
  6. 1.5.6Artificial intelligence: benefits, risks and ethics30 questions
  7. 1.5.7Environmental effects, censorship, monitoring behaviour and analysing personal information28 questions
  8. 1.5.8Offensive communications, cultural implications and the digital divide24 questions

Topic 2.1: Elements of computational thinking

It builds on what you learned at GCSE in Algorithms, and takes it further.

There are 4 parts: we start with abstraction and automation, and finish with thinking concurrently and parallel processing.

  1. 2.1.1Abstraction and automationFree 28 questions
  2. 2.1.2Thinking ahead: inputs, outputs, preconditions, caching and reusable components25 questions
  3. 2.1.3Thinking procedurally and logically: decomposition, sequencing and decision points30 questions
  4. 2.1.4Thinking concurrently and parallel processing30 questions

Topic 2.2: Problem solving and programming

It builds on what you learned at GCSE in Programming fundamentals and Producing robust programs, and takes it further.

There are 8 parts: we start with programming fundamentals, and finish with data mining, performance modelling, pipelining and visualisation.

  1. 2.2.1Programming fundamentalsFree 28 questions
  2. 2.2.2Subroutines, structured programming, parameter passing and scope31 questions
  3. 2.2.3Recursion24 questions
  4. 2.2.4String handling, file handling, random numbers and exception handling32 questions
  5. 2.2.5Object-oriented programming: classes, objects, inheritance, encapsulation and polymorphism34 questions
  6. 2.2.6IDEs and program development tools31 questions
  7. 2.2.7Problem recognition and solving techniques: divide and conquer, backtracking and heuristics30 questions
  8. 2.2.8Data mining, performance modelling, pipelining and visualisation23 questions

Topic 2.3: Algorithms

It builds on what you learned at GCSE in Algorithms, and takes it further.

There are 6 parts: we start with representing and tracing algorithms, and finish with classification of problems, tractability and the halting problem.

  1. 2.3.1Representing and tracing algorithms: pseudocode, flowcharts and trace tables26 questions
  2. 2.3.2Searching, sorting and complexityFree 24 questions
  3. 2.3.3Insertion sort and quick sort23 questions
  4. 2.3.4Graph and tree traversal: depth-first, breadth-first, pre-order, in-order and post-order25 questions
  5. 2.3.5Shortest path algorithms: Dijkstra's algorithm and A*20 questions
  6. 2.3.6Classification of problems, tractability and the halting problem25 questions

Other exam boards