Course Overview
The vision of the Internet of Things (IoT) is a future where microprocessors
and wireless radios are embedded into everyday objects, bestowing intelligent
behavior on inanimate objects and enabling them to automatically and intelligently
serve people in a collaborative manner. IoT is expected to revolutionize many areas of our
lives, including healthcare, manufacturing, transportation, robotics, and agriculture.
Engineers of all backgrounds and disciplines will be involved in the design of future
IoT products for a diverse set of applications.
The focus of this course is to explore the basic building blocks that make the Internet
of Things possible, including the underlying core hardware components, basic input/output
operations, wireless radio technologies, and sensing/actuation devices.
We will discuss fundamental concepts of IoT systems and their use in a wide range
of applications and also address various aspects of the wider IoT ecosystems such as
security, privacy, and ethical considerations. The course will be a hands-on course with various skill
building lab modules and projects. We will first learn the basics of Python programming
and then work through various IoT components, such as sensing, actuation,
and networking, using Raspberry Pi (and potentially Arduino) devices. By the end of the course, a student this class will be able to demonstrate, among other things, the following:
- An understanding of how microprocessors, sensors, and radio hardware are integrated into an embedded/IoT hardware platform.
- An understanding of how low power wireless links behave in terms of metrics such as signal quality, error rates, throughput, as a function of link distance, channel and power settings.
- An understanding of how medium access control (MAC) protocols such as carrier sense multiple access allow multiple devices to share a medium.
- An understanding of how to prolong the battery lifetime of an embedded device by using sleep cycling and asynchronous MAC protocols.
- An understanding of how to process raw data and signals from sensors to minimize noise and to estimate useful parameters such as a device’s location.
- An understanding of the TCP/IP protocol suite and how to program one device to talk over the Internet to other devices.
- How to program mobile devices to access their sensors and communication capabilities.
- An understanding how to store and process information in the cloud using databases and computing frameworks such as Hadoop or Google’s Cloud Data Flow.
- The ability to learn new emerging distributed system technologies in the field of IoT.
Course Information:
- Instructor: Christian Poellabauer
- - Office hours: Before and after lectures, Friday 9-10.30am, and by appointment
- - Office: Stadtkloster lecture hall
- - Email: cpoellab@nd.edu
- TA: Jessica Cioffi
- Class location: Stadtkloster lecture hall
- Lecture times: Monday/Wednesday 2-5pm