| Week | Lecture | Lab |
| 1 | Introduction: Introduction to the course, syllabus, objectives, how you will be assessed, academic integrity, and policies. How computers work -Hardware and software -The Input, Process, Output (IPO) model -Computational Thinking -Algorithms and Programs  Quiz 1: How computers work and problem-solving. Homework 1: Introduction to Python for Developers: Chapter 1-Introduction to Python  | Lab 1: Getting Started with micro:bit and MicroPython What is the micro:bit The IPO model with Python Microbit Python Editor–https://python.microbit.org/v/3 What is an IDE? Advanced Name Tag When will you be 100 years old? |
| 2 | Computer programming I –Variables and Data Types: Numbers, Strings, Booleans, Lists –Control Flow: sequence, conditionals, repetitions (loops) –Algorithmic Thinking  Quiz 2: Data Types and Control Flow  Homework 2: Introduction to Python for Developers: Chapter 2: Working with Data Types  | Lab 2: Creating Images and Event-Handling -Variables and lists -Functions as commands -Selection -Input: Buttons / how they work Events and Event handling (interrupts) Lab Activities 2.1 and 2.2 |
| 3 | Functions -Functions as commands, arguments -User-defined functionsReturning values -Parameters, arguments, scope –Decomposition  Quiz 3: Functions  Homework 3: Introduction to Python for Developers: Chapter 3: Control Flow and Loops  | Lab 3: A Simple Alarm System micro:bit’s pins as inputs micro:bits to test the electrical conductivity of materials Lab Activity 3 |
| 4 | Computers and the technology around us -What is a microcontroller? -Embedded Systems Physical Computing -Internet and the Cloud -Internet of Things (IoT) Quiz 4 Computers and IoT  Homework 4: Course: Intermediate Python for Developers Chapter 1: The Python Ecosystem. | Lab 4 Project I: Healthy Eating -Requirements -Success criteria -Project Brainstorming -Ideating a solution with a micro:bit -Explainer video -Reflection  |
| 5 | The Design Thinking Process -Empathize, Define, Ideate, Prototype, Test -Design thinking/coding by design  Quiz 5: Design Thinking Process  Homework 5: Course: Intermediate Python for Developers Chapter 2: Working with functions.  | Lab 5: Sound and Speech -Setting up the speaker -Sound Module -Speech Module -Poetry/rapper auto generator Lab Activity 5 |
| 6 | Conditionals Revisited -Nested conditional -Chain conditionals Quiz 6 Homework 6: Course: Intermediate Python for Developers Chapter 3:Â Lambda functions and error-handling. Â | Lab 6: Sound and Speech -Random Numbers -Cryptography -Gestures Lab Activity 6 |
| 7 | Booleans -Complex Boolean expressions -Logic Gates Quiz 7 Homework 7: Course: Python Toolbox Chapter 1: Using iterators in PythonLand.  | Lab 7 Project II – Crash Detector -Requirements -Success criteria -Project Brainstorming -Ideating a solution with a micro:bit -Explainer video -Reflection Lab Activity 7 |
| 8 | Data Structures -Lists, Tuples, Sets, Dictionaries Quiz 8 Homework 8: Course: Python Toolbox Chapter 2:Â List comprehensions and generators. Â | Lab 8: Storage and Files -Storage and Files -Machine-related code -The kernel Lab Activity 8 |
| 9 | Repetition Revisited -Traversing Lists and Strings -While loop -Traversing Dictionaries Quiz 9 Homework 9: Course: Python Toolbox Chapter 3:Â Bringing it all together! Â | Lab 9: Sensors -Temperature sensor and readings -Light level readings -LEDs Lab Activity 9 |
| 10 | Searching algorithms -Random Search -Linear search -Binary search Quiz 10 Homework 10: Course: Data Types in Python Chapter 1: Fundamental Sequence Data Types  | Lab 10: Radio Communications -Channels -Sending and receiving messages via the micro:bit Lab Activity 10 |
| 11 | Data Representation -ASCIIBitmaps -Sound Quiz 11 Homework 11: Course: Data Types in Python Chapter 2: Dictionaries – The Root of Python  | Lab 11: Servo Motors -Pin use and making touch buttons -Servo Motor -Servo arm movements Lab Activity 11 |
| 12 | Computer Networks and Communication -Radio communication -Channels and strength Quiz 12 Homework 12: Course: Data Types in Python Chapter 3: Numeric Data Types, Booleans, and Sets  | Project III: micro:PET -Requirements -Success criteria -Project Brainstorming -Ideating a solution with a micro:bit -Designing the product -Making, Prototyping, testing, iterating -Evaluation |
| 13 | Final Project: IoT-Smart Cities -Requirements -Success Criteria -Teams -Project Brainstorming: Choosing a goal Homework 13: Course: Data Types in Python Chapter 4: Advanced Data Types  | Final Project: IoT-Smart Cities -Ideating a solution -Roles and responsibilities -Working in parallel -Designing the product  |
| 14 | Final Project: IoT-Smart Cities Make, coding, test, iterate | Final Project: IoT-Smart Cities Make, coding, preparing presentation |
| 15 | Presentations | Presentations Wrap-up and evaluation |
