Full Syllabus
01 Oct 2022Course Prefix & Number | 48-675 (6 units) |
Meeting times | Tuesday and Thurday 10:00-11.50 ET |
Locations | Hunt Library, A10 (Physical Computing) |
Instructor | Daragh Byrne |
Teaching Assistants: | Zhenfang Chen |
Office Hours: |
By appointment. Request by Calendly (see link on canvas). |
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
- Be able to describe of the history and domain of physical computing and connected products
- Be able to critically reflect on the role of connected products in everyday settings
- Be able to articulate the future possibilities and potential directions for the field
B. Practical Skills
- Have applied experience of the key concepts (electricity, components, circuitry) underlying physical computing
- Be able to independently construct electronic circuits
- Be able to use standard hardware and software tools for physical computing
C. Prototyping
- Be able to generate systems specifications from a perceived need
- Be able to design and make interactive objects that integrate sensing, actuation and software
- Realize one collaborative prototype independently prepared with their peers
D. Collaboration
- 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
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, 11.15-1.10 PM Eastern Time.
- On Tuesday, the course will meet to discuss readings and engage in design exercises.
- On Thursday, we will use our meeting time as a hands-on session. Prior to class you will review an introduction to technical content and then the class time will be used to move through an assigned skills development exercise.
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:
-
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.
-
Discussion and Critique: Concepts and Skills will be applied in short and focused design exercises and creative explorations which will then be critically examined through group discussion and 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, 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 documents outlining the costs involved, concept videos, proposals for implementation, etc.
Schedule
Week | Summary |
---|---|
1 (Oct 24) | Introduction to IoT and Connected Products |
2 (Oct 31) | Design Approaches for Networked Devices |
3 (Nov 7) | Exploring Ambience and Tangible Data |
4 (Nov 14) | Envisioning Connectivity for Domestic Settings |
5 (Nov 21) | Considering Connectivity |
6 (Nov 28) | Looking to the Future |
7 (Dec 5) | IoT Ecosystems |
8 (Dec 12) | Final Presentations |
Other Important dates:
- Nov 16: Mini-2 Course Drop Deadline
- Nov 23-25: No Classes - Thanksgiving
- Nov 28: Mini-2 Withdraw deadline + Pass/Fail Grade Option deadline
Note: this schedule is subject to change.
Deliverables and Expected Outcomes
-
Reading Reflections - Weekly readings will be assigned and can be found on the readings page. Students will complete a short summary of the week’s reading and share it on Canvas.
-
Discoveries - Students will be asked to share a series of discoveries (example projects, code samples, articles, libraries, approaches, etc) that will benefit the group. Students will prepare at least 5 discoveries over the course of the semester.
-
Skills Development Exercises - During the first 5 weeks, students will complete a weekly technical exercises that put into practice content from instructor tutorials. These assignments will require them to experiment with code and circuits to program lightweight IoT solutions relating to the material introduced in class that week.
-
Final Project - Students will collaboratively explore a design scenario and envision an IoT product where multiple connected devices interact with one another. Students will conduct research, prepare prototypes and document their work. It is expected that they will deliver a working prototype and supporting materials to illustrate the concept.
-
Oral Presentation and Demonstration - Outcomes of the final project will be presented and demonstrated to invited guests in lieu of a final exam.
-
Extra Credit Opportunities: will be provided throughout the course.
Grading and Assessment
Grades will be assigned based on the timely submission of assignments, reading responses, and active participation in class discussions and activities. Attendance is essential and unexcused absences will detract from your grade (see below).
Grades will be assigned based on work submitted through Canvas and/or digital pages for their work (Gallery pages,Google Doc, etc.). To facilitate marking all students are expected to prepare project pages on the Gallery which document the assigned projects and where regular assignments are posted (see http://ideate.xsead.cmu.edu). Instructions on submission will be provided on Canvas for each assignment. Students should review the assignment descriptions carefully.
All work must be submitted or presented by the deadline. Late work will result in a reduced grade.
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.
Required Texts
There are no required texts for this class. Regular readings will be assigned on the topic. Regular readings will be assigned. Digital and photocopied reading/viewing material will be provided by the instructor and made available on the course Canvas and/or on the course webpage.
For students new to programming or electronics, the following book is strongly recommended: Massimo Banzi (2008) Getting Started with Arduino.
Course Materials Fee, Hardware and Software Access
Course Kit and Materials Fee: As part of this course, students will require an IoT Development Kit. This kid contains your basic needs for projects, the hardware, electronic components and supportive materials for hands-on exploration. This is prepared by Sparkfun and costs approximately $150. Each student is responsible for the cost. It will be charged to your student account. The course kit will be ordered for you and available on the first day of classes.
IoT Development: Within this course, will work with the Particle Argon microcontroller. The Argon will be provided in the course kits. The software for the Argon is freely available and does not have additional costs.
Supplimentary Materials: Our class will be held in IDeATe’s Physical Computing lab. The PhysComp has a range of additional / more advanced components. You are welcome to borrow these for your project work at no cost. If you borrow equipment from PhysComp you are expected to return them at the end of the semester.
In addition, IDeATe has a lending desk where you can find additional equipment. Hunt Library circulation (HL1) also has media technology to lend, including: audio mics, audio recorders, AV accessories, digital still cameras, HDV camcorders, Pico pocket projectors, webcams and more. Take a look at Tech Lending
Using other 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. If you’d like to tackle more ambitious projects, explore other approaches or experiment with advanced components, let us know and we can help you navigate these choices
Facilities, Resources and Lab Use
A course kit will provide all necessary resources for your project work. Additional resources will be available through the IDeATe facilities and the Physical Computing Lab in Hunt Library.
Students are required to comply with the policies and procedures for the IDeaTe facilities (see: https://resources.ideate.cmu.edu. IDeATe is a shared space used by your colleagues and by other classes. The maintenance of the shared facilities and labs 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.
IDeATe 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 Lab or the Equipment Lending Library, let the instructor know.
Current information on accessing IDeATes facilities can be found on their facilities and resources website.
Helpful Resources for Academic Success
Learning to work with microcontrollers, electronics, and programming for the first time can be challenging. I’ll share some helpful resources to guide your learning.
-
I’ve prepared an extensive knowledgebase on IoT programming with the Particle framework. I hope this is helpful guide for in-class labs and out-of-class explorations. It can be found at: http://diotlabs.daraghbyrne.me. Use this as a starting point for questions you have.
-
There is a supplimentary list of resources that surveys other helpful tools, resources, guides and libraries that can be found on this site.
-
Explore IDeATe’s Physical Computing lab. There’s lots of helpful information (and people) in that space.
-
If you are looking for fabrication support for 3d printing, laser cutting, etc, IDeATe hosts Open Fabrication hours between 5-6pm Monday to Friday during the academic year.
As this course involves weekly writing assignments (reading reflections), I wanted to share some opportunities and resources for extra support with your writing:
- CMU has an Academic Development office, located in Cyert Hall, that you can make appointments with or even walk-in to get tutoring. The office also provides walk-in peer tutoring for 76-101 some weeknights in the Donner and Mudge Reading Rooms. More at: http://www.cmu.edu/acadev/
- The Global Communication Center on the first floor of the Hunt Library is an incredible resource. They host regular workshops and will offer consultation on drafts and written materials. They support written, visual, and oral communication. You can contact the GCC at GCC-CMU@andrew.cmu.edu or look at: www.cmu.edu/gcc .
In addition, I hold office hours twice weekly that can be booked through a calendly link (see Canvas). You are most welcome to join at any time to get additional feedback, seek advice or discuss potential topics. I hope to see you there!
Diversity, Inclusion and our Learning Community
This is an interdisciplinary exploration and inclusion in all its forms is what will make our discussions rich and productive.
Within the classroom, I value and will emphasize a safe and inclusive space for discussion, critique and experimentation. Within these discussions, every member of our learning community is responsible and expected to maintain respectful participation. Individually and collectively, I expect we will cultivating a network grounded in empathy, respectful of people’s boundaries and identities, and supportive of responsible and varied forms of expression.
This is a course about community and technology. It comes at a time where technology’s harm to many communities is visible and apparent. Recognizing the work that we do in the academy, in technology, and as designers often embed systems of inequity and bias, I’ve been mindful of this in preparing the content of this course. I’ve tried to provide a broad and inclusive perspective in the readings, cases and topics selected. A mini course is short and this challenges the design of a seminar that is fully inclusive of all perspectives. As such I will invite you to broaden it by adding your own recommendations of literature, projects and perspectives and by adding your voice to the discussions.
The statements above echo the University’s commitment to diversity and inclusion in the educational experience. I additionally include the university statement below both as further affirmation of my commitment to an inclusive learning experience, but also as it includes important resources for anyone navigating or experiencing issues of exclusion, bias, discrimination or harm. If you have any questions, concerns or suggestions, I welcome a conversation and reach out by email.
University Statement on Diversity
Every individual must be treated with respect. The ways we are diverse are many and are fundamental to building and maintaining an equitable and an inclusive campus community.These include but are not limited to: race, color, national origin, sex, disability, age, sexual orientation, gender identity, religion, creed, ancestry, belief, veteran status, or genetic information. We at CMU, will work to promote diversity, equity and inclusion not only because it is necessary for excellence and innovation, but because it is just. Therefore, while we are imperfect, we all need to fully commit to work, both inside and outside of our classrooms to increase our commitment to build and sustain a campus community that embraces these core values.
It is the responsibility of each of us to create a safer and more inclusive environment. Incidents of bias or discrimination, whether intentional or unintentional in their occurrence, contribute to creating an unwelcoming environment for individuals and groups at the university. If you experience or observe unfair or hostile treatment on the basis of identity, we encourage you to speak out for justice and support in the moment and/or share your experience using the following resources:
- Center for Student Diversity and Inclusion: csdi@andrew.cmu.edu , (412) 268 - 2150, www.cmu.edu/student-diversity
- Report-It online anonymous reporting platform: www.reportit.net username: tartans password: plaid
- College of Fine Arts Bias Reporting: https://www.cmu.edu/cfa/dei/bias-incident-reporting.html
All reports will be acknowledged, documented, and a determination will be made regarding a course of action. All experiences shared will be used to transform the campus climate to be more equitable and just.
Your Wellbeing
Besides all of the above, your health and wellbeing is the 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.
Course Policies
Course policies are included on the next page.
Questions?
If you have questions about this or your coursework, please let me know.