Unit 1 - Algorithms | |
Subunit 1 - Introduction to Algorithms | |
| 1.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 / Sort algorithm / Iteration / Pattern recognition / Efficiency / Logical reasoning / | |
| 1.1.3. Flowcharts | |
| Introduction to flowcharts | Introduction to Flowcharts | Example Flowchart | Flowchart Symbols | Pros of Flowcharts | Cons of Flowcharts | |
| Flowchart / Process / Terminal Symbol / Decision Symbol / Process Symbol / Connector Symbol / Flowline / Input Symbol / Output Symbol / Loop Symbol / Iteration / Flowcharting Tool / | |
| 1.1.4. Pseudocode, Program Code & Written Descriptions | |
| Introduction to pseudocode | Introduction to Pseudocode | Pseudocode - pros & cons | Program Code - Pros & Cons | Flowcharts - Pros & Cons | |
| Program Code | Program Code | Executing Program Code | |
| Written descriptions of algorithms | Written descriptions | |
| Pseudocode / Program Code / Syntax / Flowchart / Variable / Control Structure / Loop / Conditional Statement / | |
| 1.1.4. Big O Notation | |
| Big O Notation | Introduction to Big O Notation | Big O Time Complexity Visualization | O(1) | O(1) Code Example | O(n) | O(n) Code Example | O(n^2) | O (N Squared) Example | O(log N) | Time vs Space Complexity | Best Case | Average Case | Worst Case | |
| Big O notation / Time complexity / Worst-case time complexity / Best-case time complexity / Average-case time complexity / O(1) / O(n) / O(log n) / O(n^2) / space complexity / best case / average case / worst case / | |
Subunit 2 - Decomposition & Abstraction | |
| 1.2.1. Decomposition | |
| Decomposition | Introduction to Decomposition | Benefits of Decomposition | Decomposition Steps | |
| Decomposition / Modular programming / Abstraction / Top-down design / Hierarchy / Modularity / Bottom-up Processing / Divide and Conquer / Decentralization / Component / | |
| 1.2.1. Subprograms | |
| Subprograms | Introduction to Subprograms | Functions | Procedures | Advantages of subprograms | |
| Subprogram / Function / Procedure / Return statement / Call statement / Modularity / Reusability / Maintainability / Abstraction / Testing / Readability / Efficiency / | |
| 1.2.2. 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 / | |
Subunit 3 - Searching & Sorting Algorithms | |
| 1.3.1. 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 / | |
| 1.3.2. 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 / | |
| 1.3.3. Linear Search | |
| Linear Search | Introduction to Linear Search | Linear Search Visualisation | Time & Space Complexity | Pros and Cons of Linear Search | |
| 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 / | |
| 1.3.3. Binary Search | |
| Binary Search Algorithm | Introduction to Binary Search | Binary Search Visualisation | Pros and Cons of Binary Search | Binary Search Python Implementation | |
| Binary Search / Sorted array / Divide and Conquer / Iteration / Target element / Mid-point / Index / Comparison / Time complexity / Space complexity / | |
Unit 2 - Python Coding | |
Subunit 1 - Programming Fundamentals & Constructs | |
| 2.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 / | |
| 2.1.2. 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 / | |
| 2.1.3. Definite Iteration | |
| Definite Iteration - For Loops | Definite Iteration - For Loops | Range() function | |
| Nested Loop / Definite Iteration / For loop / While loop / Iteration / Loop / Counter / Increment / Decrement / Control flow / | |
| 2.1.4. Indefinite Iteration | |
| Indefinite Iteration (While loops) | Indefinite Loops (Infinite Loops) | Break Statement | Continue Statement | |
| Indefinite Iteration / Loop / While loop / Do-while loop / For loop / Break statement / Continue statement / Infinite loop / Conditional loop / Control flow / | |
| 2.1.5. Arithmetic Operators | |
| Arithmetic Operators in Python | Standard Arithmetic Operators ( + - * / ) | Modulo (%) | Floor division | Exponentiation (**) | |
| Arithmetic Operators / Addition Operator / Subtraction Operator / Multiplication Operator / | |
| 2.1.5. Comparison Operators | |
| Comparison Operators | Comparison 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 / | |
| 2.1.7. Logical Operators | |
| Logical Operators | AND Operator | OR Operator | NOT Operator | Order of Precedence | |
| Logical Operators / AND / OR / NOT / XOR / | |
Subunit 2 - Error Handling & Validation | |
| 2.2.1. Error Types | |
| Error Types | Syntax Errors | Runtime errors | Logical Errors | Independent Research Task | |
| Syntax Error / Runtime Error / Logic Error / Type Error / Null Pointer Exception / Arithmetic Error / Index Out of Bounds / File Not Found / Overflow Error / Underflow Error / IndentationError / NameError / TypeError / ValueError / IndexError / KeyError / FileNotFoundError / ZeroDivisionError / | |
| 2.2.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 / | |
| 2.2.3. Test Plans & Test Data | |
| Test Plans & Test Data | Software Testing | Test Plan Components | Testing Table - Example | Normal, Abnormal, and Boundary Data | |
| Testing / Test Plans / Test Data / Test Case / Test Scenario / Test Suite / Test Execution / Test Coverage / Boundary Testing / Equivalence Partitioning / Regression Testing / | |
| 2.2.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 / | |
| 2.2.5. 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 / | |
| 2.2.6. 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 3 - Data Types | |
| 2.3.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 / | |
| 2.3.2. Integer | |
| Integers | Integers | Python integer operations | Converting between Integers and Strings | |
| Integer / Positive Integer / Negative Integer / Zero / Prime Integer / Integer Division / Integer Overflow / | |
| 2.3.3. 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 / | |
| 2.3.4. 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 / | |
Subunit 4 - Data Structures | |
| 2.4.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 / | |
| 2.4.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 / | |
| 2.4.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 / | |
| 2.4.5. Records data structure | |
| Introduction to Records data structure | Records data structure | |
| Records data structure / Record / Field / Attribute / Key / Value / Index / Linked list / Array / Binary tree / | |
Subunit 5 - Advanced Topics | |
| 2.5.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 / | |
| 2.5.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 / | |
| 2.5.4. Subprogram Libraries | |
| Subprogram Libraries | Subprogram libraries | Standard Libraries | Third-Party Libraries | Framework Libraries | Domain-Specific Libraries | Utility Libraries | Advantages of Subprogram Libaries | Disadvantages of Subprogram Libraries | |
| Subprogram Libraries / Reusable Code / Function Library / Code Reusability / Subroutine Library / Module Library / Library Functions / Modularity / Code Consistency / Version Control / Subprogram / Library / Code reuse / Abstraction / External library / Utility library / Dependency / API / Framework / Package manager / Runtime / Framework library / Scalability / Documentation / | |
| 2.5.4. 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 3 - Data Representation | |
Subunit 1 - Binary & Hexadecimal | |
| 3.1.1. Binary Numbers | |
| Introduction to binary numbers | Introduction to Binary | Why Computers Use Binary: Reliability | Why Computers Use Binary — Reliability Demo | Why Computers Use Binary: Ease of Storage | Why Computers Use Binary: Efficiency with Electrical Circuits | Why Computers Use Binary: Mathematical Operations | Bits, Nibbles, and Bytes | Special Encodings | |
| Denary to Binary Conversion | Denary to Binary Conversion | |
| Binary to Denary Conversion | Converting binary numbers to denary | |
| Binary number / Base 2 / Bit / Nibble / Byte / Binary addition / Binary subtraction / Binary conversion / Floating-point binary number / Encoding / | |
| 3.1.3. 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? | |
| Hexadecimal / Base / Digits / Binary / Decimal / Conversion / Representation / Nibble / Byte / | |
| 3.1.4. Binary Addition | |
| Introduction to Binary Addition | Introduction to binary addition | Rules of Binary Addition | Binary addition example | Binary Addititon | How do computers perform binary addition? | |
| binary addition / binary / addition / bit / carry / overflow / half adder / full adder / binary arithmetic / Binary addition / Base-2 / Carry over / | |
| 3.1.1. 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 / | |
| 3.1.1. 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 / | |
| 3.1.1. 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 / | |
| 3.1.1. 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 / | |
| 3.1.1. 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 2 - Data Representation | |
| 3.2.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 / | |
| 3.2.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 / | |
| 3.2.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 / | |
| 3.2.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 / | |
| 3.2.5. 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 / | |
| 3.2.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 | |
| 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 / Audio Signal / Amplitude / Frequency / Waveform / Sampling Rate / Bit Depth / Digital Audio / Analog-to-Digital Conversion / Condenser microphone / Dynamic microphone / Frequency response / Phantom power / Diaphragm / Quantization / Sampling Resolution / ADC / DAC / Speaker / | |
| 3.2.8. Binary & Denary Prefixes | |
| Introduction to Binary & Denary Prefixes | Denary Prefixes | Conversion between Binary and Denary (Binary & Denary Prefixes) | Binary & Denary comparison table | |
| binary / denary / prefix / binary prefix / denary prefix / bit / byte / kibibyte / mebibyte / gibibyte / binary search / denary conversion / binary conversion / binary code / megabits / megabytes / | |
| 3.2.9. Calculating file sizes | |
| Introduction to Calculating file sizes | Calculating Image Sizes | Calculating Image size example | Example 3 | Example 4 | |
| 3.2.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 / | |
Subunit 3 - Encryption | |
| 3.3.1. Pigpen Cypher | |
| Introduction to Pigpen Cypher | Pigpen Cipher | Pigpen Cipher key | Encrypting messages | Pigpen Vulnerabilities | |
| Pigpen Cypher / Cipher / Symbol / Substitution Cipher / Cryptography / Encryption / Decryption / Algorithm / Plaintext / Ciphertext / Key / Symbol Set / Repetition / Monoalphabetic Cipher / Polyalphabetic Cipher / Key Length / Cryptanalysis / | |
| 3.3.2. Caesar Cipher | |
| Caesar Cipher | Casear Cipher | Encryption Example - Caesar Shift Cipher | Advantage of Caesar Cipher | Disadvantages of Caesar Cipher | |
| Caesar Cipher / Encryption / Decryption / Shift value / Alphabet / Substitution Cipher / Cipher / Plaintext / Ciphertext / Modulus operator / Brute-force attack / Key / Frequency analysis / Polyalphabetic cipher / Vigenere cipher / Cryptanalysis / Monoalphabetic cipher / Transposition cipher / Rail fence cipher / | |
| 3.3.3. Vigenere Cipher | |
| Introduction to Vigenere Cipher | Vigenere Cipher | Encrypting using the Vignere Cipher | Decrypting Vignere Ciphere | Advantages | Limitations of Vignere Cipher | |
| Vigenere Cipher / Caesar Cipher / Polyalphabetic Cipher / Encryption / Decryption / Key / Plaintext / Ciphertext / Alphabet / Modulo Operator / Frequency Analysis / Cryptanalysis / Brute Force Attack / Kasiski Examination / Rail Fence Cipher / Transposition Cipher / Substitution Cipher / | |
| 3.3.4. Rail Fence Cipher | |
| Rail Fence Cipher | Introduction to the Rail-Fence Cypher | Rail Fence Encryption Example | Encrypting using Railfence Cipher | Decrypting Railfence Cipher | Rail Fence Decryption Example | Advantages of Rail Fence Cipher | Disadvantages of Rail Fence Cipher | |
| Rail Fence Cipher / Transposition Cipher / Ciphertext / Plaintext / Encryption / Decryption / Zigzag Pattern / Rows / Columns / Block Cipher / Algorithm / Key / Secure Communication / Cryptanalysis / Frequency Analysis / Brute Force Attack / Key Length / Key Space / | |
| 3.3.5. Cryptanalysis Techniques | |
| Cryptanalysis | Introduction to Cryptanalysis | Brute Force Attack | Pros of brute force attacks | Cons of Brute Force Attack | Frequency analysis | Principles of Frequency Analysis | Uses of Frequency Anaylsis | Challenges and Limitations | Known Plaintext Attack (KPA) | How It Works | Use Cases | Countermeasures against KPA | |
| brute force / frequency analysis / known plaintext / cryptanalysis / ciphertext / encryption / substitution cipher / transposition cipher / dictionary attack / password cracking / rainbow table / password strength / two-factor authentication / account lockout / | |
Subunit 4 - Logic | |
| 3.4.1. Logic Gates | |
| 3.4.1. Introduction to 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 / | |
| 3.4.1. Logic Circuits | |
| Logic Circuits | Combing Logic gates into logic circuits | (NOT A) AND B | (A AND B) OR C | |
Unit 4 - Computer Hardware & Software | |
Subunit 1 - Computer Models | |
| 4.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 / | |
| 4.1.2. 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 | Disadvantasges | |
| Parallel algorithm / Sequential / Parallel / Multi-agent / Models / Task / Order / Simultaneously / Processors / Threads / Autonomous / | |
| 4.1.3. Von Neumann Architecture | |
| Introduction to Von Neumann Architecture | Introduction to the 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 | Control Bus | Program Counter (PC) | |
| Von Neumann Registers | Von Neumann Registers | Program Counter (PC) | Memory Address Register (MAR) | Memory Data Register (MDR) | Accumulator | Instruction Register (IR) | Index Registers | Stack Pointer (SP) | |
| Von Neumann Architecture / Stored-Program Computer / Central Processing Unit / Memory / Instruction Fetch / Instruction Decode / Instruction Execution / Control Unit / Arithmetic Logic Unit (ALU) / Input/Output (I/O) / bus / control bus / data bus / address bus / register / accumulator / program counter / memory data register / memory address register / instruction register / system bus / Fixed Programs / Stored Program Computer / Sequential Execution / Reprogrammability / Data Bus / Address Bus / Control Bus / | |
| 4.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 / Execute / Cycle / Instruction / Memory / CPU / Step / Retrieve / Sequence / Carry out / Fetch-Decode-Execute Cycle / Decode / | |
Subunit 2 - High & Low Level Languages | |
| 4.2.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 / | |
| 4.2.2. Compilers, Interpreters, Assemblers & Translators | |
| 4.2.1. 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 / | |
| 4.2.1. Introduction to Compilers, Interpreters, Assemblers & Translators | |
| Interpreter / Scripting languages / Syntax / Code Generation / Source Code / Hot code / | |
| 4.2.1. Assemblers | |
| Assemblers | Assembler | Pros and Cons of Assembling | Example Assembly Language Code | |
| Assembler / Line by Line / Compilation / Rapid Prototyping / Portability / Bytecode / Interpretation overhead / JIT compilation / Bytecode / Assembler / Assembly Language / Machine Code / | |
| 4.2.1. Compilers | |
| Compilers | Compiler | Compiler Characteristics | Compilation Process | Pros and Cons of Compiling | Just In Time Compilation | Pros & Cons of JIT Complilation | |
| Compilation / Source code / Preprocessing / Compilation / Assembly code generation / Linking / Executable creation / | |
| 4.2.1. Interpreters | |
| Interpreters | Interpreter | Characteristics of Interpreters | Pros and Cons of Interpreting | Bytecode Interpreters | Pros & Cons of Bytecode Interpreters | |
| Compiler / Interpreter / Line by line processing / | |
Subunit 3 - Hardware | |
| 4.3.1. CPU, GPU & Motherboard | |
| The CPU | The CPU | Instruction Execution | CPU Clock | Clock Speed | Cores | Cache Memory | Cooling and Power Management | Architecture and Instruction Set | |
| The GPU | Introductiom to GPUs | Graphics Rendering | Parallel Processing Power | General-Purpose Computing | High Memory Bandwidth | Integrated vs discrete graphics | |
| Motherboard | Motherboard | Motherboard Slots | Form Factors | Power Supply Unit. | |
| Central Processing Unit / Microprocessor / Instruction Set / Clock Speed / Cache Memory / Pipeline / Multicore / CPU / heatsink / fan / thermal paste / overclocking / liquid cooling / finned heatsink / GPU / Parallel processing / Graphics memory / Ray tracing / VRAM / memory slots / expansion slots / Power connectors / Form factor / power supply unit / | |
| 4.3.2. 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 | |
| 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 / | |
| 4.3.3. Input Devices | |
| Touch, Pointing & Gesture Devices | Touch, pointing, and gesture devices | Touchscreen | Pointing Devices | Gesture Recognition Devices | Drawing and Pen Input Devices | |
| Keyboards | Keyboards | Keyboard Layouts | Mechanical Keyboards | Number Pads | |
| Automated input devices | Automated Input Devices | Barcode Scanner | QR Code Scanner | Magnetic Stripe Reader | Smart Card Reader | RFID Reader | NFC Reader | Document Scanner | Voice Recognition System | |
| Sensors | Sensors | Analog to Digital Convertor (ADC) | Temperature Sensor | Proximity Sensor | Light Sensor | Pressure Sensor | Motion Sensor | Humidity Sensor | Gas Sensor | Magnetic Sensor | IR (Infrared) Sensor | Ultrasonic Sensor | CMOS & CCD Sensors | |
| Touchscreen / Gestures / Trackpad / Mouse / Stylus / Multi-touch / Touchpad / Haptic feedback / Touch-sensitive / Gesture recognition / keyboards / mechanical keyboards / membrane keyboards / ergonomic keyboards / programmable keyboards / pin pad / ATM / POS terminal / Automated input devices / Barcode scanner / Biometric scanner / Optical character recognition (OCR) / Microphone array / Voice recognition / magnetic stripe reader / Chip and PIN / Contactless Payment / Offline PIN Verification / RFID reader / RFID tag / NFC reader / Contactless technology / document scanner / scan / image sensor / dpi / flatbed scanner / duplex scanning / OCR / PDF / Voice Recognition System / Speech recognition / Natural language processing / Text-to-speech / Sensor / Temperature Sensor / Motion Sensor / Proximity Sensor / Light Sensor / Pressure Sensor / Humidity Sensor / Accelerometer / Gyroscope / Analog to Digital Converter / magnetic sensor / magnetometer / Infrared sensor / ultrasonic sensor / ultrasound / transducer / | |
| 4.3.4. Output Devices | |
| Visual Output devices | Visual Output Devices | Computer Monitors | Projectors | Types of Projectors | Head-Mounted Displays (HMDs) | Digital Signage | E-ink Displays | Braille Displays | |
| Hard Copy Output Devices | Hard Copy Output Devices | Thermal Inkjet Printers | Piezoelectric Inkjet Printers | Advantages of Inkjet Printers | Disadvantages of Inkjet Printers | Laser Printers | Advantages of Laser Printers | Disadvantages of Laser Printers | 3D Printers | 3D Printing Technology | Plotters & Cutters | Advantages of plotters | Disadvantages of Plotters | |
| Audio Output Devices | Sound Cards | Speakers | Headphones | How audio output devices work | |
| Haptic Output Devices | Haptic Feedback Devices | Smartphone Haptics | Gaming Controllers | Haptic Gloves and Suits | Virtual Medical Simulators | Haptic Feedback in Simulators | Accessibility Devices | |
| Printer / Plotter / Laser printer / Inkjet printer / 3D printer / Extruder / Filament / Build plate / piezoelectric printers / inkjet technology / thermal inkjet / print resolution / print head / monitor / projector / digital signage / VR headset / LCD projector / DLP projector / LED projector / Long throw projector / Full HD projector / e-ink displays / braille display / visually impaired / tactile / embossed / speaker / headphones / sound card / Diaphragm / haptic feedback devices / tactile feedback / force feedback / haptic technology / immersion / kinesthetic sense / wearable haptic devices / | |
| 4.3.5. 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 / | |
Subunit 4 - Software | |
| 4.4.1. BIOS & MBR | |
| Introduction to BIOS & MBR | Basic Input Output System (BIOS) | BIOS Chip | Master Boot Record (MBR) | |
| BIOS / MBR / Bootloader / UEFI / CMOS / Firmware / Partition / Primary Partition / Extended Partition / Logical Partition / Active Partition / Dual-Boot / Partition Table / Disk Cloning / Disk Imaging / Sector / Head / Platter / Cylinder / | |
| 4.4.2. CLI, GUI & WIMP | |
| 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 / | |
| 4.4.3. Operating Systems | |
| Functions of Operating Systems | 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 | |
| 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 / | |
| 4.4.4. 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 / | |
| 4.4.5. Application Software | |
| Introduction to Application Software | Application Software | Productivity Software | Graphics Software | Educational Software | Communication Software | Entertainment Software | |
| Application Software / Operating System / Word Processing Software / Spreadsheet Software / Database Software / Presentation Software / Graphics Software / Web Browser / Email Software / Antivirus Software / Firewall Software / Backup Software / File Compression Software / Media Players / Virtualization Software / Project Management Software / Accounting Software / CRM Software / Desktop Publishing Software / educational software / interactive learning / adaptive learning / gamification / learning management system / simulation software / communication software / email / instant messaging / video conferencing / voice chat / web conferencing / screen sharing / virtual meetings / teleconferencing / entertainment software / video games / music streaming / movie streaming / virtual reality / game development / | |
| 4.4.6. Modelling Software | |
| Modelling Software | 3D Modeling Software | CAD (Computer-Aided Design) Software | Geographic Information System Software | Simulation and Modeling Software | Animation Software | Mathematical Modeling Software | |
| Modelling software / 3D modelling / CAD software / Simulation software / Data modelling / Statistical modelling / Computer-aided engineering / Rendering software / animation software / keyframe / timeline / Mathematical Modeling Software / | |
Subunit 5 - Storage Devices | |
| 4.5.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 / | |
| 4.5.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 / | |
| 4.5.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 / | |
| 4.5.4. Cloud Storage | |
| Introduction to Cloud Storage | Cloud Storage | Advantages of Cloud Storage | Advantages (cont) | Disadvantages of Cloud Storage | Disadvantages of Cloud Storage(cont...) | Types of 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 / | |
| 4.5.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 / | |
Unit 5 - Networks & the internet | |
Subunit 1 - Networks | |
| 5.1.1. Introduction to 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 / | |
| 5.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 / | |
| 5.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 / Mesh Topology / Tree Topology / Hybrid Topology / Client-Server Topology / Peer-to-Peer Topology / | |
| 5.1.5. Client server vs Peer to Peer | |
| Client - Server Model | Introduction to the Client - Server Model | Clients | Servers | Advantages of the Client-Server Model | Disadvantages of the Client - Server 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 | |
| Client server / Peer to Peer / Server / Client / Centralized / Decentralized / Scalability / Reliability / Security / Efficiency / P2P network / File sharing / Distributed network / Resource sharing / Fault tolerance / Client / End-user device / Client software / Web Server / Database Server / | |
| 5.1.8. 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 / | |
| 5.1.9. 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 / | |
| 5.1.10. 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 / | |
Subunit 2 - Wired Networks | |
| 5.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 / | |
| 5.2.3. Switches | |
| Switch | Switches | How Switches Work | MAC Addresses | MAC table | |
| Switch / Hub / Network Switch / MAC address table / MAC address / Physical port / Switching / | |
| 5.2.4. 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 / | |
| 5.2.5. Servers | |
| Server | Introduction to servers | Types of server | |
| servers / hosting / data center / virtualization / dedicated server / redundancy / | |
| 5.2.6. Modems | |
| Modem | Introduction to Modems | Types of Modems | |
| Modem / | |
| 5.2.7. 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 / | |
| 5.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 | |
| 5.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 / | |
| 5.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 | |
| wifi / router / hotspot / SSID / encryption / bandwidth / signal strength / access point / Authentication / Key / Vulnerability / Cracking / Internet of things / Sensors / Smart Home / Security / | |
| 5.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 | |
| 5.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 / | |
| 5.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 / Network Interface / Data Link Layer / OSI Model / public IP / private IP / NAT / MAC Addresses / mac address spoofing / | |
| 5.4.3. 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 / Value / embedded inline external CSS / style attribute / external CSS / stylesheet / cascade / | |
| 5.4.4. 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 / Top level domain / Domain Name / DNS Resolver / DNS Record / Time to Live / Top-Level Domain / Authoritative Name Server / | |
Subunit 5 - Network Security | |
| 5.5.25. Protecting networks | |
| Protecting Networks | Firewalls | IDS & IPS | Access Control | Encryption | Patch Management | Network Segmentation | Security Policies | Network Monitoring | Incident Response Plan | Regular Auditing and Testing | 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 / | |
| 5.5.2. Viruses | |
| Viruses | Viruses | Worms | Worm Infection Process | Trojan Horses | Defending against viruses | |
| computer virus / Antivirus / Trojan Horse / Worm / Ransomware / | |
| 5.5.1. Malware | |
| Malware | Malware | Types of Malware | |
| Malware / Virus / Trojan / Ransomware / Spyware / Adware / Worm / Rootkit / Keylogger / Phishing / | |
| 5.5.1. Spyware | |
| Spyware | Introduction to Spyware | Defense Against Spyware | What Spware Spies on | |
| spyware / | |
| 5.5.1. 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 / | |
| 5.5.1. DDOS Attacks | |
| DDOS Attacks | Introduction to DDoS Attacks | Defense Against DDoS Attacks | |
| DDoS Attack / Zombie Computers / Amplification Attack / Packet Flooding / | |
| 5.5.1. 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 / | |
| 5.5.1. SQL Injection Attacks | |
| SQL Injection Attacks | SQL Injection | How SQL Injection Attacks Work | Preventing SQL Injection | |
| SQL injection / Input sanitation / | |
| 5.5.1. Insider Threats | |
| Insider Threats | Insider Threats | Types of insider threats | Deliberate Threats | Negligent Threats | Mitigating Insider Threats | |
| Insider Threats / Privileged Access / | |
| 5.5.1. 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 / | |
| 5.5.1. 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 / | |
| 5.5.1. 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 / Bot Herders / botnet / botmaster / | |
Unit 6 - Online Security | |
Subunit 1 - Online Threats | |
| 6.1.2. Online Threat Prevention | |
| Protecting Networks | Firewalls | IDS & IPS | Access Control | Encryption | Patch Management | Network Segmentation | Security Policies | Network Monitoring | Incident Response Plan | Regular Auditing and Testing | 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 / | |
Unit 7 - Databases | |
Subunit 1 - Databases | |
| 7.1.1. Introduction to databases | |
| Databases & Information Systems | Data | Information | Knowledge | Wisdom | Data, Information, Knowledge, Wisdom Diagram | Data, Information, Knowledge, Wisdom Comparison | Information Systems | Databases | |
| Types of Database | Non-Electronic Databases | Flat File Databases | Relational Databases | NoSQL Databases | Object-Oriented Databases | Graph Databases | Time-Series Databases | Spatial Databases | In-Memory Databases | Distributed Databases | |
| Database / Information Systems / Relational Database / SQL / Database Management System (DBMS) / Data / Information / Value / Accuracy / Relevance / Interpretation / Knowledge / Data Quality / Data Processing / Decision Making / Object-Oriented Database / Graph Database / Time-Series Database / Distributed Database / NoSQL Database / Flat file database / Record / Field / Delimiter / spatial database / in-memory database / replication / data partitioning / | |
| 7.1.2. Database Transactions | |
| Database Transactions | Database Transactions | Database Transaction Process | ACID Approach | Atomicity | Atomicity Example: Bank Transfer | Consistency | Consistency Example: Negative Bank Balance | Isolation | Transaction Isolation Example | Durability | Database Durability Example | |
| Database Transaction Terminology | Transaction | Commit | Rollback | Savepoint | Concurrency Control | Isolation Levels | Deadlock | Transaction Scheduling | Timestamp Ordering | |
| ACID approach / Transaction / Atomicity / Consistency / Isolation / Durability / Concurrency / Redo Log / Undo Log / Locking / transaction log / audit trail / log file / recovery / logging / point-in-time recovery / undo operation / redo operation / database transactions / commit / rollback / isolation level / deadlock / concurrency control / Savepoint / Serializability / transaction scheduling / timestamp ordering / serialization / two-phase locking / Operation / Query / Record / | |
| 7.1.2. Database Management System | |
| Introduction to Database Management Systems | Introduction to Database Management Systems | Database Storage Engine | Data Dictionary | DBMS UI | Types of DBMS Reports | DBMS Backup Features | DBMS Security Features | Information System (IS) | |
| Database Management Systems / Relational Database / SQL / Normalization / Index / Backup / Query / Transaction / Data Warehousing / Database Administrator / Database storage engine / SQLite / database security / query optimization / indexing / data redundancy / data integrity / | |
| 7.1.8. Database Administrator | |
| Database Administrator | Database Administrator role | Database Design and Modeling | Installation and Maintenance | Performance Tuning | Security | Backup and Recovery | Updates and Migrations | Troubleshooting | |
| Database Administrator / Database Management System / Data Backup / Data Recovery / Database Security / Database Performance Tuning / SQL / Data Migration / Database Design / Data Integrity / | |
| 7.1.10. Methods of database interaction | |
| Methods of database interaction | SQL (Structured Query Language) | QBE (Query By Example) | Visual Queries | Natural Language Interfaces | Forms | Reports | APIs | |
| SQL / Relational Database / Query / Data Manipulation / Database Schema / QBE / Graphical User Interface / Non-technical Users / Visual query systems / Drag-and-drop interface / Natural Language Interfaces / Forms / Report builders / API / | |
Subunit 2 - Structured Query Language | |
| 7.2.2. Database Manipulation Language | |
| Database Manipulation Language SQL Queries | SQL Data Manipulation Language (DML) Queries | SELECT Query | UPDATE | INSERT | DELETE | Data Aggregation and Summarization | Joining and Relational Views | Filtering and Sorting | Conditional Logic | Creating Virtual Tables (Views) | |
| Complex SQL Queries | Derived Field | Derived Field Example | Parameter Query | Parameter Query Example | Boolean Operators | Boolean Operators Example | |
| Derived field / Parameters / Parameterized query / Injection attacks / SQL injection / Parameter markers / Placeholder / Database View Query / Database / View / Query / Virtual Table / Data Retrieval / aggregate / join / filter / sort / conditional / subquery / group by / having / distinct / limit / | |
| 7.2.3. Database Definition Language | |
| Database Definition Language Queries | Data Definition Language (DDL) | CREATE | ALTER | DROP | DELETE | .TABLE | PRAGMA table_info | |
| Database / Language / Database Definition Language / Schema / Column / Constraint / Primary Key / Foreign Key / SQL / DDL / Data Manipulation Language / CREATE TABLE / ALTER TABLE / DROP TABLE / TRUNCATE TABLE / ADD COLUMN / DROP COLUMN / RENAME TABLE / | |
| 7.2.1. SELECT Queries | |
| SELECT Queries | SQL Queries | SELECT Query | Filtering using WHERE | ORDER BY Clause | LIKE Operator | |
Unit 8 - Ethics & Legalities | |
Subunit 1 - Ethical Issues & responsibilities | |
| 8.1.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 / | |
| 8.1.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 / | |
| 8.1.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 / | |
| 8.1.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 / | |
| 8.1.1. 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 / Uniform Domain-Name Dispute-Resolution Policy (UDRP) / DNS Hijacking / | |
| 8.1.1. Copyright | |
| Copyright | Software Copyright | Derivative Works | Software Documentation | Anti-piracy techniques | Software Licensing | Copyright | |
| Introduction to Patents | Overview of Patents | Patent Application Process | Key Features of Patents | Advantages of Patents | Disadvantages of Patents | Software Patents | Hardware Patents | Ethical Issues Surrounding Patents | The Impact of Patents on Technology Development | Review of Patents | |
| Copyright / Intellectual Property / Fair Use / Plagiarism / Public Domain / Licensing / Exclusive Rights / Infringement / Patent / Exclusivity / Patent Application / Patent Maintenance / Patent Enforcement / Market Exclusivity / Software Patent / Patentability / | |
| 8.1.1. Software License Types | |
| Software License Types | Proprietary (Closed-Source) License | Proprietary (Closed-Source) License: Pros and Cons | Open Source License | Open Source License: Pros and Cons | Permissive License | Permissive License: Pros and Cons | 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 / | |