Designing for the Internet of Things
Spring 2016, Carnegie Mellon University

Course Prefix & Number 24-884 (6 units)
Meeting times T/Th 08:30AM-10:20AM
Locations INT 103 (T) and HL A10 (Th)
Instructor Daragh Byrne
Teaching Assistant Steffen Kaefer
Office Hours: Byrne: Friday, 3pm-4.20pm HL-A10.
Kaefer: Monday, 1pm-2.30pm, HL-A10
Lab Content: DIoT Lab Site

Weekly Schedule

Week (Beginning) Summary
1 (Jan 11) Introduction to IoT and Connected Products
2 (Jan 18) Exploring Case Studies & Basic Sensor platforms
3 (Jan 25) Design Methods for Networked Devices
4 (Feb 2) Perspectives on Envisioning Connectivity
5 (Feb 9) Considering Connectivity
6 (Feb 16) Looking to the Future
7 (Feb 23) IoT Ecosystems
8 (Feb 29) Final Presentations


  1. All students taking the course must complete the online skills survey

  2. Our Slack community is the main hub for course updates, discussion and content. Read more about the slack and its role in the course.

  3. Creative projects should be documented on the IDeATe Gallery. This site contains a guide to using the gallery. These are due before Thursday’s class.

  4. Weekly readings should be completed before Tuesday’s class. Summaries should be compiled in a single Google Doc shared by email with both the instructor and TA for the course.

Course Description

Thermostats, locks, power sockets, and lights are all being imbued with ‘smarts’ making them increasingly aware and responsive to their environment and users. This course will chart the emergence of the now ‘connected world’ to explore the possibilities for future products and connected spaces with the Internet of Things.This introductory, hands-on course invites students to creating connected products without any knowledge of programming, electronics or systems. Students will be introduced to interactive connected technologies through a series of hands on exercises, collaborative projects, in-depth discussions, and instructor led tutorials. Topics explored will include awareness, real-time sensing and communication, embedded intelligence, and designing experiences for the internet of things. By the end of this course, students will be familiar with the core skills, the considerations involved and design process required to build a connected system. Students will also apply this learning in collaborative groups to realize a prototype connected device.

Learning Objectives

Upon completion of this course a student should:

A. Domain Knowledge

B. Practical Skills

C. Prototyping

D. Collaboration


There are no prerequisites for this course. The course will teach all core skills required, however, prior experience with programming interactive systems is highly desired and recommended.

Instructional Methods

Classes will involve lectures, labs, hands-on tutorials, discussions, critique sessions and workshops. Students will participate in and lead class discussion/presentations.

Course Structure

The course will meet each Tuesday and Thursday, 8:30-10:20pm.

This 7-week course will iteratively introduce students to connected products, as follows. The first 5-weeks will offer a bootcamp on considering and developing for the internet of things. The final 2 weeks will offer an opportunity for students to apply this learning in a collaborative group project.

Bootcamp (5 weeks).

Each week will offer:

  1. Concepts: an introduction to concepts and considerations surrounding the Internet of things through readings, lectures, and in-class discussion

  2. Skills: self-paced labs will develop students skills in preparing connected products and cover hardware, software, electronics and other lab skills.

  3. Applied Critique: Concepts and Skills will be applied in short and focused weekly projects which will then be critically examined through group critique.

Students will complete a weekly creative exercise to develop conceptual understanding, refine and acquire skills and receive feedback on their ideas. Students will also be expected to complete an annotated bibliography of the readings assigned during the semester to demonstrate their review and understanding.

Collaborative Project (2 weeks)

For the final two weeks, small teams will work together to identify a prospective idea for a connected product of the future, prepare a working prototype and deliver supporting process and outcome documentation.

For the outcome Students will prepare:


To facilitate marking all students are expected to prepare project pages on the IDeATe Gallery which document the assigned projects and where regular assignments are posted (see All work must be submitted or presented by the deadline. Late work will not be accepted.

This course will assign a mixture of independent and group based projects. For independent projects, all work submitted must represent a distinct product by that individual and may not be produced in partnership with any peer within the class. Group projects allow for collaboration but expect that all members contribute to the final work equally. Work submitted for assessment in one class may not be submitted in full or in part for assessment in a second class.

Grading Policy

Final grades for the course will be broken down as follows:

Creative Project Grading (including Final Project)

  1. 60% - Merit of the creative outcome

  2. 20% - Description of process (ideation, iteration, etc.)

  3. 20% - Documentation of the outcome (code, video, circuit diagrams, repeatability, etc.)

Grading Standards / Rubric

Grading Scale

The grading scale for the course is as follows:

Process Documentation

Students are expected to maintain good documentation of their work process throughout the course. It is recommended that all students should maintain a journal (notebook, blog, etc) and regularly photograph (or video) their creative work as it is being prepared. Students will be asked to share this documentation with the instructor as part of regular assignments and graded outcomes.

Hardware and Software

We will cover a diverse array of software and hardware relevant to the Internet of Things. While preferred hardware and software will be introduced during the labs and tutorials, students are free to use any software or hardware they wish to complete assignments. Students may use Eagle, Fritzing, Rhino, Grasshopper, Solidworks, Arduino, Python (for rPi), Processing, Pure Data, openframeworks + ofxiOS, iOS SDK, etc..

Required Texts

There are no required texts for this class. Regular readings will be assigned on the topic. Digital and photocopied reading/viewing material will be provided by the instructor and available on the course webpage. For students new to programming or electronics, the following book is strongly recommended: Massimo Banzi (2008) Getting Started with Arduino.

Facilities and Lab Use

The course will use the IDeATe Physical Computing Studio in Hunt Library. Students are required to comply with the policies and procedures for the IDeaTe facilities (see:

The studio is a shared space used by your colleagues and by other classes. The maintenance of the studio is the responsibility of the students i.e. students should clean up the studio as they use it and leave it in good working condition for others.

The studio provides some short term lending of parts and consumable electronic components for use in student projects. These are available for reasonable use only and should not be abused.

For some of the assignments, students maybe be required to use specific equipment, hardware or software. All required equipment (hardware, components, etc.) will be made available for these assignments (see below). Additional and advanced hardware and components may be accessed in the Physical Computing Studio and in the IDeATe equipment lending pool which is open 7 days a week in the basement of Hunt Library. Required hardware (laptops, cameras, peripherals) may be checked out on request. If particular equipment is needed but is not available in the Studio or the Equipment Lending Library, let the instructor know.

Lab Fee

A lab fee of $105 will be charged to each student. This will provide each student with a Internet of Things development toolkit. This will be retained by the student on completion of the course as a resource for future projects.

Data Loss

Students are responsible for their own work. Work lost to due computer error, portable media error, or personal error is the responsibility of the student and will not be an excuse for late or missing work. At the end of the semester all students may be required to submit all work incl. source code, process documentation, etc.. Do not discard original files of any assignment and the use of github or other source management solutions is recommended.


Students are expected to attend all classes. During class times, students are expected to give their full attention to the class materials, discussions and seminars. Students found to be consulting non-class related material, using their mobile phone or engaged in social networking will be immediately deemed absent.

If you need to miss a class for any reason, inform the instructor before the class if possible, and/or after the missed class. More than one unexcused absence will adversely affect your effort grade (see section on grading). In no case can a student expect to receive a passing grade without regular attendance and participation in class.


Students must notify faculty in advance of planned absence for religious holiday or school-related event (i.e. varsity sports trip). If you have an unplanned absence for medical or personal reasons, let the faculty know of your situation as soon as possible. In case of an extended absence for medical or personal reasons, contact the Senior Academic Advisor by mail, e-mail or phone, who will notify the appropriate faculty. Faculty reserve the right to request a formal document verifying a medical excuse.

Academic Integrity

Academic Integrity is expected at all time. Carnegie Mellon has a established as well-defined policy on this subject which can be found at:

It is the responsibility of the student to verse themselves with these policies. All necessary and appropriate sanctions will be issued to all parties involved with plagiarizing any and all course work. Plagiarism and any other form of academic dishonesty that is in violation with these policies will not be tolerated.