Unit 1 - Computer Architecture | |
Subunit 1 - Computer Models | |
| 1.1.1. Input-Process-Output Model | |
| Input Process Output Model | IPO Model | Input phase of IPO model | Process Phase of the IPO model | Output phase of the IPO Model | Hard Copy Information | Soft Copy Information | |
| Input-Process-Output Model / Input / Process / Output / Data Flow / System / Model / Abstraction / Feedback / Control / Hard Copy / Soft Copy / File Format / | |
| 1.1.5. Sequential, Parallel & Multi-agent Models | |
| Sequential Architecture | Introduction to sequential computer architecture | Execution Flow | Advantages | Disadvantages | |
| Parallel Architecture | Introduction to parallel architecture | Execution | Use cases for parallel architecture | Advantages of parallel architecture | Disadvantages of parallel architecture | |
| Multi-agent architecture | Introduction to multi-agent architecture | Use cases for Multi-Agent Architecture | Types of Multi-Agent Models | Advantages | Disadvantages | |
| Parallel algorithm / Sequential / Parallel / Multi-agent / Models / Task / Order / Simultaneously / Processors / Threads / Autonomous / | |
| 1.1.4. Fetch – Execute Cycle | |
| Introduction to Fetch – Execute Cycle | Introduction to the Fetch-Execute Cycle | Fetch | Fetch Stage Steps | Decode Phase | Decode Stage Steps | Execute Phase | Execute Phase Steps | Fetch Using the MAR and MBR | Register Transfer Notation | Read and Write Control Signals | Putting It Together: Executing a LOAD | |
| Fetch / Execute / Cycle / Instruction / Memory / CPU / Step / Retrieve / Sequence / Carry out / Fetch-Decode-Execute Cycle / Decode / register transfer notation / control signal / | |
| 1.1.2. CPU Registers | |
| CPU Registers | CPU Registers | Program Counter (PC) | Memory Address Register (MAR) | Memory Data/Buffer Register (MDR/MBR) | Accumulator | Current Instruction Register (CIR) | Index Registers | Stack Pointer (SP) | General Purpose Registers | Status Register (SR) | The CPU Clock | |
| Central Processing Unit / register / accumulator / program counter / memory data register / memory address register / instruction register / status register / clock speed / current instruction register / | |
| 1.1.3. Von Neumann Architecture | |
| Introduction to Von Neumann Architecture | Von Neumann Architecture | Stored Program Computer | Components of the Von Neumann Architecture | Central Processing Unit (CPU) | Memory (RAM) | Control Unit (CU) | Arithmetic Logic Unit (ALU) | Input/Output (I/O) System | Registers | System Busses | Data Bus | Address Bus | Addressable Memory | Addressable Memory Worked Examples | Control Bus | Program Counter (PC) | Benefits and Drawbacks of Von Neumann Architecture | The Von Neumann Bottleneck | |
| Von Neumann Architecture / Stored-Program Computer / Memory / Instruction Fetch / Instruction Decode / Instruction Execution / Control Unit / Arithmetic Logic Unit (ALU) / Input/Output (I/O) / bus / control bus / data bus / address bus / system bus / Fixed Programs / Stored Program Computer / Sequential Execution / Reprogrammability / Data Bus / Address Bus / Control Bus / von Neumann bottleneck / addressable memory / | |
Subunit 2 - The CPU | |
| 1.2.2. CPU Performance Factors | |
| CPU Performance Factors | Clock Speed | Core Count | Cache Size | Instruction Set Architecture (ISA) | Thermal Design Power (TDP) | Memory Support | Bus Speeds and Bandwidth | Pipelining | Hyper-Threading / Multi-Threading | Power Management Features | Overclocking | |
| Clock Speed / Cache Memory / Instruction Set / Number of Cores / Hyper-Threading / Pipeline Length / Bus Speed / Cache Latency / Power Consumption / Thermal Design Power / Thread Count / Thermal Design Power (TDP) / Instruction Pipelining / Overclocking / Clock Speed / | |
| 1.2.1. The CPU | |
| The CPU | The CPU | Instruction Execution | CPU Clock | Clock Speed | Cores | Cache Memory | Cooling and Power Management | Architecture and Instruction Set | Overclocking | Underclocking | |
| Central Processing Unit / Microprocessor / Instruction Set / Clock Speed / Cache Memory / Pipeline / Multicore / CPU / heatsink / thermal paste / overclocking / liquid cooling / Underclocking / CPU clock / crystal oscillator / core / gigahertz / | |
Subunit 3 - Other Computer Components | |
| 1.3.1. The GPU | |
| The GPU | Graphical Processing Units | Graphics Rendering | Parallel Processing Power | General-Purpose Computing | High Memory Bandwidth | Integrated vs discrete graphics | |
| GPU / Parallel processing / Graphics memory / Ray tracing / VRAM / | |
| 1.3.2. Motherboard | |
| Motherboard | Motherboard | Motherboard Slots | Form Factors | Power Supply Unit. | |
| fan / finned heatsink / memory slots / expansion slots / Power connectors / Form factor / power supply unit / | |
Subunit 4 - Embedded Systems | |
| 1.4.1. Embedded Devices | |
| Embedded Systems | Embedded Systems | Microcontrollers | Embedded System Components | Components of an Embedded System | Embedded System Characteristics | Field-Programmable Gate Array (FPGA) | System-on-Chip (SoC) | Smart Home Devices | Consumer Devices | Automotive Systems | Industrial Systems | Medical Systems | |
| Embedded devices / Microcontroller / Firmware / Real-time operating system (RTOS) / Sensor / Internet of Things (IoT) / Embedded software / Single-board computer / Embedded Systems / Microcontroller / Smart TV / Smart speaker / Programmable Logic Controllers (PLCs) / Robotic arm controllers / Real-Time Operation / FPGA / | |
Unit 10 - Languages & IDEs | |
Subunit 1 - High & Low Level Languages | |
| 10.1.1. High & Low Level Languages | |
| High & Low Level Programming Languages | High Level Languages | Features of High Level Languages | Limitations of High Level Languages | Low Level Languages | Features of Low Level Languages | |
| High-level language / Low-level language / Compiler / Interpreter / Assembly language / Machine language / Abstraction / Portability / Efficiency / Readability / | |
| 10.1.2. Compilers, Interpreters, Assemblers & Translators | |
| Translators | What a translator does | Compiler versus interpreter | Two translation paths | Assemblers | Choosing a translator | |
| source code / object code / | |
| 10.1.7. Compilation Process | |
| Compilation Process | Compilation Process | 1. Preprocessing | 2. Compiling | 3. Assmembly | 4. Linking | The need for separate steps | |
| Compiler / Interpreter / Assembler / Translator / Lexical Analysis / Syntax Analysis / Semantic Analysis / Code Generation / Optimization / Linker / | |
| 10.1.6. Compilers, Interpreters, Assemblers & Translators | |
| Translators | Translators | Compile then run, or run as you go | How much code one statement becomes | Assemblers | When errors show | |
| compiler / interpreter / | |
| 10.1.5. Assemblers | |
| Assemblers | Assembler | Features of Assemblers | Advantages of Assembly Language | Disadvantages of Assembly Language | Example Assembly Language Code | |
| Assembler / Line by Line / Compilation / Rapid Prototyping / Portability / Bytecode / Interpretation overhead / JIT compilation / Bytecode / Assembler / Assembly Language / Machine Code / | |
| 10.1.4. Compilers | |
| Compilers | Compiler | Features of Compilers | Compilation Process | Advantages of Compilers | Disadvantages of Compilers | Just In Time Compilation | Advantages of JIT Compilation | Disadvantages of JIT Compilation | |
| Compilation / Source code / Preprocessing / Compilation / Assembly code generation / Linking / Executable creation / | |
| 10.1.3. Interpreters | |
| Interpreters | Interpreter | Features of Interpreters | Advantages of Interpreters | Disadvantages of Interpreters | Bytecode Interpreters | Advantages of Bytecode Interpreters | Disadvantages of Bytecode Interpreters | |
| Compiler / Interpreter / Line by line processing / | |
Subunit 2 - Integrated Developer Environments | |
| 10.2.1. Integrated Developer Environments | |
| Integrated Developer Environments | Integrated Development Environments | Source Code Editor | Debugger | Compiler and/or Interpreter | Intelligent Code Completion | Simulators or Emulators | Project Management | |
| IDE / Code editor / Debugging / Compiler / Syntax highlighting / Version control / Auto-completion / Project management / Syntax errors / Refactoring / | |
Unit 2 - Memory, Storage & Data Representation | |
Subunit 1 - Primary Storage (RAM & ROM) | |
| 2.1.1. Main Memory | |
| Cache Memory | Cache Memory | L1 Cache (Level 1) | L2 Cache (Level 2) | L3 Cache (Level 3) | Cache Hits & Misses | Pros & Cons of Cache Memory | |
| RAM | RAM | Why do we need RAM? | When is RAM used? | Virtual Memory | Advantages of RAM | Disadvantages of RAM | The Memory Hierarchy | Why Use a Memory Hierarchy? | |
| Cache Memory / Hits / Misses / RAM / Memory Module / Virtual Memory / Latency / Non-volatile Memory / Memory Management / Swap Space / L1 cache / cache hit / cache miss / cache memory / memory hierarchy / | |
| 2.1.2. Virtual Memory | |
| Introduction to Virtual Memory | Introduction to Virtual Memory | How Virtual Memory Works | Benefits of Virtual Memory | Impact of Virtual Memory on System Performance | |
| Virtual Memory / Multitasking / Paging / Page Table / Physical Frames / Address Translation / | |
Subunit 2 - Secondary Storage | |
| 2.2.1. Magnetic Storage Devices | |
| Introduction to Magnetic Storage Devices | Hard Disk Drives (HDD) | How Hard Drives Read Data | How Hard Drives Write Data | Components of a HDD | Advantages of HDD Drives | Disadvantages of HDD Drives | Magnetic Tape Drives | Advantages of magnetic tape drives | Disadvantages of magnetic tape drives | |
| Magnetic storage / Hard disk drive / Read/write head / Track / Sector / Platter / Disk controller / Magnetic tape / Tape drive / Backup / Archiving / Data retention / Data recovery / Data redundancy / Data mirroring / Redundant Array of Independent Disks / Solid-state drive / | |
| 2.2.2. Optical Storage Devices | |
| Introduction to Optical Storage Devices | CD (Optical Storage Devices) | How Optical Storage Devices Work | CD Reading Process | Advantages of CDs | Disadvantages of CDs | Types of CDs | DVD (Optical Storage Devices) | Advantages of DVDs | Disadvantages of DVDs | Blu-ray (Optical Storage Devices) | |
| Optical Storage Devices / CD-ROM / DVD / Blu-Ray / Read-only / Write-once / Rewritable / Sector / Track / Pit / Land / Laser / Optical Disc Drive / Reflectivity / Data Density / Rotational Speed / Access Time / Buffer / Caddy / Tray / | |
| 2.2.3. Electrical Storage Devices (SSD,Flash Drive) | |
| Introduction to Electrical Storage Devices (SSD,Flash Drive) | Electrical Storage Devices (SSD, Flash Drive) | Programming (writing data) | Erasing | Read Operation | Multi-Level Cell (MLC) Storage | Solid-State Drives (SSD): | Advantages of SSD Drives | Disadvantages of SSD Drives | Flash Drives (USB Drives) | SD cards | Embedded Multi Media Cards | Pros and Cons of eMMCs | |
| Electrical Storage Devices / SSD / Flash Drive / Storage / Energy / Data / Integrated Circuits / Portable / Flash Memory / Digital / | |
| 2.2.4. Cloud Storage | |
| Introduction to Cloud Storage | Cloud Storage | Advantages of Cloud Storage | Advantages (cont) | Disadvantages of Cloud Storage | Disadvantages of Cloud Storage(cont...) | Personal Cloud Storage | Business Cloud Storage | Public Cloud Storage | Private Cloud Storage | |
| Cloud Storage / Virtualization / Data Migration / Data Center / Data Redundancy / Cloud Service Provider / Security Protocols / Subscription Model / Data Encryption / Data Replication / Private Cloud / Public Cloud / Hybrid Cloud / Network Latency / Cloud Backup / Disaster Recovery / Cloud Availability / Cloud Scalability / Data Center Virtualization / Cloud Deployment Model / Scalability / Enterprise Cloud Storage / Document Management / Collaboration Tools / | |
| 2.2.5. Data Backups | |
| Reasons for data backup | Accidental Deletion | Data Corruption | Ransomware and Malware | Hardware and Software Upgrades | Natural Disasters | Theft and Physical Damage | Archiving and Version Control | Regulatory Compliance | |
| Onsite vs Offsite Backups | Backup Location | Backup Speed | Backup Security | Backup Cost | Backup Management | Backup Legislative compliance | |
| Online vs Offline Backups | Online Backups | Pros & Cons of Online Backups | Offline Backups | Pros & Cons of Offline Backups | |
| Backup / Data loss / Disaster recovery / Incremental backup / Full backup / Differential backup / Off-site backup / On-site backup / Magnetic tape backup / Cloud backup / In-house backup / Third-party backup / Backup frequency / Backup retention / Backup verification / Virtual server backup / Physical server backup / Bare-metal restore / Backup compression / Backup encryption / Onsite backups / Offsite backups / Data redundancy / Backup validation / backup legislative compliance / compliance / audit trail / Online Backups / Offline Backups / Remote Server / Cloud-Based Storage / | |
Subunit 3 - Binary & Hexadecimal | |
| 2.3.1. Binary Numbers | |
| Introduction to binary numbers | Introduction to Binary | Reason 1: Reliability | Reason 2: Ease of Storage | Reason 3: Efficiency with Electrical Circuits | Reason 4: Mathematical Operations | Bits, Nibbles, and Bytes | Special Encodings | Denary to Binary Conversion | Binary to Denary Conversion | |
| Binary number / Base 2 / Bit / Nibble / Byte / Binary addition / Binary subtraction / Binary conversion / Binary coded decimal / Floating-point binary number / Encoding / | |
| 2.3.8. Hexadecimal | |
| Introduction to Hexadecimal | Introduction to Hexadecimal | Converting hexadecimal to binary | Converting binary to hexadecimal | Binary to hexadecimal example | Common uses of Hexadecimal | Why do we use hexadecimal? | Converting Hexadecimal to Denary | Converting Denary to Hexadecimal | |
| Hexadecimal / Base / Digits / Binary / Decimal / Conversion / Representation / Nibble / Byte / | |
| 2.3.4. Binary Addition | |
| Introduction to Binary Addition | Introduction to binary addition | Rules of Binary Addition | Binary addition example | How do computers perform binary addition? | Binary Subtraction (Unsigned) | Subtraction Using Two's Complement | |
| binary addition / binary / addition / bit / carry / overflow / half adder / full adder / binary arithmetic / Binary addition / Base-2 / Carry over / | |
| 2.3.2. Sign & Magnitude | |
| Sign & Magnitude | Sign and Magnitude | Issue 1: Two Representations of Zero | Issue 2: Difficulty in Performing Arithmetic Operations | |
| Binary Number / Sign Bit / Overflow / Magnitude / Ones Complement / Sign and Magnitude / | |
| 2.3.3. Two's Complement | |
| Two's Complement | Introduction to Two’s Complement | Calculating the Two's Complement of a number | Advantages of Two's Complement | |
| Two's complement / Negative Number / Binary Representation / | |
| 2.3.5. Arithmetic Binary Shifts | |
| Arithmetic Binary Shifts | Arithmetic Right Shift | Arithmetic Right Shift - Example | Arithmetic Left Shift | Arithmetic Left Shift - Example | Interactive Demonstration | Summary Example - 10001010 (Shift 1) | |
| Binary shift / Binary Shifts / Shift Left / Shift Right / Arithmetic Shift / Carry Bit / Shift Amount / Binary underflow / Binary arithmetic / Floating point / Machine precision / | |
| 2.3.7. Binary Overflow & Underflow | |
| Binary Overflow & Underflow | Binary Addition Overflow | Binary Shift Overflow | Consequences of Binary Overflow | Binary Underflow | Binary Underflow | Consequences of Binary Underflow | |
| Overflow / Binary Overflow / Binary Underflow / Overflow Flag / Underflow Flag / Unsigned Integer / Signed Integer / | |
| 2.3.6. Logical Binary Shifts | |
| Logical Binary Shifts | Logical Left Shift (<<) | Logical Right Shift (>>) | Right Logical Shift Example | Uses of Logical Bit Shifts | Logical Arithmetic Shifts Demo | |
| Logical Shift / | |
Subunit 4 - Data Representation | |
| 2.4.1. ASCII & Unicode | |
| ASCII | Introduction to ASCII | ASCII Table | Limitations of ASCII | Extended ASCII | Unicode | |
| Unicode | Unicode | Unicode Bit Length | |
| ASCII / Unicode / Character encoding / Character set / ASCII table / UTF-8 / UTF-16 / Binary representation / Bit / | |
| 2.4.2. B&W Images | |
| Introduction to B&W Images | Black & White Image Representation | Bitmap Pixel to binary demo | |
| Black and White Images / Pixel / Binary Image / Monochrome / Contrast / Sharpness / Bitmap / Resolution / Bit Depth / File Format / | |
| 2.4.3. Grayscale Images | |
| Introduction to Grayscale Images | Greyscale Images | Adjust Grayscale Brightness | Uses for Grayscale Imagery | |
| Grayscale image / Intensity / Monochrome / Luminosity / Histogram / Grayscale / Pixel / Bit Depth / Contrast / | |
| 2.4.4. Color Images | |
| Introduction to Color Images | LED Computer Screens | RGB Color Images | RGB color demonstration | Bit Depth | Image Bit Depth Examples | |
| RGB color model / hex code / color depth / additive color mixing / hex color code / Bit Depth / Pixel / 8-bit / 16-bit / 24-bit / | |
| 2.4.7. Data Compression | |
| Lossless & Lossy Image Compression | Image Compression | Calculating image sizes | Lossless Compression | Lossless Compression Techniques | Benefits of Lossless Compression | Drawbacks of lossless compression | Lossy Image Compression | Advantages of lossy compression | Image Compression Artifacts | Disadvantages of lossy compression | Common Compression Artifacts | |
| Image Compression / Lossy Compression / Lossless Compression / JPEG / GIF / PNG / Bitrate / Compression / Data / Image compression artifacts / Blockiness / Color bleeding / Noise / Ring artifacts / Posterization / Aliasing / | |
| 2.4.8. Binary & Denary Prefixes | |
| Introduction to Binary & Denary Prefixes | Denary Prefixes | Conversion between Binary and Denary (Binary & Denary Prefixes) | Binary & Denary comparison table | Example Exam Question | |
| binary / denary / prefix / binary prefix / denary prefix / bit / byte / kibibyte / mebibyte / gibibyte / binary search / denary conversion / binary conversion / binary code / megabits / megabytes / | |
| 2.4.10. Calculating file sizes | |
| Introduction to Calculating file sizes | Calculating Image Sizes | Calculating Image size example | Example 3 | Example 4 | |
| 2.4.9. Calculating Bit Depths | |
| Calculating Image Bit Depths | Image Bit Depth | Standard Image Bit Depths | Importance of Bit Depth | Calculating Bit Depth for a Given Number of Colors | Example | Advantages of Higher Bit Depths | Disadvantages of Higher Bit Depths | |
| Bit Depth / Color Depth / Quantization / Pixel / Resolution / | |
| 2.4.6. Sound Representation | |
| Introduction to Sound Representation | Introduction to sound representation | Digital Sound Wave | Digital Sound Representation | Sampling Rate | Sampling Resolution (Bit Depth) | Lossy Sound Compression | Lossy sound compression techniques | |
| Audio Signal / Amplitude / Frequency / Waveform / Sampling Rate / Bit Depth / Digital Audio / Analog-to-Digital Conversion / Quantization / Sampling Resolution / ADC / DAC / Speaker / | |
| 2.4.5. How microphones work | |
| How microphones work | How dynamic microphones work | Advantages of Dynamic Microphones | Disadvantages of Dynamic Microphones | How condenser microphones work | Advantages of Condenser Microphones | Disadvantages of Condenser Microphones | |
| Sound Representation / Condenser microphone / Dynamic microphone / Frequency response / Phantom power / Diaphragm / | |
Subunit 5 - Encryption | |
| 2.5.1. Symmetric & Asymmetric Encryption | |
| Introduction to Symmetric and Asymmetric Encryption | Fundamentals of Symmetric Encryption | Core Concepts of Asymmetric Encryption | Advantages and Disadvantages of Both Encryption Types | |
| Introduction to Symmetric and Asymmetric Encryption | Basics of Symmetric Encryption | Overview of Asymmetric Encryption | Advantages and Disadvantages of Symmetric and Asymmetric Encryption | |
| Introduction to Symmetric and Asymmetric Encryption | Basic Concepts and Definitions | How Symmetric and Asymmetric Encryption Work | Advantages and Disadvantages of Symmetric and Asymmetric Encryption | |
Subunit 6 - Data Integrity | |
| 2.6.1. Error Checking | |
| Parity Bit Checks | Parity Checks | Even Parity | Parity Bit Demonstration | Odd Parity | Use cases for parity bits | Advantages of Parity Bits | Limitations of Parity Bits | |
| Checksums | Checksums | Checksum Calculation Process | Checksum Calculation Demonstration | Checksum Use cases | Advantages of Checksums | Limitations of Checksums | |
| Echo Check | Echo Check | |
| Automatic Repeat Query (ARQ) | Automatic Repeat Query (ARQ) | The Stop and Wait ARQ | Go back & ARQ | Selective Repeat ARQ | |
| Check Digits | Check Digits | Luhn’s Algorithm | Luhns Algorithm Presentation | Check Digit Use Cases | |
| Parity Block | Parity Block Checks | Interactive Demonstration | Block Parity Use Cases | Advantages of Parity Blocks | Limitations of Parity Blocks | |
| parity bits / error detection / odd parity / even parity / error correction / redundancy / Parity blocks / Data integrity / Checksum / RAID / Fault tolerance / Striping / Parity calculation / Capacity Overhead / MD5 / CRC / echo check / Automatic Repeat Query / Retransmission / Feedback / Packet Loss / Acknowledgment / Timeout / Sequence Number / Check digit / Luhn algorithm / | |
Unit 3 - Networking & The internet | |
Subunit 1 - Networks | |
| 3.1.1. Networking | |
| Introduction to networking | Ancient Networks | Introduction to Computer networking | The first computer network | Advantages of Computer Networks | Advantages of Networking | Advantages of Networking | Drawbacks of Computer Networks | Drawbacks of Computer Networks | |
| Networking / Router / Switch / IP Address / Protocol / LAN / WAN / Firewall / DNS / Ethernet / | |
| 3.1.2. Types of networks – LAN,WAN,PAN | |
| Local Area Network | Introduction to LANs | LAN Example | Components of a LAN | Advantages of LANs | Wireless Local Area Network (WLAN) | Disadvantages of LANs | |
| Wide Area Network | Introduction to WANs | Example WAN Diagram | Components of a WAN | Use cases for WANs | Advantages of WANs | Disadvantages of WANs | |
| PAN network | Introduction to PANs | PAN Use cases | Advantages of PANs | Disadvantages of PANs | |
| LAN / WAN / PAN / Network / Topology / Router / Switch / Firewall / IP Address / Packet / Bandwidth / Latency / Scalability / Quality of Service (QoS) / Traffic shaping / Internet of Things / Fitness Tracking / Wearable Devices / Smartwatches / Healthcare Monitoring / Smart Homes / Location Tracking / Mobile Payments / Encryption / WLAN / Wireless access point / SSID / Frequency band / Signal strength / | |
| 3.1.3. Network Topologies | |
| Introduction to Network Topologies | Network Topologies | Bus Topology | Pros and Cons of Bus Topology | Star Topology | Pros and Cons of Star Topology | Ring Topology | Pros and Cons of Ring Topology | Mesh Topology | Pros and Cons of Mesh Topology | Hybrid topology | Pros and Cons of Hybrid Topology | |
| Network Topologies / Bus Topology / Star Topology / Ring Topology / Tree Topology / Hybrid Topology / Client-Server Topology / Peer-to-Peer Topology / | |
| 3.1.7. Network Speeds | |
| Network Speeds | Network Speeds | Upload Speed | Download Speed | Latency | Bandwidth | Calculating Network Transmission Speeds | Network Speed Calculation Expressions | |
| Network Speeds / Bandwidth / Latency / Ping / Download Speed / Upload Speed / Throughput / Jitter / Quality of Service (QoS) / Packet Loss / | |
| 3.1.5. Network Protocols | |
| Standards & Protocols | Networking Standards | Network Protocols | Common Protocols | Importance of Protocols | Secure Protocols | |
| FTP | File Transfer Protocol | Use Cases | Advantages of FTP | Disadvantages of FTP | |
| TCP vs UDP | TCP & UDP | TCP (Transmission Control Protocol) | TCP Use Cases | UDP (User Datagram Protocol) | UDP Use Cases | |
| TCP / UDP / HTTP / HTTPS / FTP / SMTP / POP3 / IMAP / SSH / NTP / DNS / DHCP / ARP / IPSEC / Network Protocol / Handshake / Standard / IPv4 / IPv6 / SSL/TLS / IP / TLS / URI / Wi-Fi / Bluetooth / NFC / WiMAX / | |
| 3.1.6. TCP/IP Model Stacks & Layers | |
| TCP/IP Model Layers | Network stack layers | Stack diagram | Application Layer | Transport Layer | Network Layer | Data Link Layer | |
| Network Stacks / Layers / Data Link Layer / Network Layer / Transport Layer / Application Layer / network stack / TCP/IP / routing / interoperability / Scalability / Reliability / Interchangeability / Evolvability / frames / packets / segments / payload / | |
| 3.1.8. Client - Server Model | |
| Client - Server Model | Introduction to the Client - Server Model | Clients | Servers | Advantages of the Client-Server Model | Disadvantages of the Client - Server Model | |
| Client server / Server / Centralized / Scalability / Reliability / Security / Efficiency / Client / End-user device / Client software / Web Server / Database Server / | |
| 3.1.9. Peer to Peer Model | |
| Peer to Peer Model | Introduction to Peer to peer model | Features of P2P Networks | Advantages of the P2P Model | Disadvantages of the P2P Model | |
| Peer to Peer / Decentralized / P2P network / File sharing / Distributed network / Resource sharing / Fault tolerance / | |
Subunit 2 - Wired Networks | |
| 3.2.1. Wired Networks | |
| Introduction to wired networks | Introduction to wired networks | Advantages of wired networks | Disadvantages of wired networks | Use cases for wired networks | |
| Wired Networks / Ethernet / LAN / Router / Switch / Cable / Fiber Optics / Bandwidth / CAT5e / | |
| 3.2.2. Switches | |
| Switch | Switches | How Switches Work | MAC Addresses | MAC table | |
| Switch / Hub / Network Switch / MAC address table / MAC address / Physical port / Switching / | |
| 3.2.3. Routers | |
| Router | Introduction to routers | How Routers Route Data | Other Router functions | Routers vs Switches | |
| Router / Firewall / Routing / IP Addressing / Network Address Translation (NAT) / Quality of Service (QoS) / Virtual Private Network (VPN) / Load Balancing / Packet Filtering / Data Packet / Routing Table / Next Hop / Default Gateway / Router / IP addresses / MAC addresses / Forwarding packets / Forwarding frames / | |
| 3.2.4. Servers | |
| Server | Introduction to servers | Types of server | |
| servers / hosting / data center / virtualization / dedicated server / redundancy / | |
| 3.2.5. Modems | |
| Modem | Introduction to Modems | Types of Modems | |
| Modem / | |
| 3.2.6. Wired Network Transmission Media | |
| Wired Network Transmission Media | Wired Network Transmission Media | Coaxial Cable | Ethernet | Fiber Optic | Applications of Wired Networks | Attenuation | Attenuation in different media | Advantages of Wired Networks | Disadvantages of wired networks | |
| Ethernet Cable / Ethernet / bandwidth / Ethernet / Fiber-Optic / Coaxial Cable / Cat6 / shielded cable / RJ-45 / Internet Backbone / Attenuation / Decibels / | |
| 3.2.7. Network Interface Controller | |
| Network Interface Controller | Network Interface Controllers (NICs) | Key Functions of a NIC | Types of NICs | NIC Features | |
| Network Interface Card (NIC) / Network interface controller / Ethernet / Full Duplex / | |
Subunit 3 - Wireless Networks | |
| 3.3.1. Wireless Networks | |
| Introduction to wireless networks | Introduction to wireless networks | Types of wireless networks | Applications of wireless networks | Advantages of wireless networks | Disadvantages of wireless networks | |
| Wireless Networks / Wireless Communication / Wi-Fi / Bluetooth / Mobile Network / Cellular Network / LAN / WAN / Signal Strength / Roaming / Satellite network / Mesh network / Ad hoc network / NFC / | |
| 3.3.3. Mobile communication standards | |
| 3G | Introduction to 3G | Pros & Cons of 3G | |
| 4G | 4G Wireless Networks | Pros and Cons of 4G | |
| 5G | 5G Wireless Networks | Pros and Cons of 5G | |
| WIFI | Introduction to WIFI | WIFI Range Factors | WIFI Encryption | Pros & Cons of WIFI | |
| Bluetooth | Introduction to Bluetooth | Bluetooth use cases | Pros and Cons of Bluetooth | |
| Infra-Red & LiFi | Infrared Communications | Introduction to Li-Fi | Use Cases for Li-Fi | |
| How Cellular Networks Work | How Cellular Networks Work | |
| wifi / router / hotspot / SSID / encryption / bandwidth / signal strength / access point / Authentication / Key / Vulnerability / Cracking / Internet of things / Sensors / Smart Home / Security / Handover / Roaming / | |
| 3.3.2. Wireless Network Hardware | |
| Wireless Router | Wireless Routers | Traffic Routing | Wireless Access Point | DHCP Server | Network Address Translation | Firewall | Port Forwarding | Quality of Service (QoS) | |
| Wireless Access Point | Introduction to WAPs | SSID (Service Set Identifier) | Authentication & Encryption | Wireless Bands | Use cases for WAPs | |
| NAT / Private IP / Public IP / LAN / Gateway / Router / IP Lease / dhcp / DHCP server / authentication / integrity / authentication protocol / | |
Subunit 4 - Internet & World Wide Web | |
| 3.4.1. Internet vs WWW | |
| Introduction to Internet vs WWW | Internet vs WWW | Infrastructure Differences | Usage Differences | Protocol Differences | |
| Internet Software | Web Browsers | Email Clients | Instant Messaging (IM) Clients | File sharing clients | Cloud Storage Clients | VOIP Clients | |
| Internet / WWW / Network / Browser / HTML / URL / ISP / HTTP / Download / Upload / instant messaging client / text messaging / file sharing / group chat / emoticons / presence status / email clients / inbox / spam / attachment / folders / cloud storage client / file syncing / automatic backup / offline access / | |
| 3.4.2. IP v4, IPv6 & MAC Addresses | |
| IPv4 | Introduction to IPv4 | IPv4 Address Structure | Public IP Addresses | Private IP Addresses | IP Address Exhaustion | |
| IPv6 | Internet Protocol Version 6 | IPv6 Address Structure | IPv6 Address Compression | |
| MAC Addresses | Introduction to MAC Addresses | MAC Address structure | MAC Address Assignment | MAC address spoofing | |
| IPv4 / IPv6 / MAC Address / IP / Internet Protocol version 4 / Internet Protocol version 6 / Media Access Control Address / Data Link Layer / OSI Model / public IP / private IP / NAT / MAC Addresses / mac address spoofing / | |
| 3.4.4. HTTP, HTML, CSS & Javascript | |
| HTTP | Introduction to HTTP | Client Server Model | HTTP Methods | Stateless Protcol | Cookies | HTTPS | |
| HTML | Introduction to HTML | HTML Elements | Example HTML Page | |
| CSS | Introduction to CSS | Selectors and Declarations | Example CSS Sheet | Inline Stylesheet | Embedded Stylesheet | External Stylesheet | |
| Javascript | Introduction to Javascript | Example Script | |
| HTTP / HTML / URL / GET / POST / HTTP Response / Status Code / Header / Hyperlink / Tag / HTTP Cookie / Session Cookie / Persistent Cookie / Tracking Cookie / Selector / embedded inline external CSS / style attribute / external CSS / stylesheet / cascade / | |
| 3.4.5. URLS, DNS & Address resolution | |
| URLs | Introduction to URLs | URL Components | URL Schemes | Subdomains | Domain Name | Top Level Domains | URL Ports | URL Path | URL Parameters | URL Fragments | |
| Domain Name System | Domain Name System | How DNS Works | |
| URL / DNS / Address Resolution / Domain / IP Address / Hostname / Resolver / URL Encoding / Root DNS Server / subdomain / Host / Hierarchy / Parent Domain / Domain Registrar / Domain Name / DNS Record / Time to Live / Top-Level Domain / Authoritative Name Server / | |
| 3.4.3. Email Protocols | |
| POP, SMTP & IMAP | SMTP (Simple Mail Transfer Protocol) | SMTP Use Cases | Advantages of SMTP | Disadvantages of SMTP | POP (Post Office Protocol) | POP Process | POP Use Cases | Advantages of POP | Disadvantages of POP | IMAP (Internet Message Access Protocol) | IMAP Procedure | Advantages of IMAP | Disadvantages of IMAP | |
| POP / SMTP / IMAP / Email client / Mailbox / Port / Mail Server / | |
Unit 4 - Network Security | |
Subunit 1 - Network Security | |
| 4.1.1. Network validation & authentication | |
| Network validation & authentication | Two different checks | Why a network needs both | Who versus unchanged | Passwords and hashes in this role | |
| authentication / integrity / | |
| 4.1.5. Viruses | |
| Viruses | Viruses | Worms | Worm Infection Process | Trojan Horses | Defending against viruses | |
| computer virus / Antivirus / Trojan Horse / Worm / Ransomware / | |
| 4.1.6. Malware | |
| Malware | Malware | Types of Malware | |
| Malware / Virus / Trojan / Ransomware / Spyware / Adware / Worm / Rootkit / Keylogger / Phishing / | |
| 4.1.7. Spyware | |
| Spyware | Introduction to Spyware | Defense Against Spyware | What Spware Spies on | |
| spyware / | |
| 4.1.8. Phishing | |
| Phishing | Introduction to Phishing | Phishing Example | Spear Phishing | Defense aginst Phishing | Warning Signs | Spear Phishing Example | |
| Phishing / Spoofing / Two-factor authentication / Phishing website / Spear Phishing / | |
| 4.1.9. DDOS Attacks | |
| DDOS Attacks | Introduction to DDoS Attacks | Defense Against DDoS Attacks | |
| DDoS Attack / Zombie Computers / Amplification Attack / Packet Flooding / | |
| 4.1.10. Brute Force Attacks | |
| Brute Force Attacks | Introduction to Brute Force Attacks | Defence against brute force attacks | How Long Does It Take to Brute Force a Password? | Brute Force Simulation | Dictionary Based Attacks | |
| brute force attacks / dictionary attack / Brute force attack / | |
| 4.1.11. SQL Injection Attacks | |
| SQL Injection Attacks | SQL Injection | How SQL Injection Attacks Work | Preventing SQL Injection | Example: a vulnerable login query | Fixing the example: parameterized queries | |
| SQL injection / Input sanitation / | |
| 4.1.12. Insider Threats | |
| Insider Threats | Insider Threats | Types of insider threats | Deliberate Threats | Negligent Threats | Mitigating Insider Threats | |
| Insider Threats / Privileged Access / | |
| 4.1.13. Social Engineering | |
| Social Engineering | Introduction to social engineering | Types of social engineering | Defence against social engineering attacks | |
| Social Engineering / Pretexting / Baiting / Tailgating / Impersonation / Spear Phishing / | |
| 4.1.14. Physical Network Attacks | |
| Physical Network Attacks | Physical System Attacks | Types of physical attacks | Defense against physical attacks | |
| Physical system attacks / Eavesdropping / Tampering / Impersonation / Physical Tapping / | |
| 4.1.15. Botnets | |
| Botnets | Introduction to Botnets | Botnet Distributed Denial of Service (DDoS) Attacks | Botnet Spam Distribution | Botnet Credential Theft | Botnet Click Fraud | Botnet Proxy Services | Botnet Data Theft | Botnet Cryptojacking | |
| Botnet / Zombie Computers / Command and Control Server / Infected Devices / botnet / botmaster / | |
| 4.1.3. Digital Certificates | |
| Digital Certificates | Introduction to digital certificates | Public & Private Keys | Key Exchange | Certificate Authorities. | Diffie-Hellman | |
| Network validation / Digital certificate / asymmetric encryption / public key / private key / key exchange / encryption / decryption / certificate authority / digital signature / certificate revocation / key pair / | |
| 4.1.2. Password based authentication | |
| Password based authentication | Introduction to password authentication | Password Hashing | Password Vulnerabilities | Limitations of passwords | Strong passwords | Two-Factor Authentication (2FA) | |
| Authentication / Network security / Biometric authentication / Access control / Two-factor authentication / Intrusion detection system / Firewall / Security audit / password authentication / credentials / authentication factor / phishing / symmetric encryption / | |
| 4.1.4. Whitelisting & Blacklisting | |
| Whitelisting & Blacklisting | Whitelisting | Pros and Cons of Whitelisting | Types of whitelisting | Blacklisting | Pros and Cons of Whitelisting | Types of Blacklisting | |
| Whitelisting / Blacklisting / | |
Subunit 2 - Protecting Systems | |
| 4.2.1. Protecting networks | |
| Protecting Networks | Firewalls | IDS & IPS | Access Control | Encryption | Patch Management | Network Segmentation | Security Policies | Network Monitoring | Incident Response Plan | Security Audits & Audit Trails | Backup and Disaster Recovery | Security Updates and Threat Intelligence | White Box Penetration Testing | Black Box Penetration Testing | |
| Firewall / Antivirus / Intrusion Detection System / Encryption / Virtual Private Network / Two-factor authentication / Access control / Intrusion Prevention System / Vulnerability scanning / Security policy / Antivirus Software / Network Segmentation / network security audit / penetration testing / Acceptable Use Policy / User Agreement / Internet Usage Policy / incident response plan / mitigation / White box testing / Code vulnerabilities / Black box testing / Reconnaissance / Perimeter defenses / audit trail / access log / compliance / forensic accounting / user authentication / | |
| 4.2.2. Firewalls | |
| Firewalls | Introduction to Firewalls | Packet Filtering Process | Example Firewall Rules Table | Types of Firewalls | Hardware and Software Firewalls | Hardware vs Software Firewalls: Pros and Cons | Importance of Firewalls in Network Security | |
| Firewall / Network Traffic / Security Rules / Packet-Filtering Firewalls / Stateful Inspection Firewalls / Proxy Firewalls / Rule ID / Source IP/Range / Regulatory Compliance / hardware firewall / software firewall / | |
| 4.2.4. Penetration testing | |
| Penetration testing | Authorised Attacks | Penetration Test versus Ethical Hacking | |
| penetration testing / | |
| 4.2.3. User access levels | |
| User access levels | Who Is Allowed to Do What | Access Levels versus Passwords | |
| user access levels / | |
Unit 5 - Computer Software | |
Subunit 1 - Operating Systems | |
| 5.1.1. User Interfaces | |
| Command Line Interfaces | Command Line Interfaces | Text-Based | Commands | Scripting | Remote Access | Common Uses | Advantages of CLIs | Disadvantages of CLIs | |
| Graphical User Interfaces | Graphical User Interfaces | Visual Elements | WYSIWYG (What You See Is What You Get) | Windows and Multitasking | Point-and-Click Interaction | Multimedia Support | Common Use Cases | Advantages of GUIs | Disadvantages of GUIs | |
| WIMP Interfaces | WIMP Interfaces | Windows | Icons | Menus | Pointer | |
| CLI / GUI / WIMP / terminal / shell / command / prompt / output / mouse / keyboard / menu / drag and drop / window / icon / scroll bar / tooltip / shortcut / file explorer / taskbar / control panel / remote access / SSH / Remote desktop / WYSIWYG / User Interface / Interface / multimedia / digital media / | |
| 5.1.2. Operating Systems | |
| Functions of Operating Systems | Introduction to Operating Systems | OS Kernel | Hardware Abstraction | Process and task management | Device Drivers | File system management | Memory Management | Device Management | Security | User Interface | Networking Management | Error Handling | Resource Allocation and Scheduling | System Configuration and Maintenance | Accounting | |
| Operating System / Multi-tasking / Multi-user / Kernel / Interrupt / Command Line Interface / Graphical User Interface / File System / Device Driver / Virtual Memory / Process / Thread / Deadlock / File Allocation Table (FAT) / Disk Defragmentation / File Compression / Encryption / System Call / Boot Loader / System Tray / Memory Management / Virtual Memory / Device Driver / User Authentication / Access Control / Encryption / Security Updates / Graphical User Interface / Networking Capabilities / CPU Scheduling / Memory Management / System Configuration / Maintenance Tasks / | |
| 5.1.3. System / Utility Software | |
| System Utility Software | Disk Cleanup and Maintenance Tools | Disk Defragmentation Software | System Optimization Tools | Antivirus and Anti-Malware Programs | Backup and Recovery Software | Data Encryption and Secure File Deletion | System Monitoring and Diagnostic Tools | Uninstaller Programs | File conversion software | Compression Software | |
| Operating System / Utility Software / Compression Software / Backup Software / Disk Defragmenter / Anti-virus Software / Firewall Software / Spyware Removal Software / Data Recovery Software / Encryption Software / Debugging Software / Compiler / Interpreter / Device Driver / Registry Cleaner / System Restore / Task Manager / Disk Cleanup / System Information / File Manager / System Utility Software / Antivirus Software / Driver Updater / Uninstaller / File Compression Software / File conversion software / Compression software / Compressed archive / Uninstaller / Registry Cleaner / Cleanup Tool / | |
| 5.1.4. Defragmentation | |
| Defragmentation | Putting File Pieces Back Together | Defragmentation versus Compression | |
| defragmentation / | |
Unit 6 - Ethical & Legal Considerations | |
Subunit 1 - Legal Frameworks | |
| 6.1.3. Computer Usage Laws | |
| Computer Usage Laws | Cybercrime Laws | Data Protection and Privacy Laws | Intellectual Property Laws | Cybersecurity Laws | Online Defamation and Cyberbullying | Hate Speech and Content Regulation | Domain Name Disputes | CyberSquatting | Characteristics of Cybersquatting: | |
| Legal Considerations / Contract Law / Intellectual Property / Privacy Laws / Employment Law / Compliance / Tort Law / Cybersecurity / Consumer Protection / Corporate Governance / Software Copyright / Patents / Infringement / Trade Secret / Open Source / Invention / Fair Use / Freeware / Shareware / Proprietary / Commercial / Public domain / Trialware / End-user license agreement (EULA) / Site license / Software license / Open source license / Freeware license / Shareware license / Commercial license / Single user license / Multi-user license / Multi User License / Cybercrime Laws / Computer Fraud / Digital Forensics / Online Harassment / Ransomware / Identity Theft / Intellectual Property Laws / Copyright / Trademark / Patent / Creative Commons / Data Protection / Breach Notification / Consent / Cybersecurity Laws / Online Defamation / Cyberbullying / Social Media / Slander / Harassment / Trolling / Online Reputation Management / Anonymity / Impersonation / Domain Name Disputes / Cybersquatting / DNS Hijacking / | |
| 6.1.4. Copyright | |
| Copyright & Patents | Two different rights | Copyright versus patent | In computing | Fair dealing is limited | |
| copyright / patent / | |
| 6.1.5. Software License Types | |
| Software License Types | Software Licences | Proprietary (Closed-Source) License | Open Source License | Permissive License | Commercial License | Freeware & Shareware | Public Domain | A single-user license | Multi-User License | Site License | Multi-Seat License | Educational and Academic Licenses | |
| Licensing / Proprietary license / Open Source / Proprietary / Freeware / Shareware / Public Domain / Copyleft / GNU General Public License (GPL) / Commercial License / Proprietary License / Compiled Program / Permissive License / MIT License / Site License / Proprietary License / Open Source License / Individual License / Multi-seat License / Site License / Educational License / Subscription License / | |
| 6.1.1. Computer Misuse Legislation | |
| Overview and Purpose of Computer Misuse Legislation | Understanding Computer Misuse Legislation | Main Offenses Covered by Computer Misuse Laws | Real-World Applications and Enforcement of Computer Misuse Laws | |
| 6.1.2. Data Protection Act 2018 | |
| Data Protection Act 2018 | Rules for Personal Data | Data Protection versus Computer Misuse | |
| personal data / | |
Subunit 2 - Ethical Issues & responsibilities | |
| 6.2.1. Environmental Impact of technology on society | |
| Positive Environmental Impact of Technology | Positive Impacts of technology on the environment | Renewable Energy Sources | Energy Efficiency | Waste Reduction | Environmental Monitoring | Precision Agriculture | Clean Transportation | Eco-Friendly Building Materials | Remote Work and Telecommuting | Water Conservation | Conservation and Restoration | |
| Negative Environmental Impact of Technology | Negative Consequences for the Environment | Resource Depletion | Energy Consumption | E-Waste | Deforestation | Pollution | Loss of Biodiversity & Habitat | Climate Change | Sedentary Lifestyle | Mental Health | |
| Environmental Impact / Technology / Society / Pollution / E-waste / Carbon footprint / Deforestation / Resource depletion / Digital divide / Greenwashing / Renewable energy / Energy efficiency / Green buildings / Eco-friendly transportation / Smart grid / Waste reduction / Precision agriculture / Environmental monitoring / Telecommuting / Habitat Loss / Species Extinction / Ecosystem / Fragmentation / Planned Obsolescence / | |
| 6.2.2. Data & Online Privacy | |
| Privacy Concerns | Data Collection and Profiling | Surveillance | Eroding Privacy Norms | Right to be forgotten | Data privacy breaches | Data Protection Laws | |
| Data Protection Laws | Data protection laws | Data Collection and Consent | Data Minimization | Data Security | Data Accuracy | Data Portability | Data Access and Transparency | Data Retention | Accountability and Governance | Penalties and Enforcement | Example Data Protection Laws | |
| Data / Online Privacy / Encryption / Cookies / Cybersecurity / Anonymity / Data Breach / Phishing / Digital Footprint / Privacy Policy / Data privacy / Security breach / Identity theft / Data breaches / Tracking / Consent / accuracy / retention / data protection laws / personal data / data subject / data controller / Data Minimization / Anonymization / | |
| 6.2.3. Inclusion in Computing | |
| Disability Inclusion | Digital Inclusion for those with disabilities | Accessible Websites and Apps | Captioning and Transcripts | Assistive Technologies | User Testing with People with Disabilities | Accessible Document Formats | Accessible Hardware and Devices | Policy and Regulation Compliance | Inclusive Design Practices | |
| The digital divide | Introduction to the digital divide | Access to Technology | Internet Connectivity | Digital Literacy | Economic and Social Implications | Age Related Issues | |
| Gender Inclusion | Promoting Female Inclusion in Technology | Equal Access to Education | Promoting STEM Education | Supportive Networks | Promoting Female Role Models | Diversity in Hiring | Equal Pay and Advancement Opportunities | Flexible Work Arrangements | Investment in Female-Led Startups | Addressing Workplace Harassment | |
| Inclusion in Computing / Diversity / Equity / Underrepresented / Bias / Accessibility / Empowerment / Growth Mindset / Digital inclusion / Assistive technology / Web accessibility / Screen reader / Captioning / Inclusive design / Accessible Document Format / Alt Text / Tagged PDF / gender bias / gender gap / glass ceiling / equal opportunities / stereotype / work-life balance / mentorship / Harassment / Sexual Harassment / Microaggression / Digital divide / Technology gap / Internet inequality / Technological disparity / Access divide / Information divide / Connectivity gap / Digital literacy / Information literacy / Computer literacy / Internet literacy / Media literacy / Cybersecurity / | |
| 6.2.4. Professionalism in the world of IT | |
| IEEE Code of Ethics | IEEE Software Engineering Code of Ethics | Rule 1 - Ensuring the safety of the public & the environment | Rule 2 – Educating individuals and society | Rule 3 – Avoiding conflicts of interest | Rule 4 – Avoiding unlawful conduct | Rule 5 – Being honest in claims and criticism | Rule 6 – Maintaining technical competence | Rule 7 – Avoiding discrimination | Rule 8 – Avoiding harassment | Rule 9 – Avoiding hurting others | Rule 10 – Supporting each other | Insider & Outside Whistleblowes | Legal Protections for Whistleblowers | |
| Professionalism / Ethics / Accountability / Communication / Integrity / Confidentiality / Professional Development / Adaptability / Teamwork / Problem-solving / Objectivity / Competence / Fairness / Responsibility / Respect / Sustainability / harassment / whistleblower / reporting / discrimination / retaliation / code of conduct / whistleblower protection / moonlighting / conflict of interest / Continuing education / Certifications / Industry conferences / Online courses / Self-study / Mentorship / Professional networking / | |
Unit 7 - Problem Solving & Algorithms | |
Subunit 1 - Introduction to Algorithms | |
| 7.1.1. Algorithms | |
| What are algorithms? | Introduction to Algorithms | Examples of everyday algorithms | Example 1: Getting up on time | Thinking Algorithmically | Advantages of thinking algorithmically | Disadvantages of thinking algorithmically | |
| Common types of algorithms | Sorting Algorithms | Search Algorithms | Compression Algorithms | Divide and Conquer Algorithms | Encryption Algorithms | Graph Algorithms | |
| Algorithm / Sorting / Searching / Divide and conquer / Encryption algorithm / Compression algorithm / Search algorithm / Sorting algorithm / Iteration / Pattern recognition / Efficiency / Logical reasoning / | |
| 7.1.2. Flowcharts | |
| Introduction to flowcharts | Introduction to Flowcharts | Terminator Symbols | Input and Output in Flowcharts | Decisions in flowcharts | For loops in flowcharts | While loops in flowcharts | Processes in Flowcharts | Subprocess Symbol | Pros of Flowcharts | Cons of Flowcharts | Flowchart Symbols | Flowchart Symbols Visualisation | |
| Flowchart / Process / Terminal Symbol / Decision Symbol / Process Symbol / Connector Symbol / Flowline / Input Symbol / Output Symbol / Loop Symbol / Iteration / Flowcharting Tool / Input / Output / Decision / Terminator Symbol / subprocess symbol / | |
| 7.1.3. Pseudocode | |
| Introduction to pseudocode | Introduction to Pseudocode | Why use Pseudocode? | Pseudocode - pros & cons | |
| Pseudocode / | |
| 7.1.5. Program Code | |
| Program Code | Program Code | Code Example: Python | Code Example: Java | Code Example: Assembly Language | Executing Program Code | Pros and Cons of Program Code | |
| Program Code / Syntax / Flowchart / Variable / Control Structure / Loop / Conditional Statement / Assembly Language / | |
| 7.1.4. Written descriptions of algorithms | |
| Written descriptions of algorithms | Written descriptions | |
Subunit 2 - Decomposition & Abstraction | |
| 7.2.1. Decomposition | |
| Decomposition | Introduction to Decomposition | Benefits of Decomposition | Decomposition Steps | Comment-First Coding | Comment-First Example | |
| Decomposition / Modular programming / Abstraction / Top-down design / Hierarchy / Modularity / Bottom-up Processing / Divide and Conquer / Decentralization / Component / comment-first coding / | |
| 7.2.3. Subprograms | |
| Subprograms | Introduction to Subprograms | Functions | Procedures | Advantages of subprograms | |
| Subprogram / Function / Procedure / Return statement / Call statement / Modularity / Reusability / Maintainability / Abstraction / Testing / Readability / Efficiency / | |
| 7.2.4. Abstraction | |
| Introduction to abstraction | What is Abstraction? | Examples of Abstraction | Benefits of Abstraction | Abstraction in Programming | Abstraction - Car Example | |
| Abstraction / Data abstraction / Abstract data type / Abstraction layer / Procedural abstraction / Class / Object / Encapsulation / Inheritance / Polymorphism / | |
| 7.2.2. Structure diagrams | |
| Structure diagrams | Breaking a Problem into Boxes | Structure Diagram versus Flowchart | |
| structure diagram / | |
Subunit 3 - Searching & Sorting Algorithms | |
| 7.3.3. Bubble Sort | |
| Introduction to Bubble Sort | Introduction to Bubble Sort | Bubble Sort Visualisation | Bubble Sort Python | Pros and Cons of Bubble Sort | Exam Tip: Bubble Sort's Final Pass | Bubble Sort Big-O Complexity | |
| Bubble Sort / Comparison / Efficiency / Iteration / Swapping / In-place Sorting / Time Complexity / Space Complexity / Worst-Case Performance / Best-Case Performance / Average-Case Performance / Optimization / Element / Ascending Order / Descending Order / Stable sorting / | |
| 7.3.5. Merge Sort | |
| Introduction to Merge Sort | Introduction to Merge Sort | Steps of Merge Sort | Merge Sort in Python | Advantages of Merge Sort | Disadvantages of Merge Sort: | |
| Merge Sort / Divide and conquer / Recursive / Merge / In-place sorting / Stable sort / Comparisons / Swaps / Time complexity / Best case / Average case / Worst case / Big-O notation / Space complexity / In-place merge sort / Recursion / Merge Function / Comparison-based Sort / In-place Sort / Out-of-place Sort / Linearithmic Time Complexity / Logarithmic Time Complexity / Quadratic Time Complexity / Pseudocode / | |
| 7.3.1. Linear Search | |
| Linear Search | Introduction to Linear Search | Linear Search Visualisation | Time & Space Complexity | Pros and Cons of Linear Search | Linear Search on a Sorted List | Sorted Linear Search in Python | |
| Sequential Search / Linear Search / List / Index / Search / Unordered / Comparison / Algorithm / Runtime / Complexity / Linear time complexity / Worst-case scenario / Best-case scenario / Average-case scenario / Efficiency / Big O notation / O(n) / Array / Element / Boolean / | |
| 7.3.2. Binary Search | |
| Binary Search Algorithm | Introduction to Binary Search | Binary Search Visualisation | Pros and Cons of Binary Search | Binary Search Python Implementation | Recursive Binary Search | Tracing the Recursive Version | |
| Binary Search / Sorted array / Divide and Conquer / Iteration / Target element / Mid-point / Index / Comparison / Time complexity / Space complexity / | |
| 7.3.4. Insertion Sort | |
| Understanding the Insertion Sort Algorithm | What is an insertion sort? | How each pass works | Hand-tracing an insertion sort | In-place insertion sort in Python | Benefits and drawbacks of insertion sort | Putting it together: tracing in code | |
| Understanding the Insertion Sort Algorithm | Basics and Process of Insertion Sort | Python Implementation and Applications | |
| key / in-place algorithm / | |
Subunit 4 - Trace Tables | |
| 7.4.1. Trace Tables | |
| Trace Tables | Introduction to Trace Tables | Trace table example | |
| Trace Tables / Variable / Expression / Statement / Value / Initial value / Final value / Iteration / Condition / Boolean expression / Logical operator / Relational operator / Concatenation / Debugging / Syntax error / Logic error / Runtime error / Function / Recursion / | |
Unit 8 - Python Programming | |
Subunit 1 - Programming Fundamentals & Constructs | |
| 8.1.1. Variables & Constants | |
| Variables & Constants | Introduction to Variables | Declaring and Assigning Variables | Combining Declaration and Assignment | Variable Naming Rules | Python Reserved Words | Built-in Functions | Sensible vs Not Sensible Variable Names | Constants | |
| Variable / constant / data type / declaration / assignment / scope / global variable / local variable / type inference / | |
| 8.1.6. Sequencing & Selection (If & switch statements) | |
| IF statements | If Statements | Else | IF ELIF ELSE | Nested If Statement | |
| Switch Statements | Switch Statements | Switch statements < Python 3.10 | |
| Sequencing / Selection / If statement / Switch statement / Condition / Boolean / Execution path / Nested if statement / Default case / | |
| 8.1.7. Definite Iteration | |
| Definite Iteration | What is definite iteration for | for and range — first example | start, stop and step | Common trap: off-by-one and exclusive stop | Looping through a list | Putting it together | |
| definite iteration / range / stop / step / | |
| 8.1.8. Indefinite Iteration | |
| Indefinite Iteration | What is indefinite iteration for | while True — an infinite loop | Stopping with input and break | continue to skip bad input | Running total of scores | Putting it together | Optional comparison: counting with while | |
| indefinite iteration / while loop / break / continue / infinite loop / | |
| 8.1.2. Arithmetic Operators | |
| Arithmetic Operators in Python | Standard Arithmetic Operators ( + - * / ) | Modulo (%) | Floor division | Exponentiation (**) | |
| Arithmetic Operators / Addition Operator / Subtraction Operator / Multiplication Operator / | |
| 8.1.4. Comparison Operators | |
| Comparison Operators | Comparison and Relational Operators in Python | Equal to (==) | Not equal to (!=) | Greater than (>) | Greater than or equal to (>=) | Less than (<) | Less than or equal to (<=) | |
| Comparison Operators / == / != / > / < / >= / <= / in / not in / is / Comparison Operator / | |
| 8.1.5. Logical Operators | |
| Logical Operators | AND Operator | OR Operator | NOT Operator | Order of Precedence | |
| Logical Operators / AND / OR / NOT / XOR / | |
| 8.1.3. Integer division | |
| Integer division | DIV and MOD | DIV versus MOD | |
| DIV / MOD / | |
| 8.1.. Input and output | |
| Input and output | What is input and output | Using print for output | Joining text with commas, plus and f-strings | Using input and converting numbers | Common mistakes with print and input | Putting it together | |
| input / output / print / prompt / f-string / concatenation / string / | |
Subunit 2 - Data Types | |
| 8.2.1. Strings | |
| Strings | What is a String? | Python String Concatenation | String Indexing | String Slicing | String Methods | String Formatting | |
| String / Concatenation / Index / Substring / Length / Escape Sequence / Immutable / Comparing / String Methods / Case Sensitivity / | |
| 8.2.3. Integer | |
| Integers | Integers | Python integer operations | Converting between Integers and Strings | |
| Integer / Positive Integer / Negative Integer / Zero / Prime Integer / Integer Division / Integer Overflow / | |
| 8.2.4. Float data type | |
| Floats | Floating point numbers | Type Conversion Involving Floats | Floating Point Rounding Errors | |
| Float data type / Floating-point precision / Floating-point number / Decimal numbers / Floating-point arithmetic / Floating-point constant / Overflow / Underflow / | |
| 8.2.5. Boolean | |
| Booleans | Introduction to Boolean Data Type | Use Cases of Booleans | |
| Boolean / True / False / Logic / Boolean Operator / AND Operator / OR Operator / NOT Operator / Truth Table / Boolean Algebra / | |
| 8.2.2. Character data type | |
| Character data type | What a Char Stores | Char versus String | |
| character / | |
| 8.2.6. Casting | |
| Casting | Temporarily Changing Type | int versus str | |
| casting / | |
Subunit 3 - Data Structures | |
| 8.3.1. 1 Dimensional Arrays | |
| One dimensional arrays | Introduction to One-Dimensional Arrays | Looping through arrays | Searching Arrays | Adding Items to a List | Removing Items from a List | |
| Array / Elements / Index / Array Size / Initialization / Access / Traversal / Search / Insertion / Deletion / Element / Traverse / Update / Sort / | |
| 8.3.2. 2 Dimensional Arrays | |
| 2 Dimensional Arrays in Python | Creating 2D Arrays in Python | Accessing Elements in 2D Arrays | Modifying Elements in 2D Arrays | Iterating Through 2D Arrays | |
| 2D Array / Rows / Columns / Elements / Index / Initialization / Access / Traversal / Array Length / Nested Arrays / Element / Row / Column / Array Size / Modification / 2D array / list of lists / indexing / nested for loops / | |
| 8.3.3. Dictionaries | |
| Python Dictionaries | Introduction to Dictionaries | Accessing Values in a Dictionary | Telephone Numbers and Emails | Dictionaries & Hast Tables | |
| Dictionary / Key / Value / Mutable / Immutable / Length / Update / Keys / Values / Clear / Pop / Nested Dictionary / Hash Table / Dictionary Methods / Items / Get / In / Copy / Dictionary Comprehension / | |
| 8.3.4. Records data structure | |
| Introduction to Records data structure | Records data structure | Uses of Records | Advantages of Records | Disadvantages of Records | |
| Records data structure / Record / Field / Attribute / Key / Value / Index / Linked list / Array / Binary tree / Records / Object-oriented programming (OOP) / | |
Subunit 4 - Error Handling & Validation | |
| 8.4.1. Error Types | |
| Error Types | Syntax Errors | Runtime errors | Logical Errors | Independent Research Task | |
| Syntax Error / Runtime Error / Type Error / Arithmetic Error / Index Out of Bounds / File Not Found / Overflow Error / IndentationError / NameError / TypeError / ValueError / IndexError / KeyError / FileNotFoundError / ZeroDivisionError / | |
| 8.4.2. Types of Testing | |
| Methods of Software Testing | Walkthrough Testing | White Box Testing | Black Box Testing | Unit Testing | Integration Testing | Alpha Testing | Beta Testing | Acceptance Testing | Stub Testing | |
| Unit Testing / Integration Testing / System Testing / Acceptance Testing / Regression Testing / Black Box Testing / White Box Testing / Test Case / dry run testing / walkthrough testing / alpha testing / beta testing / stub testing / | |
| 8.4.3. Test Plans & Test Data | |
| Test Plans & Test Data | Software Testing | Test Plan Components | Testing Table - Example | Normal Data | Abnormal Data | Boundary Data | |
| Testing / Test Plans / Test Data / Test Case / Test Scenario / Test Suite / Test Execution / Test Coverage / Boundary Testing / Equivalence Partitioning / Regression Testing / Test Plan / Testing Table / Test Case / Boundary Testing / Valid Input / Invalid Input / | |
| 8.4.4. Debugging Techniques | |
| Code Analysis (Debugging Techniques) | Code Analysis (Debugging Techniques) | IDE Debugging Features | |
| Debugging / Breakpoint / Stepping / Variable Watch / Stack Trace / Logging / Assertion / Memory Dump / Code Review / Tracing / Binary Search / | |
| 8.4.5. Verification & Validation | |
| Introduction to Verification & Validation | Input Verification | Duplicate Entry | Checksum Verification | Luhn Algorithm | Input Validation | Benefits of Input Validation | Presence Check | Length Check | Range Check | Format Check | |
| range check / presence check / format check / length check / syntax check / boundary check / entry verification / validation / luhn / isbn / barcode / checksum / data validation / checksum validation / verification process / barcode scanner / Uniqueness check / Pattern check / Type check / Data integrity / Schema validation / | |
Subunit 5 - Security Concepts | |
| 8.5.1. Authentication in programs | |
| Password based authentication | Introduction to password authentication | Password Hashing | Password Vulnerabilities | Limitations of passwords | Strong passwords | Two-Factor Authentication (2FA) | |
| Authentication / Network security / Biometric authentication / Access control / Two-factor authentication / Intrusion detection system / Firewall / Security audit / password authentication / credentials / authentication factor / phishing / symmetric encryption / | |
Subunit 6 - Advanced Topics | |
| 8.6.1. Functions & Procedures | |
| Introduction to Functions & Procedures | Introduction to Functions | Introduction to Procedures | Local Variables | Global Variables | Variable Scope | |
| Optional & Required Parameters | Optional Parameters | Required Parameters | Parameters vs Arguments | |
| Procedure / Parameter / Return Value / Local Variable / Global Variable / Recursion / function / argument / call / modularization / Function scope / Block scope / scope / Subprogram / Return statement / | |
| 8.6.2. Strings Methods & String Manipulation | |
| Strings Methods & String Manipulation | len() | upper(), lower() and title() | replace() | split() | Searching and Extracting Substrings | String slicing [stard:end] | Negative Slicing | .join() | |
| Strings Methods / String Manipulation / Concatenation / Substring / Length / Indexing / Case Conversion / Replacing / Splitting / Trimming / String slicing / Start index / End index / Step value / Positive index / Negative index / | |
| 8.6.6. File handling in Python | |
| File handling in Python | Opening and Closing Files | Read versus Write | Reading line by line | Appending to a file | |
| file object / append mode / readline() / | |
| 8.6.3. Global and local variables | |
| Global and local variables | Where a Name Can Be Used | Local versus Global | |
| local variable / global variable / | |
| 8.6.4. Readable programs | |
| Readable programs | Why Layout Matters | Comments versus Identifiers | |
| meaningful identifier / | |
| 8.6.5. Random number generation | |
| Random number generation | Using Random Values | Inclusive Range versus a List Pick | |
| random number generation / | |
Subunit 7 - Databases | |
| 8.7.1. SELECT Queries | |
| SELECT Queries | SQL Queries | SELECT Query | Filtering using WHERE | ORDER BY Clause | LIKE Operator | |
Unit 9 - Logic Gates | |
Subunit 1 - Logic | |
| 9.1.1. Logic Gates | |
| Introduction to Logic Gates | Logic Gates | AND Gate | AND Gate Demo | OR Gate | OR Gate Demo | NOT Gate | NOT Gate Demo | XOR Gate | XOR Gate Demo | NAND Gate | NAND Gate Demo | NOR Gate | NOR Gate Demo | |
| Logical operator / AND operator / OR operator / NOT operator / XOR operator / Logic Gates / AND Gate / OR Gate / NOT Gate / NAND Gate / NOR Gate / XOR Gate / XNOR Gate / Half Adder / Full Adder / | |
| 9.1.2. Logic Circuits | |
| Logic Circuits | Combing Logic gates into logic circuits | (NOT A) AND B | (A AND B) OR C | |
| 9.1.3. Truth Tables & Logic Statements | |
| Introduction to Truth Tables & Logic Statements | Compound Statements | Compound Statements | |
| Truth Tables / Logic Statements / Logical Operators / AND / OR / NOT / Implication / Biconditional / Conditional / Tautology / | |