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)|
|Teaching Assistant||Steffen Kaefer|
Byrne: Friday, 3pm-4.20pm HL-A10.
Kaefer: Monday, 1pm-2.30pm, HL-A10
|Lab Content:||DIoT Lab Site|
|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|
All students taking the course must complete the online skills survey
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.
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.
Upon completion of this course a student should:
Be able to work in a mixed physical digital environment and laboratory
Be able to integrate considerations across business, design and engineering to prepare connected products
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.
Classes will involve lectures, labs, hands-on tutorials, discussions, critique sessions and workshops. Students will participate in and lead class discussion/presentations.
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.
Each week will offer:
Concepts: an introduction to concepts and considerations surrounding the Internet of things through readings, lectures, and in-class discussion
Skills: self-paced labs will develop students skills in preparing connected products and cover hardware, software, electronics and other lab skills.
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.
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:
working demonstration of their idea (a prototype)
a functional specification (engineering) including circuit diagrams, etc.
a design from low-fidelity sketches to high-fidelity prototype
a high-level strategic documents outlining the costs involved, expected retail price, and draft promotional material.
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 http://ideate.xsead.cmu.edu) 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.
Final grades for the course will be broken down as follows:
Attendance & Participation - 10%
Reading Summaries - 20%
Weekly Creative Projects (4 x 5%) - 20%
Final Project - 50%
60% - Merit of the creative outcome
20% - Description of process (ideation, iteration, etc.)
20% - Documentation of the outcome (code, video, circuit diagrams, repeatability, etc.)
A: Superlative or exemplary work, initiative beyond the description of the problem. Significant understanding of the problem. Conceptual clarity. An attitude of self-motivated exploration, open-mindedness, and a willingness to benefit from criticism.
B: Very good, some exemplary work, a thorough understanding of the problem. Project displays conceptual foundation, well crafted. Competence and mastery of skills. Open, inquisitive attitude.
C: Satisfactory or adequate work that meets the minimum requirements of the problem and course. Shows understanding of the problem, with some deficiencies. Reasonable mastery of skill and concepts. This grade is seen to represent the average solution.
D: Passing, work that is complete, but does not show an understanding of the problem or expectations, and demonstrates deficient skills.
R: Failing work that does not meet the requirements of the studio, shows a serious deficiency in skills or is incomplete.
The grading scale for the course is as follows:
A - 90 - 100%
B - 80 - 90%
C - 70 - 80%
D - 60 - 70%
R - < 60%
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.
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..
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.
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: http://ideate.andrew.cmu.edu/category/policy-proc/)
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.
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.
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 is expected at all time. Carnegie Mellon has a established as well-defined policy on this subject which can be found at: http://www.cmu.edu/policies/documents/Academic%20Integrity.htm
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.