Your journey to excellence inComputer Science
By Revision Genie
Data Types
Questions are written as you practise.
User-Defined Types
Questions are written as you practise.
Variable Declaration
Questions are written as you practise.
Constant Declaration
Questions are written as you practise.
Assignment Statements
Questions are written as you practise.
Selection Statements
Questions are written as you practise.
Iteration Statements
Questions are written as you practise.
Definite Iteration
Questions are written as you practise.
Indefinite Iteration
Questions are written as you practise.
Nested Selection
Questions are written as you practise.
Nested Iteration
Questions are written as you practise.
Identifier Naming
Questions are written as you practise.
Arithmetic Operators
Questions are written as you practise.
Integer Division and Mod
Questions are written as you practise.
Rounding and Truncation
Questions are written as you practise.
Relational Operators
Questions are written as you practise.
Boolean Operators
Questions are written as you practise.
Constants vs Variables
Questions are written as you practise.
Named Constants
Questions are written as you practise.
String Length
Questions are written as you practise.
String Position
Questions are written as you practise.
Substrings
Questions are written as you practise.
String Concatenation
Questions are written as you practise.
Character ↔ Code
Questions are written as you practise.
String Type Conversions
Questions are written as you practise.
Random Number Generation
Questions are written as you practise.
Exception Handling
Questions are written as you practise.
Subroutines Overview
Questions are written as you practise.
Procedures vs Functions
Questions are written as you practise.
Subroutine Parameters
Questions are written as you practise.
Returning Values
Questions are written as you practise.
Local Variables
Questions are written as you practise.
Global Variables
Questions are written as you practise.
Stack Frames
Questions are written as you practise.
Recursion
Questions are written as you practise.
Procedural Paradigm
Questions are written as you practise.
Structured Programming
Questions are written as you practise.
Hierarchy Charts
Questions are written as you practise.
Object-Oriented Concepts
Questions are written as you practise.
Classes and Objects
Questions are written as you practise.
Encapsulation
Questions are written as you practise.
Inheritance
Questions are written as you practise.
Polymorphism and Overriding
Questions are written as you practise.
Aggregation vs Composition
Questions are written as you practise.
OOP Access Modifiers
Questions are written as you practise.
Abstract / Virtual / Static Methods
Questions are written as you practise.
UML Class Diagrams
Questions are written as you practise.
OOP Design Principles
Questions are written as you practise.
Data Structures Overview
Questions are written as you practise.
1D Arrays
Questions are written as you practise.
2D Arrays
Questions are written as you practise.
Multidimensional Arrays
Questions are written as you practise.
Fields and Records
Questions are written as you practise.
Text Files
Questions are written as you practise.
Binary Files
Questions are written as you practise.
Abstract Data Types Overview
Questions are written as you practise.
Static vs Dynamic Structures
Questions are written as you practise.
Queues Overview
Questions are written as you practise.
Linear Queues
Questions are written as you practise.
Circular Queues
Questions are written as you practise.
Priority Queues
Questions are written as you practise.
Queue Operations
Questions are written as you practise.
Stacks Overview
Questions are written as you practise.
Stack Operations
Questions are written as you practise.
Graphs Overview
Questions are written as you practise.
Weighted Graphs
Questions are written as you practise.
Directed vs Undirected Graphs
Questions are written as you practise.
Adjacency Matrices
Questions are written as you practise.
Adjacency Lists
Questions are written as you practise.
Trees Overview
Questions are written as you practise.
Rooted Trees
Questions are written as you practise.
Binary Trees
Questions are written as you practise.
Binary Search Trees
Questions are written as you practise.
Hash Tables Overview
Questions are written as you practise.
Hash Functions
Questions are written as you practise.
Collisions and Rehashing
Questions are written as you practise.
Dictionaries Overview
Questions are written as you practise.
Key–Value Pairs
Questions are written as you practise.
Information Retrieval Dictionaries
Questions are written as you practise.
Vectors as Lists
Questions are written as you practise.
Vectors as Functions
Questions are written as you practise.
Vector Notation
Questions are written as you practise.
Vector Addition
Questions are written as you practise.
Scalar Multiplication
Questions are written as you practise.
Dot Product
Questions are written as you practise.
Dot Product Applications
Questions are written as you practise.
Breadth-First Search (BFS)
Questions are written as you practise.
Depth-First Search (DFS)
Questions are written as you practise.
BFS vs DFS Use Cases
Questions are written as you practise.
Pre-Order Traversal
Questions are written as you practise.
In-Order Traversal
Questions are written as you practise.
Post-Order Traversal
Questions are written as you practise.
Tree Traversal Use Cases
Questions are written as you practise.
Infix to RPN Conversion
Questions are written as you practise.
RPN to Infix Conversion
Questions are written as you practise.
RPN Evaluation Context
Questions are written as you practise.
Linear Search
Questions are written as you practise.
Binary Search
Questions are written as you practise.
Binary Tree Search
Questions are written as you practise.
Bubble Sort
Questions are written as you practise.
Merge Sort
Questions are written as you practise.
Dijkstra’s Algorithm
Questions are written as you practise.
Shortest Path Applications
Questions are written as you practise.
Logic Problem Solving
Questions are written as you practise.
Algorithm Definition
Questions are written as you practise.
Pseudocode Constructs
Questions are written as you practise.
Hand Tracing Algorithms
Questions are written as you practise.
Pseudocode to Code
Questions are written as you practise.
Representational Abstraction
Questions are written as you practise.
Generalisation and Categorisation
Questions are written as you practise.
Information Hiding
Questions are written as you practise.
Procedural Abstraction
Questions are written as you practise.
Functional Abstraction
Questions are written as you practise.
Data Abstraction
Questions are written as you practise.
Problem Reduction
Questions are written as you practise.
Decomposition
Questions are written as you practise.
Composition
Questions are written as you practise.
Automation (Models to Code)
Questions are written as you practise.
FSMs Without Output
Questions are written as you practise.
FSMs With Output (Mealy)
Questions are written as you practise.
Set Notation
Questions are written as you practise.
Set Comprehension
Questions are written as you practise.
Empty Set
Questions are written as you practise.
Finite vs Infinite Sets
Questions are written as you practise.
Countably Infinite Sets
Questions are written as you practise.
Set Cardinality
Questions are written as you practise.
Cartesian Product
Questions are written as you practise.
Subsets and Proper Subsets
Questions are written as you practise.
Set Operations (∪, ∩, )
Questions are written as you practise.
Regular Expressions Basics
Questions are written as you practise.
Regex Metacharacters (* + ? |)
Questions are written as you practise.
Regex Grouping ( )
Questions are written as you practise.
Regex ↔ FSM Equivalence
Questions are written as you practise.
Regular Languages
Questions are written as you practise.
Backus–Naur Form (BNF)
Questions are written as you practise.
Syntax Diagrams
Questions are written as you practise.
Production Rules
Questions are written as you practise.
Regular vs Context-Free Languages
Questions are written as you practise.
Comparing Algorithm Efficiency
Questions are written as you practise.
Time vs Space Complexity
Questions are written as you practise.
Big-O Notation
Questions are written as you practise.
Constant / Log / Linear
Questions are written as you practise.
Polynomial vs Exponential
Questions are written as you practise.
Deriving Big-O
Questions are written as you practise.
Limits of Computation
Questions are written as you practise.
Tractable vs Intractable Problems
Questions are written as you practise.
Heuristics for Intractable Problems
Questions are written as you practise.
Computable vs Non-Computable Problems
Questions are written as you practise.
Halting Problem
Questions are written as you practise.
Turing Machine Structure
Questions are written as you practise.
Transition Functions
Questions are written as you practise.
State Transition Diagrams
Questions are written as you practise.
Hand-Tracing Turing Machines
Questions are written as you practise.
Universal Turing Machine Significance
Questions are written as you practise.
Natural Numbers
Questions are written as you practise.
Integers
Questions are written as you practise.
Rational Numbers
Questions are written as you practise.
Irrational Numbers
Questions are written as you practise.
Real Numbers
Questions are written as you practise.
Ordinal Numbers
Questions are written as you practise.
Counting vs Measurement
Questions are written as you practise.
Decimal (Base 10)
Questions are written as you practise.
Binary (Base 2)
Questions are written as you practise.
Hexadecimal (Base 16)
Questions are written as you practise.
Base Conversion
Questions are written as you practise.
Hex as Binary Shorthand
Questions are written as you practise.
Bits and Bytes
Questions are written as you practise.
Values Representable with n Bits
Questions are written as you practise.
Binary Prefixes (KiB, MiB, GiB, TiB)
Questions are written as you practise.
Decimal Prefixes (kB, MB, GB, TB)
Questions are written as you practise.
Unsigned Binary
Questions are written as you practise.
Unsigned Binary Range
Questions are written as you practise.
Binary Addition
Questions are written as you practise.
Binary Multiplication
Questions are written as you practise.
Two’s Complement
Questions are written as you practise.
Two’s Complement Range
Questions are written as you practise.
Two’s Complement Subtraction
Questions are written as you practise.
Fixed-Point Binary
Questions are written as you practise.
Fixed-Point Conversions
Questions are written as you practise.
Digit Character Codes vs Binary
Questions are written as you practise.
ASCII
Questions are written as you practise.
Unicode
Questions are written as you practise.
Parity Bits
Questions are written as you practise.
Majority Voting
Questions are written as you practise.
Checksums
Questions are written as you practise.
Check Digits
Questions are written as you practise.
Analogue vs Digital Data
Questions are written as you practise.
Analogue vs Digital Signals
Questions are written as you practise.
ADC Principles
Questions are written as you practise.
DAC Principles
Questions are written as you practise.
Bitmapped Graphics
Questions are written as you practise.
Bitmap Resolution
Questions are written as you practise.
Bitmap Colour Depth
Questions are written as you practise.
Bitmap File Size Calculations
Questions are written as you practise.
Bitmap Metadata
Questions are written as you practise.
Vector Graphics
Questions are written as you practise.
Vector Graphic Primitives
Questions are written as you practise.
Vector vs Bitmap Comparison
Questions are written as you practise.
Sound Sampling Rate
Questions are written as you practise.
Sample Resolution
Questions are written as you practise.
Nyquist Theorem
Questions are written as you practise.
Sound File Size Calculations
Questions are written as you practise.
MIDI Purpose
Questions are written as you practise.
MIDI Event Messages
Questions are written as you practise.
MIDI Advantages
Questions are written as you practise.
Lossless vs Lossy Compression
Questions are written as you practise.
Run-Length Encoding (RLE)
Questions are written as you practise.
Dictionary-Based Compression
Questions are written as you practise.
Encryption Terminology
Questions are written as you practise.
Caesar Cipher
Questions are written as you practise.
Vernam Cipher (One-Time Pad)
Questions are written as you practise.
Perfect vs Computational Security
Questions are written as you practise.
Hardware vs Software
Questions are written as you practise.
System Software
Questions are written as you practise.
Application Software
Questions are written as you practise.
Operating Systems Functions
Questions are written as you practise.
Utility Programs
Questions are written as you practise.
Libraries
Questions are written as you practise.
Translators Overview
Questions are written as you practise.
OS Resource Management
Questions are written as you practise.
Low-Level Languages
Questions are written as you practise.
Machine Code
Questions are written as you practise.
Assembly Language
Questions are written as you practise.
High-Level Languages
Questions are written as you practise.
Imperative Languages
Questions are written as you practise.
Assembler Role
Questions are written as you practise.
Compiler Role
Questions are written as you practise.
Interpreter Role
Questions are written as you practise.
Compilation vs Interpretation
Questions are written as you practise.
Bytecode / Intermediate Code
Questions are written as you practise.
Source vs Object Code
Questions are written as you practise.
NOT / AND / OR / XOR Gates
Questions are written as you practise.
NAND / NOR Gates
Questions are written as you practise.
Logic Gate Truth Tables
Questions are written as you practise.
Logic Gate Circuits
Questions are written as you practise.
Boolean Expressions from Circuits
Questions are written as you practise.
Circuits from Boolean Expressions
Questions are written as you practise.
Half-Adder
Questions are written as you practise.
Full-Adder
Questions are written as you practise.
D-Type Flip-Flop
Questions are written as you practise.
Boolean Identities
Questions are written as you practise.
De Morgan’s Laws
Questions are written as you practise.
Boolean Simplification
Questions are written as you practise.
Processor, Memory, Buses
Questions are written as you practise.
Address Bus
Questions are written as you practise.
Data Bus
Questions are written as you practise.
Control Bus
Questions are written as you practise.
I/O Controllers
Questions are written as you practise.
Bus Communication
Questions are written as you practise.
Von Neumann Architecture
Questions are written as you practise.
Harvard Architecture
Questions are written as you practise.
Embedded Systems Context
Questions are written as you practise.
Addressable Memory
Questions are written as you practise.
Stored Program Concept
Questions are written as you practise.
ALU
Questions are written as you practise.
Control Unit
Questions are written as you practise.
Clock
Questions are written as you practise.
General-Purpose Registers
Questions are written as you practise.
Program Counter (PC)
Questions are written as you practise.
Current Instruction Register (CIR)
Questions are written as you practise.
Memory Address Register (MAR)
Questions are written as you practise.
Memory Buffer Register (MBR)
Questions are written as you practise.
Status Register
Questions are written as you practise.
Fetch–Decode–Execute Cycle
Questions are written as you practise.
Processor Instruction Set
Questions are written as you practise.
Opcode and Operands
Questions are written as you practise.
Immediate Addressing
Questions are written as you practise.
Direct Addressing
Questions are written as you practise.
Assembly Mnemonics
Questions are written as you practise.
LOAD / STORE
Questions are written as you practise.
ADD / SUBTRACT
Questions are written as you practise.
Branching
Questions are written as you practise.
Compare
Questions are written as you practise.
Bitwise Operators
Questions are written as you practise.
Shifts
Questions are written as you practise.
HALT
Questions are written as you practise.
Performance: Cores
Questions are written as you practise.
Performance: Cache
Questions are written as you practise.
Performance: Clock Speed
Questions are written as you practise.
Performance: Word Length
Questions are written as you practise.
Performance: Bus Widths
Questions are written as you practise.
Input Devices (Barcode, RFID)
Questions are written as you practise.
Output Devices (Laser, Camera)
Questions are written as you practise.
Secondary Storage Purpose
Questions are written as you practise.
Hard Disks
Questions are written as you practise.
Optical Disks
Questions are written as you practise.
Solid State Drives (SSD)
Questions are written as you practise.
Storage Speed vs Capacity
Questions are written as you practise.
Moral Issues
Questions are written as you practise.
Ethical Issues
Questions are written as you practise.
Social Impacts
Questions are written as you practise.
Legal Issues
Questions are written as you practise.
Cultural Impacts
Questions are written as you practise.
Opportunities of Computing
Questions are written as you practise.
Risks of Computing
Questions are written as you practise.
Monitoring Behaviour
Questions are written as you practise.
Personal Data Collection
Questions are written as you practise.
Data Analysis at Scale
Questions are written as you practise.
Publishing and Dissemination
Questions are written as you practise.
Responsibilities of Developers
Questions are written as you practise.
Embedded Values in Software
Questions are written as you practise.
Scale and Harm Potential
Questions are written as you practise.
Legislative Challenges
Questions are written as you practise.
Serial Transmission
Questions are written as you practise.
Parallel Transmission
Questions are written as you practise.
Synchronous Transmission
Questions are written as you practise.
Asynchronous Transmission
Questions are written as you practise.
Start and Stop Bits
Questions are written as you practise.
Baud Rate
Questions are written as you practise.
Bit Rate
Questions are written as you practise.
Bandwidth
Questions are written as you practise.
Latency
Questions are written as you practise.
Protocols
Questions are written as you practise.
Physical Star Topology
Questions are written as you practise.
Logical Bus Topology
Questions are written as you practise.
Peer-to-Peer Networking
Questions are written as you practise.
Client–Server Networking
Questions are written as you practise.
WiFi Purpose
Questions are written as you practise.
Wireless Adapters
Questions are written as you practise.
Wireless Access Points
Questions are written as you practise.
Wireless Security (WPA/WPA2)
Questions are written as you practise.
SSID
Questions are written as you practise.
MAC Allow Lists
Questions are written as you practise.
CSMA/CA
Questions are written as you practise.
RTS/CTS
Questions are written as you practise.
Internet Structure
Questions are written as you practise.
Packet Switching
Questions are written as you practise.
Routers
Questions are written as you practise.
Gateways
Questions are written as you practise.
Packet Components
Questions are written as you practise.
Routing Across the Internet
Questions are written as you practise.
URLs
Questions are written as you practise.
FQDNs
Questions are written as you practise.
Domain Names
Questions are written as you practise.
IP Addresses
Questions are written as you practise.
Domain Name System (DNS)
Questions are written as you practise.
Internet Registries
Questions are written as you practise.
Firewalls (Filtering/Proxy/Stateful)
Questions are written as you practise.
Symmetric Encryption
Questions are written as you practise.
Asymmetric Encryption
Questions are written as you practise.
Key Exchange
Questions are written as you practise.
Digital Certificates
Questions are written as you practise.
Digital Signatures
Questions are written as you practise.
Worms, Trojans, Viruses
Questions are written as you practise.
Software Vulnerabilities
Questions are written as you practise.
Mitigations (Code Quality/Monitoring)
Questions are written as you practise.
TCP/IP Layers
Questions are written as you practise.
Sockets
Questions are written as you practise.
MAC Addresses
Questions are written as you practise.
Well-Known vs Client Ports
Questions are written as you practise.
FTP
Questions are written as you practise.
HTTP
Questions are written as you practise.
HTTPS
Questions are written as you practise.
POP3
Questions are written as you practise.
SMTP
Questions are written as you practise.
SSH
Questions are written as you practise.
FTP Anonymous vs Authenticated
Questions are written as you practise.
SSH Remote Management
Questions are written as you practise.
Email Server Role
Questions are written as you practise.
Web Server Role
Questions are written as you practise.
Web Browser Role
Questions are written as you practise.
IP Network vs Host Parts
Questions are written as you practise.
Subnet Masks
Questions are written as you practise.
IPv4 vs IPv6
Questions are written as you practise.
Public vs Private IPs
Questions are written as you practise.
DHCP
Questions are written as you practise.
Network Address Translation (NAT)
Questions are written as you practise.
Port Forwarding
Questions are written as you practise.
Client–Server Request/Response
Questions are written as you practise.
WebSockets
Questions are written as you practise.
Web CRUD Principles
Questions are written as you practise.
REST Principles
Questions are written as you practise.
CRUD ↔ HTTP Mapping
Questions are written as you practise.
REST ↔ SQL Mapping
Questions are written as you practise.
REST APIs
Questions are written as you practise.
JSON Data Exchange
Questions are written as you practise.
XML Data Exchange
Questions are written as you practise.
JSON vs XML Comparison
Questions are written as you practise.
Thin Clients
Questions are written as you practise.
Thick Clients
Questions are written as you practise.
Data Requirements to Data Model
Questions are written as you practise.
Entities and Attributes
Questions are written as you practise.
Entity Identifiers
Questions are written as you practise.
Entity Relationship Diagrams (ERD)
Questions are written as you practise.
Relational Database Concept
Questions are written as you practise.
Attributes
Questions are written as you practise.
Primary Keys
Questions are written as you practise.
Composite Keys
Questions are written as you practise.
Foreign Keys
Questions are written as you practise.
Normalisation Purpose
Questions are written as you practise.
Third Normal Form (3NF)
Questions are written as you practise.
SQL SELECT
Questions are written as you practise.
SQL INSERT
Questions are written as you practise.
SQL UPDATE
Questions are written as you practise.
SQL DELETE
Questions are written as you practise.
SQL Table Definition (DDL)
Questions are written as you practise.
Client–Server Databases
Questions are written as you practise.
Concurrent Access Issues
Questions are written as you practise.
Record Locking
Questions are written as you practise.
Serialisation
Questions are written as you practise.
Timestamp Ordering
Questions are written as you practise.
Commitment Ordering
Questions are written as you practise.
Big Data Definition
Questions are written as you practise.
Volume
Questions are written as you practise.
Velocity
Questions are written as you practise.
Variety
Questions are written as you practise.
Structured vs Unstructured Data
Questions are written as you practise.
Relational Database Limitations
Questions are written as you practise.
Pattern Discovery and ML Context
Questions are written as you practise.
Distributed Processing Need
Questions are written as you practise.
Functional Programming for Distribution
Questions are written as you practise.
Immutability
Questions are written as you practise.
Statelessness
Questions are written as you practise.
Higher-Order Functions
Questions are written as you practise.
Fact-Based Data Model
Questions are written as you practise.
Graph Schema
Questions are written as you practise.
Nodes, Edges, Properties
Questions are written as you practise.
Function Types (A → B)
Questions are written as you practise.
Domain and Co-Domain
Questions are written as you practise.
Functions as First-Class Objects
Questions are written as you practise.
Function Application
Questions are written as you practise.
Partial Application
Questions are written as you practise.
Currying Notation
Questions are written as you practise.
Function Composition
Questions are written as you practise.
Functional Languages Examples
Questions are written as you practise.
Higher-Order Functions
Questions are written as you practise.
Map
Questions are written as you practise.
Filter
Questions are written as you practise.
Reduce / Fold
Questions are written as you practise.
Lists as Head and Tail
Questions are written as you practise.
Empty Lists
Questions are written as you practise.
Head Operation
Questions are written as you practise.
Tail Operation
Questions are written as you practise.
Empty Test
Questions are written as you practise.
List Length
Questions are written as you practise.
Prepend
Questions are written as you practise.
Append
Questions are written as you practise.
Problem Definition
Questions are written as you practise.
Requirements Gathering
Questions are written as you practise.
Data Modelling
Questions are written as you practise.
Solution Design
Questions are written as you practise.
Modular Design
Questions are written as you practise.
Algorithm Design
Questions are written as you practise.
UI Design
Questions are written as you practise.
Iterative / Agile Design
Questions are written as you practise.
Implementation Planning
Questions are written as you practise.
Debugging Practice
Questions are written as you practise.
Testing with Normal Data
Questions are written as you practise.
Boundary Testing
Questions are written as you practise.
Erroneous Data Testing
Questions are written as you practise.
Acceptance Testing
Questions are written as you practise.
User Feedback Evidence
Questions are written as you practise.
Evaluation Criteria
Questions are written as you practise.
Project Purpose
Questions are written as you practise.
Problem vs Investigation Choice
Questions are written as you practise.
Feasibility of Technical Challenge
Questions are written as you practise.
Project Planning
Questions are written as you practise.
Analysis Evidence
Questions are written as you practise.
Design Evidence
Questions are written as you practise.
Technical Solution Evidence
Questions are written as you practise.
Solution Completeness
Questions are written as you practise.
Techniques and Complexity
Questions are written as you practise.
Coding Style
Questions are written as you practise.
Testing Evidence
Questions are written as you practise.
Evaluation Evidence
Questions are written as you practise.
Documentation Conciseness
Questions are written as you practise.
Marking Focus Areas
Questions are written as you practise.