Topics

Browse all A-Level Computer Science topics. Search to find specific content.

H446/01

Computer Systems

1.1.1

Structure and function of the processor

ALU, Control Unit, registers (PC, ACC, MAR, MDR, CIR), buses, FDE cycle, Von Neumann vs Harvard architecture

1.1.2

Types of processor

CISC and RISC characteristics, GPUs, parallel systems (SISD, SIMD, MISD, MIMD)

1.1.3

Input, output and storage

I/O devices, secondary storage types (magnetic, optical, solid state), RAM, ROM, virtual and cloud storage

1.2.1

Systems software

Operating systems, memory management (paging, segmentation, virtual memory), interrupts, scheduling, BIOS, device drivers, virtual machines

1.2.2

Applications generation

Programming paradigms, compilers, interpreters, assemblers, linkers, loaders, libraries

1.2.3

Software development

Development methodologies (waterfall, RAD, agile), testing (unit, integration, black/white box), maintenance types

1.2.4

Types of programming language

High vs low level, imperative vs declarative, assembly language, addressing modes (immediate, direct, indirect, indexed)

1.3.1

Compression, encryption and hashing

Lossy and lossless compression, symmetric/asymmetric encryption, digital signatures, certificates, SSL/TLS, hashing for passwords and data integrity

1.3.2

Databases

Relational databases, tables, keys, relationships, ER diagrams, normalisation (1NF, 2NF, 3NF), SQL queries, ACID transactions

1.3.3

Networks

Network types (PAN, LAN, WAN, VPN), topologies, protocols (TCP/IP, HTTP, FTP, POP3, IMAP, SMTP), IP addressing, packet switching

1.3.4

Web technologies

HTML structure and presentation, CSS, search engines and PageRank, cookies and security issues

1.4.1

Data types

Primitive data types, binary representation of integers (two's complement), fixed and floating point, character sets (ASCII, Unicode), images and sound representation

1.4.2

Data structures

Arrays (1D and 2D), lists, tuples, records, stacks, queues, trees (binary, BST), graphs, hash tables and collision handling

1.4.3

Boolean algebra

Logic gates (AND, OR, NOT, XOR, NAND, NOR), truth tables, Boolean expressions, simplification, Karnaugh maps, D-type flip flops

1.5.1

Computing related legislation

Data Protection Act 2018 and GDPR, Computer Misuse Act 1990, Copyright Designs and Patents Act 1988, Regulation of Investigatory Powers Act 2000

1.5.2

Moral and ethical issues

Computers in the workforce, automated decision making, AI accountability, environmental effects, privacy vs surveillance, censorship, software piracy

H446/02

Algorithms and Programming

2.1.1

Thinking abstractly

Nature of abstraction, representational abstraction, generalisation, data and procedural abstraction, devising abstract models

2.1.2

Thinking ahead

Identifying inputs and outputs, preconditions for solutions, caching and its benefits, reusable program components

2.1.3

Thinking procedurally

Problem decomposition into sub-problems, using sub-procedures, interface design, parameter passing

2.1.4

Thinking logically

Identifying decision points, determining logical conditions, understanding decision impact on program flow

2.1.5

Thinking concurrently

Concurrent processing, how it is achieved, benefits and drawbacks of concurrent systems

2.2.1

Programming techniques

Variables, constants, operators, inputs, outputs, sequence, selection, iteration, subroutines, recursion, global and local variables, modularity and parameters

2.2.2

Computational methods

Problem recognition, decomposition, divide and conquer, backtracking, data mining, heuristics, performance modelling, pipelining, visualisation

2.3.1

Algorithms

Big O notation and complexity, searching algorithms (linear, binary), sorting algorithms (bubble, merge, insertion, quick), Dijkstra's shortest path, A* algorithm