CSCI B649
Internet Of Things



Instructor: Andrew Lukefahr
Time: 8:00am - 9:15am M/W
Location: TDB

NOTE: This is tentative, and subject to change


Description

From servers to smartphones, our world has been revolutionized by the modern computer. The Internet of Things (IoT) promises to again revolutionize how we interact with computing, this time embedding compute deep within our urban environments, in homes, in ourselves, and many other places. These devices must be reliable, networked, and self-powered, enabling them to go unmaintained for decades, allowing for computation that seamlessly fades into the background of everyday life.

This class will be a mix of topical discussions and hands-on programming. It will focus on topics IoT-scale systems, including:

A large portion of this class will focus on designing and implimenting software solutions for IoT-scale problems. Due to time constraints, we will be using standardized hardware.

Prerequisites

This class assumes you are familiar with embedded systems (P-442 or equivalent). As such, we will assume basic familiarity with topics such as low-level programming for embedded processors (C/assembly), basic hardware structures (ADCs, DACs, timers, etc), and basic familiarity with testbench equipment (multimeter/oscilloscope).

Students without such background are advised to consult the instructor.

Deliverables

Reviews

We will read on average two papers per week (mostly in the second half of the semester). You will need to read and write a short review of the assigned paper and submit it via Canvas.

The review should answer the following questions:

Assignments

We will have two short assignments at the beginning of the semester. These will involve well-defined problems and solutions. You will be given the hardware.

The (tentative) assignments include:

You will be allowed to work in teams of two.

Project

This class will also feature a half-semester project focused on designing and implementing solutions for an energy-constrained IoT system. You will need to explore potential solutions, research their feasibility, produce a theoretical design, and implement your solution on the provided hardware.

You will be allowed to work in teams of two for the projects.

The project will involve a milestone review, a final written report, and a presentation/demonstration to the class.

In-class Participation

You are expected to participate in the in-class discussions. As such, attendance is mandatory. Unexcused absences will impact your final grade.

Grading Policy

Your grade for the course will be based on:

Late Policy

I do not accept any late work, except in cases of documentable personal or medical emergencies.

Schedule of Topics