Questions
Select a topic to practise exam-style questions.
H446/01 — Computer Systems
ALU, Control Unit, registers (PC, ACC, MAR, MDR, CIR), buses, FDE cycle, Von Neumann vs Harvard architecture
CISC and RISC characteristics, GPUs, parallel systems (SISD, SIMD, MISD, MIMD)
I/O devices, secondary storage types (magnetic, optical, solid state), RAM, ROM, virtual and cloud storage
Operating systems, memory management (paging, segmentation, virtual memory), interrupts, scheduling, BIOS, device drivers, virtual machines
Programming paradigms, compilers, interpreters, assemblers, linkers, loaders, libraries
Development methodologies (waterfall, RAD, agile), testing (unit, integration, black/white box), maintenance types
High vs low level, imperative vs declarative, assembly language, addressing modes (immediate, direct, indirect, indexed)
Lossy and lossless compression, symmetric/asymmetric encryption, digital signatures, certificates, SSL/TLS, hashing for passwords and data integrity
Relational databases, tables, keys, relationships, ER diagrams, normalisation (1NF, 2NF, 3NF), SQL queries, ACID transactions
Network types (PAN, LAN, WAN, VPN), topologies, protocols (TCP/IP, HTTP, FTP, POP3, IMAP, SMTP), IP addressing, packet switching
HTML structure and presentation, CSS, search engines and PageRank, cookies and security issues
Primitive data types, binary representation of integers (two's complement), fixed and floating point, character sets (ASCII, Unicode), images and sound representation
Arrays (1D and 2D), lists, tuples, records, stacks, queues, trees (binary, BST), graphs, hash tables and collision handling
Logic gates (AND, OR, NOT, XOR, NAND, NOR), truth tables, Boolean expressions, simplification, Karnaugh maps, D-type flip flops
Data Protection Act 2018 and GDPR, Computer Misuse Act 1990, Copyright Designs and Patents Act 1988, Regulation of Investigatory Powers Act 2000
Computers in the workforce, automated decision making, AI accountability, environmental effects, privacy vs surveillance, censorship, software piracy
H446/02 — Algorithms & Programming
Nature of abstraction, representational abstraction, generalisation, data and procedural abstraction, devising abstract models
Identifying inputs and outputs, preconditions for solutions, caching and its benefits, reusable program components
Problem decomposition into sub-problems, using sub-procedures, interface design, parameter passing
Identifying decision points, determining logical conditions, understanding decision impact on program flow
Concurrent processing, how it is achieved, benefits and drawbacks of concurrent systems
Variables, constants, operators, inputs, outputs, sequence, selection, iteration, subroutines, recursion, global and local variables, modularity and parameters
Problem recognition, decomposition, divide and conquer, backtracking, data mining, heuristics, performance modelling, pipelining, visualisation
Big O notation and complexity, searching algorithms (linear, binary), sorting algorithms (bubble, merge, insertion, quick), Dijkstra's shortest path, A* algorithm