In this second module, you will get started with the fundamentals of programming in Python yourself. In particular, you will look at how to achieve certain light bulb behaviour, given the working system that you now have.

After this module, you should be able to:

Explain the role of Python in prototyping, the concept of version control systems and code library.

Use the fundamentals of programming, including states and control flow, to control the behaviour of a connected light bulb.

Test your code with test Units

Specify the behaviour of a connected product with state machine and flow chart.

Collaborate with your team members around code development with Git and GitHub.

Self-Study Material

In this module, the self-study material focus on the fundamentals of programming. While this course is not a programming course, we will explore the necessary basics to get started such as state and code management. We will motivate the choice of Python for this course, and introduce a few specifics to Python. Finally, we will introduce the concept of Version Control Systems and code library, necessary step to use code from others and collaborate.


In this assignment, you will experience the basics of Python programming. You will write a program that control the connected light bulb. You will rely on code written by others developers and share it with the rest of your team.

Programming Environment: VS Code

Code Management: Git, GitHub

Lab Xp

Through the second assignment, we shaped the behaviour of our connected lightbulb with Python. In this lab experiment, we will start collecting data from the light bulb.

Technique: Live-Data Prototype

Live Session

In this session, we play with the basic programming concept in Python. We will walk you through the workflow of collaborating with Git and GitHub. As usual, we will keep a significant room for your questions.

Coaching Session

This will be the first group session with your coach. You will receive feedback about what you reported on your GitHub repository.

Snippet of code for this module

Reverse Engineering
Prototyping Connected Products - Lab Experiment 1

Code and collaboration
Prototyping Connected Product - Self-Study 2

TU Delft IoT Rapid-Proto Labs Erasmus +

The European Commission's support for the production of this publication does not constitute an endorsement of the contents, which reflect the views only of the authors, and the Commission cannot be held responsible for any use which may be made of the information contained therein.