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