Back to England Computer Science
England · AQAQ&A
Computer ScienceQ&A by dot point
A short Q&A bank for every England Computer Science syllabus dot point. Each question and answer is drawn directly from our worked dot-point page, so you can scan key concepts before opening the long-form answer.
4.8 Communication and networking
- Understand the client-server and peer-to-peer models, web technologies including HTML, CSS and JavaScript, the role of web servers, and the use of APIs and thin versus thick clients.0Q&A pairs
- Understand serial and parallel transmission, synchronous and asynchronous transmission, bit rate, baud rate and bandwidth, and the trade-offs between these methods.0Q&A pairs
- Understand network security threats, firewalls and proxy servers, the use of encryption, digital certificates and digital signatures, and the difference between symmetric and asymmetric encryption in transmission.0Q&A pairs
- Understand LANs and WANs, star and bus topologies, wired and wireless networks, the role of switches, routers and the Wi-Fi standards including CSMA/CA and SSID.0Q&A pairs
- Understand the structure of the internet, packet switching, the TCP/IP four-layer model, IP addressing, DNS, routers and gateways, and how data is routed across networks.0Q&A pairs
4.7 Computer organisation and architecture
- Understand the structure of a machine code instruction (opcode and operand), immediate and direct addressing modes, and the relationship between assembly language and machine code.0Q&A pairs
- Understand the internal components of a computer, the role of the processor, main memory and buses, and the difference between RAM, ROM and cache memory.0Q&A pairs
- Understand the components of the processor (ALU, control unit, registers), the fetch-decode-execute cycle, the role of each register, and the factors affecting processor performance.0Q&A pairs
- Understand the need for secondary storage and the principles, advantages and disadvantages of magnetic, optical and solid state storage.0Q&A pairs
- Understand the stored program concept, the Von Neumann architecture, the Harvard architecture, and the differences between them.0Q&A pairs
4.6 Fundamentals of computer systems
- Understand the classification of programming languages by level (low and high) and by paradigm (imperative, object-oriented, declarative and functional), and the use of machine code and assembly language.0Q&A pairs
- Understand the relationship between hardware and software, the classification of software into system and application software, and the role of the operating system and utility programs.0Q&A pairs
- Understand the logic gates NOT, AND, OR, XOR, NAND and NOR, their truth tables, combining gates into logic circuits, and simplifying expressions using Boolean algebra.0Q&A pairs
- Understand assemblers, compilers and interpreters, the differences between them, the stages of compilation (lexical analysis, syntax analysis, code generation and optimisation), and intermediate code.0Q&A pairs
4.13 Fundamentals of functional programming
- Understand the functional programming paradigm, functions as first-class objects, function application, partial application and composition, and the higher-order functions map, filter and reduce.0Q&A pairs
- Understand the moral, ethical, legal and cultural issues raised by computing, the relevant UK legislation, privacy and data protection, and the responsibilities of computer professionals.0Q&A pairs
4.5 Fundamentals of data representation
- Understand unsigned and signed binary using two's complement, binary addition and subtraction, fixed point and floating point representation of real numbers, and the effects of overflow and rounding.0Q&A pairs
- Understand the bit and byte, the units of information capacity, binary and decimal prefixes (kibi versus kilo), and how the number of bits limits the range of values that can be represented.0Q&A pairs
- Understand character encoding using ASCII and Unicode, the limitations of ASCII, why Unicode was introduced, and the relationship between a character set and a character code.0Q&A pairs
- Understand lossy and lossless compression, run length encoding and dictionary-based compression, symmetric and asymmetric encryption, and error-checking methods such as parity and check digits.0Q&A pairs
- Understand the decimal, binary and hexadecimal number systems, why computers use binary and hexadecimal, and how to convert between the three bases.0Q&A pairs
- Understand how bitmap images are represented using pixels, colour depth and resolution, how analogue sound is sampled, and the effect of sample rate, resolution and metadata on quality and file size.0Q&A pairs
4.9 Fundamentals of databases
- Understand conceptual data modelling, entities, attributes and relationships, entity relationship (ER) diagrams, and the degrees of relationship (one-to-one, one-to-many, many-to-many).0Q&A pairs
- Understand relational databases, primary and foreign keys, the problems of data redundancy, and normalisation to first, second and third normal form.0Q&A pairs
- Understand SQL for retrieving data with SELECT, FROM, WHERE and ORDER BY, joining tables, and modifying data with INSERT, UPDATE and DELETE.0Q&A pairs
- Understand transaction processing, the ACID properties, record locking and the deadlock that can result, redundancy and database recovery.0Q&A pairs
4.3 Fundamentals of algorithms
- Understand Big-O notation for time and space complexity, the common orders of growth, how to determine the complexity of an algorithm, and the meaning of best, average and worst case.0Q&A pairs
- Understand Dijkstra's shortest path algorithm, how it finds the lowest-cost path from a start vertex, the role of a priority queue, and its applications.0Q&A pairs
- Understand depth-first and breadth-first graph traversal, the data structures they use, and the pre-order, in-order and post-order tree traversal algorithms.0Q&A pairs
- Understand the linear search and binary search algorithms, how each works, their requirements, and their time complexity.0Q&A pairs
- Understand the bubble sort and merge sort algorithms, how each orders a list, their time complexity, and the trade-off between them.0Q&A pairs
4.2 Fundamentals of data structures
- Understand arrays (one, two and three dimensional), records and fields, and the difference between static and dynamic data structures.0Q&A pairs
- Understand a dictionary as an abstract data type of key-value pairs, its operations, how it is typically implemented using a hash table, and when a dictionary is appropriate.0Q&A pairs
- Understand graphs, vertices and edges, directed, undirected and weighted graphs, and how a graph is represented as an adjacency matrix or an adjacency list.0Q&A pairs
- Understand a hash table, the role of a hashing algorithm, how a key maps to an index, the meaning of a collision, and collision-resolution methods such as rehashing and chaining.0Q&A pairs
- Understand the queue abstract data type, FIFO behaviour, linear, circular and priority queues, and the enqueue and dequeue operations using front and rear pointers.0Q&A pairs
- Understand the stack abstract data type, LIFO behaviour, the push, pop and peek operations using a stack pointer, and the use of stacks for subroutine calls and recursion.0Q&A pairs
- Understand trees as a connected, undirected graph with no cycles, the terms root, child, parent, leaf and subtree, and the structure and use of a binary search tree.0Q&A pairs
4.1 Fundamentals of programming
- Use arithmetic operations including integer division, modulus and exponentiation, relational operators, and the Boolean operators AND, OR and NOT, and understand operator precedence.0Q&A pairs
- Understand the built-in data types: integer, real or float, Boolean, character and string, and understand records, arrays and user-defined data types built from them.0Q&A pairs
- Understand classes and objects, attributes and methods, instantiation, encapsulation, inheritance and polymorphism, and the principle of object-oriented design.0Q&A pairs
- Understand and use the three basic programming constructs (sequence, selection and iteration), definite and indefinite iteration, nested constructs, and the meaning of constants and variables.0Q&A pairs
- Understand and use subroutines (procedures and functions), parameters, return values, local and global variables, scope, and the use of an interface and recursion.0Q&A pairs
4.4 Theory of computation
- Understand abstraction, the different forms of abstraction, decomposition, automation, and the components of computational thinking used to solve problems.0Q&A pairs
- Understand tractable and intractable problems, the classes P and NP, the idea of computable and non-computable problems, and the use of heuristics for intractable problems.0Q&A pairs
- Understand finite state machines with and without output, state transition diagrams and tables, and the use of an FSM to recognise inputs or model behaviour.0Q&A pairs
- Understand regular expressions and regular languages, the link between regular expressions and finite state machines, the limits of regular languages, and context-free languages described by a BNF grammar.0Q&A pairs
- Understand the Turing machine model, its components, the idea of a universal Turing machine, and the link to the limits of computation and the halting problem.0Q&A pairs