Unit 1 - Binary Data Representation

Subunit 1 - Binary Numbers

1.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 / Binary coded decimal / Floating-point binary number / Encoding /

Subunit 2 - Text representation

1.2.1. ASCII & Unicode
ASCII Introduction to ASCII | ASCII Table | Limitations of ASCII |
Unicode Unicode | Unicode Bit Length |
ASCII / Unicode / Character encoding / Code point / Character set / ASCII table / UTF-8 / UTF-16 / Binary representation / Bit /

Subunit 3 - Image Representation in Binary

1.3.1. Black & White Bitmaps
Introduction to B&W Images Black & White Images |
Black and White Images / Pixel / Binary Image / Monochrome / Contrast / Sharpness / Bitmap / Resolution / Bit Depth / File Format /
1.3.2. Grayscale Images
Introduction to Grayscale Images Greyscale Images | Adjust Grayscale Brightness | Uses for Grayscale Imagery |
Grayscale image / Intensity / Monochrome / Luminosity / Histogram / Thresholding / Grayscale / Pixel / Bit Depth / Contrast /
1.3.3. Colour Images
Introduction to Color Images RGB Color Images | RGB color demonstration | Bit Depth | Image Bit Depth Examples | PNG RGBA Channels Demo |
RGB color model / hex code / color depth / additive color mixing / hex color code / Bit Depth / Pixel / 8-bit / 16-bit / 24-bit /

Subunit 4 - Sound Representation in Binary

1.4.1. 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 /

Subunit 5 - Data Compression

1.5.1. 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 / Entropy Coding / Compression / Data / Image compression artifacts / Blockiness / Color bleeding / Noise / Ring artifacts / Posterization / Aliasing /

Subunit 6 - Data Encryption

1.6.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 /
1.6.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 /

Unit 3 - Python Programming (Theory)

Subunit - Data Types

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 /

Subunit - Programming Fundamentals & Constructs

3..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 /
3..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 /
3..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 /
3..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 /
3..5. Arithmetic Operators in Python
Arithmetic Operators in Python Standard Arithmetic Operators ( + - * / ) | Modulo (%) | Floor division | Exponentiation (**) |
Arithmetic Operators / Addition Operator / Subtraction Operator / Multiplication Operator /
3..6. Logical Operators in Python
Logical Operators AND Operator | OR Operator | NOT Operator | Order of Precedence |
Logical Operators / AND / OR / NOT / XOR /
3..5. Comparison Operators in Python
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 /

Subunit - Data Types

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 /
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 exception / Floating-point constant / Overflow / Underflow / Double-precision floating-point /
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 /

Unit 3 - Scratch Programming

Subunit 1 - Scratch Programming Basics

3.1.1. Introduction to Scratch
Introduction to Scratch Introduction to Scratch | User-Friendly Interface | Blocks-Based Coding | Interactive and Visual | Community and Collaboration | Extensibility |
Scratch Interface The Stage | Sprites Pane | Blocks Palette | The Script Area | Backdrops Tab | Costumes Tab | Toolbar | Start / Stop Button | Tabs (Code, Costumes, Sounds) | Extensions |
Scratch / Blocks / Stage / Sprite / Script / Costumes / Backdrops / Sound / Variables / Pen / Costume Editor / Scratch Extension / Extensions Library /
3.1.2. Sprites, Backgrounds & The Stage
Sprites Character Sprites | Object Sprites | Environmental Sprites | UI sprites | Effect Sprites | Animated Sprites | Background Sprites | Tile Sprites | Heads Up Display (HUD) Sprites | Menu Sprites |
Bitmap Sprite / Vector Sprite / Animated Sprite / Static Sprite / Background Sprite / Character Sprite / UI Sprite / Text Sprite / Tile Sprite / Player Sprite / HUD Sprite / Overlay /
3.1.4. Selection (if, elif, else)
3.1.3. Iteration (repeat, forever loops)
Iteration in Scratch Interation In Scratch |

Unit 3 - Python Programming (Theory)

Subunit 3 - Advanced Topics

3.3.4. 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 /
3.3.3. 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 /
3.3.2. 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 /
3.3.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 /

Unit 4 - Python Programming Challenges

Subunit - Beginner's Python Challenges

4..6. Challenges 21 to 24 - 1 Dimensional Lists
4..1. Challenges 1 to 4 - Input & Output
Python Challenges 1 to 4
4..2. Challenges 5 to 8 - If Statements
4..3. Challenges 9 to 12 - Simple Data Types
4..4. Challenges 13 - 16 While Loops
4..7. Challenges 25 to 28 - 2 Dimensional Lists
4..5. Challenges 17 - 20 For Loops

Subunit 2 - Unit Review

4.2.1. Unit Review Questions

Unit 9 - STEM Robotics

Subunit 1 - Microbit

9.1.1. Microbit Basics
The Microbit Introduction to the Microbit | Main features | Accelerometer | Magnetometer (Compass) | Temperature Sensor | Light Sensor | Breakout Board |
Microbit / Microcontroller / Blockly / LED / Sensor / Bluetooth / Buttons / Compass / Accelerometer / Breakout board / Headers /

Subunit 2 - Motors & Servos

9.2.2. Rotational (Continous) Servos
Continuous Servos Continuous Servos | Uses for Continuous Servos | Connecting a Servo to the microbit |
Continuous Servo / Microbit / PWM Signal / Input Pins / Output Pins / Programming Environment / Voltage Supply / Speed Control / Direction Control /
9.2.1. Directional Servos
Directional Servos Introduction to Directional Servos | Servo Components | Uses for Directional Servos | Factors for Consideration when using directional servos | How They Work | Uses for Directional Servos | Controlling Directional Servos |
Directional Servo / Control / Microcontroller / MakeCode / Input / Output / Direction / PWM (Pulse Width Modulation) / Feedback /
9.2.3. DC Motors
DC Motors DC Motors | Motor Shields | DC Motors vs Continuous Servos | Wiring up a DC motor using a breakout board | DFR05 Breakout Board | DFR05 Breakout Board Wiring | Coding the DFR05 |
DC hobby motors / Voltage / Current / Torque / Brushed motor / PWM / Motor shield / Motor drivers / Overcurrent protection / Stepper motors /

Subunit 3 - Physics

9.3.3. Gear Ratios
Gears and Gear Ratios Introduction to gears | Spur Gears | Bevel Gears | Helical Gears | Worm Gear | Gear Ratio | Example Gear Ratio |
Gears / Gear Ratio / Spur Gear / Helical Gear / Gear Train / Worm Gear /
9.3.2. Pulleys
Pulleys Fixed Pulleys | Effects of fixed pulleys | Moveable Pulleys | Effects of Movable Pulleys |
Pulley / Tackle / Load / Fixed pulley / Movable pulley / Block and tackle / Mechanical advantage / Compound pulley / Pulley system /
9.3.1. Moment of a force
Moment of a force Moment of a force | Example 1 | Rotational Equilibrium | Example 2 |
Moment of a Force / Torque / Lever Arm / Couple / Moment Arm / Equilibrium / Moment Center /

Subunit 4 - Input Devices

9.4.3. XY Joysticks
Using XY Joysticks with the Microbit Introduction to XY Joysticks | Setting Up Your XY Joystick with Microbit | Reading Joystick Input with Microbit | Mapping Joystick Coordinates | Joystick to 2D LED Grid Mapping Demo | Push Button Input |
analogue input / digital push button / GND / +5V / VRX / VRY / SW / Map Block /
9.4.2. Analogue Sensors
Analogue Sensors for the Microbit Introduction to Analogue Sensors | Overview of Microbit | Types of Analogue Sensors Compatible with Microbit | Understanding Sensor Inputs and Outputs | Connecting Analogue Sensors to Microbit | Programming Microbit to Read Analogue Sensor Data | Applications of Analogue Sensors in Projects | Case Study: Using a Temperature Sensor with Microbit | Troubleshooting Common Issues with Analogue Sensors |
Analogue sensors / Microbit / Sensor compatibility / Sensor / Input / Output /
9.4.1. Buttons & Switches
Push Buttons Introduction to Push Buttons | Basic Structure of a push button | Push button functionality | NO vs NC Buttons | Example Circuit with Push Button | Example Code |
Push Button / Tactile Feedback / Momentary Contact / Latching Switch / NO Push Button / NC Push Button / Momentary Switch / Circuit / Current / Voltage / Mechanical Action /

Subunit 5 - Robot Mechanisms

9.5.1. Grabbers
Types of Robot Grabbers Introduction to Robot Grabbers | Single-Moving Pinching Grabber | Parallel Grabber | Linear Single Moving Arm Grabber | Double Moving Grabber | Suction Grabber | Magnetic Grabber | Forklift Grabber | Scooping Grabber | Multi-Fingered Grabber |
Robot grabbers / Manipulation tasks / Industrial applications / Parallel Grabber / Double Arm Grabber / Suction Cup / Negative Pressure / Electromagnet / Magnetic grabber / Scooping Grabber / Multi-fingered grabber /