AQA · GCSE
Your journey to excellence inComputer Science
By Revision Genie
I want to study…
Start learning
Start with the first Computer Science lesson.
What an Algorithm Is (Step-by-Step Instructions)
1What an Algorithm Is (Step-by-Step Instructions)Read next2Algorithm vs Program (Same Idea, Different Thing)Read next3Decomposition: Breaking a Problem into Sub-ProblemsRead next4Abstraction: Removing Unnecessary DetailRead next5A Systematic Approach to Solving ProblemsRead next6Writing Algorithms in PseudocodeRead next7Representing Algorithms with FlowchartsRead next8Representing Algorithms with Program CodeRead next9Inputs, Processes and Outputs in an AlgorithmRead next10Spotting Inputs, Processes and Outputs in Given PseudocodeRead next11Tracing an Algorithm with a Trace TableRead next12Determining What a Simple Algorithm Does (Purpose)Read next13Why Different Algorithms Can Solve the Same ProblemRead next14Comparing Algorithms by Time Efficiency (Faster vs Slower)Read next15Linear Search: How It Works (Mechanics)Read next16Linear Search: Tracing Step-by-StepRead next17Binary Search: Why the Data Must Be SortedRead next18Binary Search: How It Works (Mechanics)Read next19Binary Search: Tracing Step-by-StepRead next20Linear vs Binary Search: Advantages and DisadvantagesRead next21Merge Sort: Splitting a List into HalvesRead next22Merge Sort: Merging Two Sorted ListsRead next23Merge Sort: Tracing a Full ExampleRead next24Bubble Sort: Swapping Adjacent ItemsRead next25Bubble Sort: Passes, Comparisons and SwapsRead next26Bubble Sort: Tracing a Full ExampleRead next27Merge Sort vs Bubble Sort: Advantages and DisadvantagesRead next
Integer, Real and Boolean Data Types
1Integer, Real and Boolean Data TypesRead next2Character and String Data TypesRead next3Choosing the Right Data Type for a VariableRead next4Variables and Assignment (Storing and Updating Values)Read next5Constants and Why They’re UsefulRead next6Meaningful Identifier Names (Readable Code)Read next7Sequence: Running Statements in OrderRead next8Selection: IF, ELSEIF, ELSE DecisionsRead next9Nested Selection (IF Inside IF)Read next10Count-Controlled Iteration (FOR Loops)Read next11Condition-Controlled Iteration (WHILE / REPEAT UNTIL)Read next12Avoiding Infinite Loops (Correct Conditions)Read next13Arithmetic Operators: +, -, *, /, DIV, MODRead next14Order of Operations in ExpressionsRead next15Relational Operators: =, ≠, <, >, ≤, ≥Read next16Building Conditions with Relational OperatorsRead next17Boolean Operators: AND, OR, NOTRead next18Combining Boolean Conditions (With Brackets)Read next19One-Dimensional Arrays: Indexes and BoundsRead next20Iterating Through a 1D ArrayRead next21Two-Dimensional Arrays: Rows, Columns and IndexesRead next22Iterating Through a 2D Array (Nested Loops)Read next23Records: Fields Inside a Single Data ItemRead next24Arrays of Records (Lists of Structured Items)Read next25Input from a User (Keyboard / Form Input)Read next26Output to a User (Screen / Console Output)Read next27String Length and String IndexingRead next28Substrings and String SlicingRead next29Concatenating StringsRead next30Converting Between Characters and Character CodesRead next31Random Number Generation (Range and Use Cases)Read next32Using Randomness in Algorithms (Games / Sampling)Read next33Subroutines: Why We Use Them (Decomposition in Code)Read next34Procedures vs Functions (Return Values)Read next35Passing Parameters into a SubroutineRead next36Using Return Values from FunctionsRead next37Local vs Global Variables (Scope Basics)Read next38Data Validation: Presence, Length and Range ChecksRead next39Data Validation: Format Checks (e.g. Type/Pattern)Read next40Authentication: Usernames, Passwords and AccessRead next41CAPTCHA: Why It’s Used and What It StopsRead next42Common Programming Errors: Syntax vs LogicRead next43Testing Strategies: Normal, Boundary and Erroneous Test DataRead next44Debugging: Finding and Fixing Errors from Test ResultsRead next
Decimal, Binary and Hexadecimal Bases
1Decimal, Binary and Hexadecimal BasesRead next2Why Computers Use BinaryRead next3Bit Patterns: Same Bits, Different Meanings (Text/Image/Sound/Number)Read next4Why Hexadecimal Is Useful in ComputingRead next5Binary Place Value (8-bit Numbers 0–255)Read next6Writing Decimal Numbers (0–255) in BinaryRead next7Hex Place Value and Hex Digits (0–F)Read next8Writing Decimal Numbers (0–255) in HexRead next9Converting Binary to DecimalRead next10Converting Decimal to BinaryRead next11Converting Binary to Hex (Nibble Grouping)Read next12Converting Hex to Binary (Nibble Expansion)Read next13Converting Decimal to HexRead next14Converting Hex to DecimalRead next15Bits and Bytes (b vs B)Read next16Decimal Prefixes: kB, MB, GB, TB (Powers of 10)Read next17Comparing File Sizes Using PrefixesRead next18Adding Two Binary Numbers (With Carry)Read next19Adding Three Binary Numbers (Column Rules)Read next20Logical Shifts Left and Right (8-bit)Read next21Using Shifts for Multiply/Divide by Powers of 2Read next22What a Character Set IsRead next237-bit ASCII: Using an Encoding TableRead next24Unicode: Why It Exists and Its Advantages over ASCIIRead next25Converting Characters to Codes (Using a Given Table)Read next26Converting Codes to Characters (Using a Given Table)Read next27Pixels and How a Bitmap Image Is StoredRead next28Image Resolution and Colour DepthRead next29Calculating Image File Size (Resolution × Colour Depth)Read next30How Changing Resolution Affects Image Quality and File SizeRead next31How Changing Colour Depth Affects Image Quality and File SizeRead next32Sampling Sound: From Analogue to DigitalRead next33Sampling Rate and Sample Resolution (Bit Depth)Read next34How Sampling Choices Affect Sound QualityRead next35Calculating Sound File Size (Rate × Resolution × Time)Read next36Why Data Compression Is UsedRead next37Lossy vs Lossless Compression (What Changes, What Doesn’t)Read next38Run-Length Encoding: Creating Compressed DataRead next39Run-Length Encoding: Decompressing Back to OriginalRead next40Huffman Coding: Frequency Tables and IdeaRead next41Huffman Coding: Building/Using a Huffman TreeRead next42Huffman Coding: Calculating Bits SavedRead next
Hardware vs Software (What Each Means)
1Hardware vs Software (What Each Means)Read next2How Hardware and Software Work TogetherRead next3Boolean Values: True/False as 1/0Read next4The NOT Gate: Truth Table and MeaningRead next5The AND Gate: Truth Table and MeaningRead next6The OR Gate: Truth Table and MeaningRead next7The XOR Gate: Truth Table and MeaningRead next8Logic Gates with Three Inputs (Truth Tables)Read next9Drawing Logic Circuits Using Gate SymbolsRead next10Reading a Logic Circuit to Produce a Truth TableRead next11Combining Logic Gates into Larger CircuitsRead next12Boolean Expressions from Logic CircuitsRead next13Logic Circuits from Boolean ExpressionsRead next14System Software vs Application SoftwareRead next15The Purpose of an Operating SystemRead next16OS Management: Memory, Processor, Devices and UsersRead next17Utility Software: What It Is and ExamplesRead next18Low-Level vs High-Level Programming LanguagesRead next19Machine Code: What It Is and Why It’s Processor-SpecificRead next20Assembly Language: What It Is and Why It’s UsedRead next21Translators: Compiler, Interpreter and AssemblerRead next22Compiler vs Interpreter (Key Differences)Read next23What Main Memory Does in a Computer SystemRead next24CPU Components: ALU, Control Unit and ClockRead next25Registers and Their Role (No Specific Registers Needed)Read next26Buses: What They Are and Why They MatterRead next27The Fetch-Decode-Execute Cycle (Full Cycle)Read next28What Affects CPU Performance: Clock SpeedRead next29What Affects CPU Performance: Cores and CacheRead next30RAM vs ROM (Volatile vs Non-Volatile)Read next31Cache and Registers: Why They ExistRead next32Main Memory vs Secondary StorageRead next33Why Secondary Storage Is NeededRead next34Magnetic Storage: How It Stores DataRead next35Solid State Storage: How It Stores Data (High Level)Read next36Magnetic vs Solid State: Pros and ConsRead next37Cloud Storage: What It MeansRead next38Cloud Storage vs Local Storage: Pros and ConsRead next39Embedded Systems: What They AreRead next40Embedded vs Non-Embedded Systems (Examples)Read next
What a Computer Network Is
1What a Computer Network IsRead next2Advantages of Using NetworksRead next3Disadvantages and Risks of NetworksRead next4PAN: What It Is (Bluetooth Only)Read next5LAN: What It Is (Size and Ownership)Read next6WAN: What It Is (The Internet as a WAN)Read next7Wired vs Wireless Networks (Key Differences)Read next8Wireless vs Wired: Advantages and DisadvantagesRead next9Copper vs Fibre Cabling (When Each Is Appropriate)Read next10What a Network Protocol IsRead next11IP: Addressing and Routing (Purpose)Read next12TCP: Reliable Transmission (Purpose)Read next13HTTP: How Web Pages Are Transferred (Purpose)Read next14HTTPS: What Changes Compared to HTTP (Purpose)Read next15SMTP: Sending Email (Purpose)Read next16IMAP: Retrieving Email (Purpose)Read next17Why Network Security MattersRead next18Authentication on Networks (Users and Permissions)Read next19Encryption on Networks (Protecting Data in Transit)Read next20Firewalls: What They Do and How Rules WorkRead next21MAC Address Filtering: Allowing/Blocking DevicesRead next22Layering Security Methods Together (Defence in Depth)Read next23The TCP/IP 4-Layer Model: Names of the LayersRead next24Application Layer: What Happens HereRead next25Transport Layer: What Happens HereRead next26Internet Layer: What Happens HereRead next27Link Layer: What Happens HereRead next28Which Protocols Sit in Which TCP/IP LayerRead next
What Cyber Security Means
1What Cyber Security MeansRead next2The Main Purposes of Cyber SecurityRead next3Social Engineering: What It IsRead next4Blagging (Pretexting): How It WorksRead next5Phishing: How It Works (Email/SMS)Read next6Shouldering (Shoulder Surfing): How It WorksRead next7Protecting Against Social Engineering (Practical Behaviours)Read next8Malware: What It Is (Umbrella Term)Read next9Computer Viruses: How They Spread and HarmRead next10Trojans: Disguised Malware and Its RisksRead next11Spyware: Monitoring Users and Stealing DataRead next12Protecting Against Malware (Practical Steps)Read next13Pharming: Redirecting Traffic to Fake WebsitesRead next14Weak/Default Passwords: Why They’re DangerousRead next15Misconfigured Access Rights: How They Create RisksRead next16Removable Media Threats (e.g. Infected USBs)Read next17Unpatched/Outdated Software: Why It’s a ThreatRead next18Penetration Testing: What It Is Used ForRead next19Pen Testing: Internal Attack SimulationRead next20Pen Testing: External Attack SimulationRead next21Biometrics for Security (Especially Mobile Devices)Read next22Password Systems (Strong Password Practice)Read next23CAPTCHA and Automated Attack PreventionRead next24Email Confirmations for Identity CheckingRead next25Automatic Software Updates as ProtectionRead next
What a Database Is
1What a Database IsRead next2What a Relational Database IsRead next3Tables, Records and Fields (Core Vocabulary)Read next4Data Types in Databases (Why They Matter)Read next5Primary Keys: Unique IdentifiersRead next6Foreign Keys: Linking Tables TogetherRead next7Reducing Redundancy and Inconsistency with Relational DesignRead next8SELECT: Choosing Which Fields to ShowRead next9FROM: Choosing Which Table(s) to UseRead next10WHERE: Filtering Records by a ConditionRead next11ORDER BY: Sorting Results ASC and DESCRead next12Writing Queries Using Two Tables (Maximum)Read next13INSERT INTO: Adding a New RecordRead next14UPDATE: Editing Existing Data Safely with WHERERead next15DELETE: Deleting Records Safely with WHERERead next
What “Ethical Impact” Means in Digital Technology
1What “Ethical Impact” Means in Digital TechnologyRead next2What “Legal Impact” Means in Digital TechnologyRead next3What “Environmental Impact” Means in Digital TechnologyRead next4Privacy: What People Expect and Why It MattersRead next5Security vs Privacy: The Core Trade-Off (Safety vs Access)Read next6Evaluating a Scenario: Stakeholders, Benefits and RisksRead next7Cyber Security Impacts: Protection, Surveillance and HarmRead next8Mobile Technologies: Location Tracking and Personal DataRead next9Wireless Networking: Convenience vs Eavesdropping RisksRead next10Cloud Storage: Data Ownership, Access and Jurisdiction IssuesRead next11Cloud Storage: Reliability, Outages and Dependency RisksRead next12Hacking (Unauthorised Access): Harm, Motivations and ConsequencesRead next13Wearable Tech: Health Data, Consent and Data SharingRead next14Computer-Based Implants: Safety, Consent and Data SecurityRead next15Autonomous Vehicles: Safety, Liability and Decision-Making EthicsRead next16Environmental Costs: Energy Use of Devices and Data CentresRead next17Environmental Costs: E-waste and Product LifecyclesRead next18Key UK Digital Laws (Overview: Data, Access, Copyright, Info Rights)Read next
Designing a Program to Meet a Brief
1Designing a Program to Meet a BriefRead next2Writing a Program in a Text-Based High-Level LanguageRead next3Testing a Program SystematicallyRead next4Refining a Program Based on Test EvidenceRead next5Using Programming Tasks to Build Exam-Ready SkillsRead next6What the Practical Programming Statement Confirms (Opportunity to Practise)Read next7Avoiding Malpractice in Practical Programming EvidenceRead next