Internet of Things
TinkerforgeCode in ActionAbout Me
  • Course Outline
  • 1 - Getting Started
    • Overview
    • Connect to the LED
    • Getting Started
      • Glitch
      • The Application Template
    • Concepts in Programming
      • What is Programming?
      • Variables
      • Functions and Commands
      • Control Structures
      • Loops
      • Objects and Libraries
    • Programming Simple Web Apps
    • Exercises
      • 1.1 Buttons and Inputs
  • 2 - Internet of Things
    • Overview
    • IoT in our Apps
      • Getting Started
        • Hardware Kit
        • Brick Viewer and Daemon
      • Connect to the Devices
        • The Tinkerforge Device Manager
      • Program the Devices
        • RGB LED
        • RGB LED Button
        • OLED Display
        • Sensors
          • Humidity Sensor
          • Ambient Light Sensor
    • Components and Use Cases
    • Exercises
      • 2.1 Lights and Buttons
      • 2.2 Sensors
      • 2.3 Display
  • 3 - Artificial Intelligence
    • Overview
    • AI in our Apps
      • Google's Teachable Machine
      • Face Recognition
      • Training a Custom Model
    • Rules vs. Learning
    • Learning from Data
    • Use Cases
      • Computer Vision
        • Image Classification
        • Handwriting Recognition
    • Machine Learning Algorithms
      • Artificial Neural Networks
      • Decision Trees
      • Logistic Regression
    • Exercises
      • 3.1 Rules vs. Learning
      • 3.2 Fruits and Vegetables
      • 3.3 Face Recognition
      • 3.4 A Classifier for Iris
  • 4 - Cloud & APIs
    • Overview
    • APIs in our Apps
    • Cloud and APIs
      • Weather API
      • NASA Open APIs
      • EDAMAM Nutrition and Recipes API
    • Push Notifications
    • Exercises
  • 5 - App Project
    • Overview
    • Summer 2021
    • Summer 2022
  • Appendix
    • Other Devices
      • Motorized Linear Poti
      • Sound Pressure Sensor
      • NFC Reader
      • Motion Detector
    • UI Features
      • Realtime Charts
      • Countdown Timer
    • Digital Computers
      • Overview
      • The Binary System
      • Code Systems
      • Logic Gates
      • Binary Addition
      • From Analog to Digital
    • Cheat Sheets
    • Projects
      • IoT @ Pickup-Boxes
Powered by GitBook
On this page
  • Topics
  • Learning Objectives
  • Code in Action
  • Concept
  • Inverted classroom
  • Learn programming by doing
  • Prerequisites

Was this helpful?

Course Outline

This course teaches you to learn programming and build solutions with code and physical devices such as sensors and actuators.

NextOverview

Last updated 2 years ago

Was this helpful?

I offer this course for students at the University of Applied Sciences under the title (will soon be renamed). All materials for the course are on this website, you can basically self-study the material and solve the exercises all by yourself. The important thing that will be missing are the fruitful discussions we have during the live-sessions.

Topics

This course is divided into the following parts:

  • Part 1: Getting Started

    • Set up your development environment with Visual Studio Code, Git, and Python.

    • We introduce a set of hardware devices including a temperature sensor, a button, and a display.

    • We write our first program to connect to the devices and repeat some Python basics.

    • Finally, we learn how to output information on a small OLED display and write some programs that integrate the display.

  • Part 2: Sensors

    • We introduce sensors as essential components in IoT applications.

    • We learn how to integrate the temperature and humidity sensor into our program and how to read the sensor values continuously and make use of them.

    • We introduce asynchronous code and callback functions as a means to deal with sensors.

  • Part 3: Input Devices

    • We add the LED button to our set of devices and learn how to use it in our application.

  • Part 4: Wireless Data Transfer

    • We introduce devices that utilize wireless technology like Bluetooth and NFC to communicate.

  • Part 5: Human Input Devices

    • Touch display

  • Part 6: Software Prototype (Examination)

Learning Objectives

  • Know, understand, and apply essential concepts of programming, especially with focus on programming with physical devices such a sensors and actuators.

  • Write programs with Python that integrate different hardware devices.

  • Know the basics of Internet of Things (IoT) and what applications exist for it.

Code in Action

You can click through all live examples from this course by opening the following website:

Concept

Inverted classroom

This course is designed to be self-taught. You should be able to work through the lessons, read the articles, watch the videos, and most importantly: do the exercises. At the end of all lessons, you should be able to successfully pass the final app project.

Learn programming by doing

Although learning to program and create digital solutions is the main goal of this course, we won't do a formal introduction of programming with theoretical input upfront. Instead, we'll quickly dive into the application of building something useful with small electronic hardware devices that we can program. Along the way, we introduce the concepts of programming step by step. We see programming as a means to build something useful with a computer, and not as an end in itself.

Prerequisites

It is helpful to have a basic understanding of the Python programming and how to build simple programs with it. If you successfully passed the mandatory module Building Solutions with Digital Technology, you should have the required background. If not, you can find all material for self-studying here [TODO: Insert link].

Students at the , for whom this course was created, are invited to join the weekly 180-minute sessions during the summer term (March - June). The sessions will not be in a classic lecture style, but rather follow an approach. This means we won't introduce new concepts during these sessions - the material on the course's website should cover about everything we need. Instead, the topics of the sessions are brought forward by the students through self-studying of provided material. The time during the sessions is reserved for questions, discussions, and the presentation of solutions for the exercises. To prepare for the sessions, the topics to discuss are collected up front, transparent to everyone.

Impacts of Digitalization
University of Applied Sciences in Osnabrück
inverted (or flipped) classroom
Impacts of Digitalization - Code in Action