Teaching Internet of Things (IoT) the IoTempower Way

Contents

  1. Course Elements

  2. Learning Tools

  3. References and Resources

Despite my very nomadic lifestyle, one thing has remained remarkably constant over the past few years: I have always found opportunities to teach various Internet of Things (IoT) classes. Recently, others have also started teaching IoT classes using materials I developed, along with contributions from other teachers and students.

Our course, “The Internet of Things,” is an engaging, hands-on course that bridges the virtual and physical to impact positive change. The course caters to different learning needs with flexible formats: Express (4h) Workshop, Intensive (16h) Workshop, and Full Course (60h guided, 20-40h unsupervised). Starting from the 16h version, we cover core topics of storytelling, basic electronics, IoT architecture, machine-to-machine communication, and exploring open-source IoT integration using Node-RED, all within our fully open-source and in-house developed IoT teaching framework - IoTempower.

We advocate that challenge-based education (CBE) allows students to work with the technology themselves and apply it to real-world problems. Our students have a chance to truly understand IoT’s strengths and weaknesses and its potential to help us deal with today’s challenges in creative, innovative, collaborative, and communicative ways. We foster an inclusive course mindset, promoting storytelling, exploration, and working with failure as part of the learning process. We emphasize collaborative team and group work and encourage critical reflection, with no differentiation between labs and lectures. From the start, students experiment with hardware, programming, and networking aspects of IoT, bridging the gap between the virtual and physical worlds through prototyping.

Iotempower Framework Overview

Overview of the IoTempower Framework.

Course Elements

The core sessions include storytelling and story-driven development, basic electronics, networking, communication protocols, IoT architecture, and exploring open-stack integrations using Node-RED, all seamlessly enabled within the umbrella IoTempower framework. All the software used in our course (including the IoTempower framework itself) is open-source and relies only on libraries with permissive licenses, making it a solution that is affordable and easy to replicate. Our students can even turn their projects into commercial products without any license restrictions.

We introduce the IoTempower framework early in the class to allow rapid prototyping and quick success, which keeps students motivated to learn more. Once the students have experienced key IoT development tools (after about 50 to 70% of the class), they start designing and then implementing their final project. Starting from stories, students describe a challenge inspired by a real-world problem and work towards constructing a feasible solution. Guest speakers from industry and academia highlight different problem domains to help guide the students in picking and describing challenges for their final projects.

Learning Tools

We provide a chat server that allows all students studying IoT to profit from each other across university and country boundaries. After several tries and discussions with students, we use Discord in the Tartu, Linz, and Regensburg case and open that for any teacher else approaching us. However, other chat environments should work as well but will lose the networking effect with other students and teachers being involved in IoTempower.

We also provide slides, task descriptions, questions, and videos to help with technical challenges or supporting discussions. We are continually creating new video material to support upcoming technical challenges. Chatbots of large language models (LLMs) like ChatGPT, Copilot, or Gemini also enhance our class learning experience by speeding up individual and team in-class research tasks. They also enrich our discussions by allowing us to critically reflect on their answers and suggestions.

In our course, we embrace the idea that hands-on experiences are crucial for the learning process. We provide a kit with sensors, actuators, cables, power supplies, a gateway, and microcontrollers to each student team. We paid special attention to selecting each kit component, prioritizing affordability and ease of sourcing in most regions worldwide. This approach equips each team with a truly practical experience as they can control every aspect of their network and do not have to depend on resources and services (from the university or the cloud) outside of the scope of their group.

I offer several classes in the area of the Internet of Things (IoT). Teaching material is generally publicly available. If you want to teach a class, feel free to use the published material, but give attribution to IoTempower and Ulrich Norbisrath.

Initially, I taught these classes based on different sets of material, but we are now using a more unified material base. We also depend more and more strongly on my own teaching framework IoTempower. If you are looking for my legacy original IoT classes (out of historical reasons or for inspiration), please check here.

References and Resources

If you want my colleagues or me to teach any or customized classes in person or on-site, please do not hesitate to contact me. However, below is all the recent material you can use with attribution to design your own.

  • Machado, R.P., Norbisrath, U., Jubeh, R.: IoT educational framework case study: Devices as things for hands-on collaboration. Journal of Engineering Education Transformations (37) (2024)

  • IoTempower, software that facilitates all this with lots of documentation and starting points for teaching, can be found at IoTempower GitHub

  • Full stories describing our impact: HarvestMate, SmartNursing, Teaching

  • More technical description of the used hardware of the kit: IoT Dev Kits

  • Teaching material (Syllabus, Slides, Contracts, Tasks) can be found on Google Drive, and videos are available on YouTube @ut-teaching-ulno, with a playlist

  • Join the IoTempire discord server: Discord