Unit 1 - Algorithms |
Subunit 1 - Introduction to Algorithms |
1.1.1. Algorithms |
What are algorithms? |
Introduction to Algorithms | Examples of everyday algorithms | 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 | |
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(n) | O(n^2) | 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 - Modularity | Advantages of subprograms - Reusability | Advantages of subprograms - Abstraction | Advantages of subprograms - Code organization | |
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 | Example | Pros and Cons of Bubble Sort | |
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 | 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 | 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 | 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 | 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 | |
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 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 |
Two dimensional arrays |
Introduction to Two Dimensional Arrays | |
2D Array / Rows / Columns / Elements / Index / Initialization / Access / Traversal / Array Length / Nested Arrays / Element / Row / Column / Array Size / Modification / |
2.4.3. Dictionaries |
Python Dictionaries |
Introduction to Dictionaries | 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: Ease of Storage | Why Computers Use Binary: Efficiency with Electrical Circuits | Why Computers Use Binary: Mathematical Operations | Bits, Nibbles, and Bytes | 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.2. Negative Numbers in Binary |
Sign & Magnitude |
Sign and Magnitude | Issues with Sign and Magnitude | |
Two's Complement |
Two's Complement | Advantages of Two's Complement | |
Two's complement / Negative Number / Binary Number / Sign Bit / Overflow / Magnitude / Ones Complement / Binary Representation / Sign and Magnitude / |
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 |
Binary Addititon | Binary addition example | How do computers perform binary addition? | |
binary addition / binary / addition / bit / carry / overflow / half adder / full adder / binary arithmetic / |
3.1.5. Binary Shifts & Overflow |
Logical Binary Shifts |
Logical Left Shift (<<) | Left Logical Shift Example | Logical Right Shift (>>) | Right Logical Shift Example | |
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 Overflow |
Binary Overflow | Example of Binary Overflow | Binary Underflow | |
Overflow / Binary shift / Binary Shifts / Shift Left / Shift Right / Logical Shift / Arithmetic Shift / Carry Bit / Shift Amount / Binary underflow / Binary arithmetic / Floating point / Machine precision / |
Subunit 2 - Data Representation |
3.2.1. ASCII & Unicode |
ASCII |
Introduction to ASCII | ASCII Table | Limitations of ASCII | |
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 Images | |
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 |
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 | 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 / |
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 | |
|
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 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 | Advantages | |
Vigenere Cipher / Caesar Cipher / Polyalphabetic Cipher / Encryption / Decryption / Key / Plaintext / Ciphertext / Alphabet / Modulo Operator / Frequency Analysis / Cryptanalysis / Brute Force Attack / Kasiski Examination / Autokey Cipher / Rail Fence Cipher / Transposition Cipher / Substitution Cipher / |
3.3.4. Rail Fence Cipher |
Rail Fence Cipher |
Introduction to the Rail-Fence Cypher | Encrypting using Railfence Cipher | Decrypting Railfence Cipher | 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 |
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 | |
Logic Circuits |
Combing Logic gates into logic circuits | (NOT A) AND B | (A AND B) OR C | |
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 / |
Unit 4 - Computer Hardware & Software |
Subunit 1 - Computer Models |
4.1.1. Input-Process-Output Model |
Input Process Output Model |
Input Process Output Model | Input phase of IPO model | Process Phase of the IPO model | Output phase of the IPO Model | |
Input-Process-Output Model / Input / Process / Output / Data Flow / System / Model / Abstraction / Feedback / Control / |
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 | 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 | 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 / |
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 Level Programming Languages |
High Level Programming Languages | Abstraction | Readability | Ease of Use | Rich Standard Libraries | Automatic Memory Management | Platform Independence | Limitations of High Level Languages | |
Low Level Programming Languages |
Low level programming languages | Direct Hardware Control | Efficiency | Manual Memory Management | Platform Specificity | Assembly-Level Programming | |
High-level language / Low-level language / Compiler / Interpreter / Assembly language / Machine language / Abstraction / Portability / Efficiency / Readability / |
4.2.2. Compilers, Interpreters, Assemblers & Translators |
Introduction to Compilers, Interpreters, Assemblers & Translators |
Compiler | Interpreter | Assembler | |
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 / |
Subunit 3 - Hardware |
4.3.1. CPU, GPU & Motherboard |
The CPU |
Instruction Execution | CPU Clock | Clock Speed | Cores | Cache Memory | Cooling and Power Management | Architecture and Instruction Set | |
The GPU |
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 | 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 / |
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 Devices |
Embedded Devices | Microcontrollers | Embedded Device Characteristics | Smart Home Devices | |
Embedded devices / Microcontroller / Firmware / Real-time operating system (RTOS) / Sensor / Internet of Things (IoT) / Embedded software / Single-board computer / |
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 / GRUB / 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 | 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 / |
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 | |
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 / |
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) | 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 Wrod | 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 | Flash Drives (USB Drives) | SD cards | |
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 | Disadvantages 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 | Components of a LAN | Advantages of LANs | Wireless Local Area Network (WLAN) | Disadvantages of LANs | |
Wide Area Network |
Introduction to WANs | 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 / Personalized Entertainment / 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 | Star Topology | Ring Topology | Mesh Topology | 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 / |
5.1.8. Network Speeds |
Network Speeds |
Network Speeds | Upload Speed | Download Speed | Latency | Bandwidth | |
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 | Standard Example: OSI Model (ISO/IEC 7498) | Network Protocols | Key Aspects of Protocols | Common Protocols | Importance of Protocols | Secure Protocols | |
FTP |
File Transfer Protocol | Use Cases | Advantages of FTP | Disadvantages of FTP | |
TCP vs 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 / |
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 | |
Benefits of network stacks |
Benefits of network stacks | Modularity | Interoperability | Scalability | Efficiency | Reliability | Security | Interchangeability | Evolvability | Ease of Development | |
Data, Segments, Stacks & Layers |
Data Preparation | Segments | Packets | Frames | |
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 | MAC table | MAC Addresses | |
Switch / Hub / Network Switch / MAC address table / MAC address / Physical port / Switching / |
5.2.4. Routers |
Router |
Introduction to routers | Router functions | Routing table | |
Router / Firewall / Routing / IP Addressing / Network Address Translation (NAT) / Quality of Service (QoS) / Virtual Private Network (VPN) / Load Balancing / Packet Filtering / |
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 |
Introduction to Wired Networks | Types of wired networks | Coaxial Cable | Ethernet | Fiber Optic | Applications of Wired Networks | Advantages of Wired Networks | Disadvantages of wired networks | |
Ethernet Cable / Ethernet / bandwidth / |
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 | Advantages of 3G | Disadvantages of 3G | Use cases for 3G | |
4G |
4G (Fourth Generation) Wireless Networks | Use cases for 4G | Advantages of 4G | Disadvantages of 4G | |
5G |
5G (Fifth Generation) Wireless Networks | Uses case for 5G | Advantages of 5G | Disadvantages of 5G | |
WIFI |
Introduction to WIFI | WIFI range | WIFI Encryption | Advantages of WIFI | Disadvantages of WIFI | |
Bluetooth |
Introduction to Bluetooth | Bluetooth use cases | Advantages of Bluetooth | Disadvantages of Bluetooth | |
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) | 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 Addressing | Hierarchical Structure | Public IP Addresses | Private IP Addresses | |
IPv6 |
Internet Protocol Version 6 | IPv6 Address Space | IPv6 Addressing | |
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 / Top-Level Domain (TLD) / Hostname / Resolver / URL Encoding / Root DNS Server / subdomain / Host / Hierarchy / Parent Domain / Domain Registrar / Top level domain / Domain Name / DNS Resolver / DNS Record / TTL (Time to Live) / TLD (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 | |
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 / |
5.5.2. Viruses |
Viruses |
Viruses | 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 | |
spyware / |
5.5.1. Phishing |
Phishing |
Introduction to Phishing | Defense aginst Phishing | |
Phishing / Spoofing / Two-factor authentication / Phishing website / |
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 | |
brute force attacks / dictionary 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 | 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 / |
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 | |
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 / |
Unit 7 - Databases |
Subunit 1 - Databases |
7.1.1. Introduction to databases |
Databases & Information Systems |
Data | Information | Databases | Information Systems | |
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 | |
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 | |
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 / |
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 / |
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 / Intersectionality / Growth Mindset / Allyship / 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 | |
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 | |
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 |
Introduction to Copyright | Software Copyright | Derivative Works | Software Patents | Software Documentation | Enforcement and Piracy | Software Licensing | |
Copyright / Intellectual Property / Fair Use / Plagiarism / Public Domain / Licensing / Exclusive Rights / Infringement / |
8.1.1. Software License Types |
Software License Types |
Proprietary (Closed-Source) License | Open Source License | Permissive License | Commercial License | Freeware | Shareware | Public Domain | A single-user license | Multi-User License | Site License | Educational and Academic Licenses | |
Licensing / Proprietary license / Open Source / Proprietary / Freeware / Shareware / Public Domain / Copyleft / GNU General Public License (GPL) / Commercial License / |