Full Syllabus

tl;dr: Designing for the Internet of Things, Spring Mini-3 2019, Carnegie Mellon University

Course Prefix & Number 49-713 (6 units)
Meeting times Tu: 15:30-17.20
Th: 15:30-18.20
Locations Tu/Th: III 103 (Main Classroom)
Instructor Daragh Byrne
Teaching Assistants: Andrew Joseph Plesniak
Vaibhav Gupta
Office Hours: Tuesday:
Byrne & Plesniak - 18.00-19.30
Gupta: TBC
Lab Content: DIoT Lab Site

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

Prerequisites

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:

Grading

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://integratedinnovation.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.

For more information, on grading, and for details on grading policies, please consult the Grading, Feedback and Policies page.

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 Tech Spark Makerspace in Hamerschlag Hall. Students are required to comply with the policies and procedures for the Tech Spark facilities and have necessary training to use the machines and facilities.

In addition, you will have access to the IoT workstation in your collaborative studio at Craig Street.

The both the IoT workstation and Tech Spark are shared spaces used by your colleagues and by other classes. You are responsible for maintaining these spaces and should always leave it in good working condition for others. This means you should take the time to clean up the workspaces immediately after use, make sure tools are returned to their proper places, etc. 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 at the IoT Workstation, from the III Classroom (see Amanda Mitchell), and some resources are available at Tech Spark 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, let the instructor know.

Lab Fee

A lab fee of $120 will be charged to each student. This will provide each student with a Internet of Things development toolkit, access to project specific components and support a small budget for final project purchases. 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.

Attendance

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.

Absences

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: 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.

Grading, Assignments and Your Wellbeing

Besides all of the above, your health and wellbeing is first priority. Particularly as the semester comes to a close and there are many competing deadlines, assignments and priorities, first and foremost, take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. You are not alone. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is often helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you have questions about this or your coursework, please let me know.