Introduction
All computing is physical. We work with computational systems by taking action with our bodies, on devices. The construction of computing devices, and their use, consumes raw materials and energy as well. In short, computing, even that which we call virtual, always has physical consequences.
This course is about how to design those devices for our bodies. Physical Computing is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically. In this course, we take the human body as a given, and attempt to design computing applications within the limits of its expression.
To realize this goal, you’ll learn how a computer converts the changes in energy given off by our bodies (in the form of sound, light, motion, and other forms) into changing electronic signals that it can read and interpret. You’ll learn about the sensors that do this, and about simple computers called microcontrollers that read sensors and convert their output into data. Finally, you’ll learn how microcontrollers communicate with other computers.
To learn this, you’ll watch people and build devices. You will spend a lot of time building circuits, soldering, writing programs, building structures to hold sensors and controls, and figuring out how best to make all of these things relate to a person’s body.
Safety Requirement: If you plan to use the shop at 370 Jay, attend a tool safety session in the shop! Even if you are an experienced fabricator, everyone is required to take a safety session if planning to use or be in the shop.
Class Structure
Class meetings will be mainly discussions of work you’ve tried and shared demonstrations or experiments, not lectures. Any “lecture material” is on this site in video or written form, and assigned for the weeks where we will discuss it. Your instructor will review the week’s material, answer any questions you have, and reinforce elements of that week’s labs through demonstration. Use class time to get clarification on things you didn’t understand from the assigned material. Feel free to bring your own components and build alongside the instructor if you find it helpful.
Each week, you should put in adequate time to digest and then attempt to try the exercises covered. Outside of class, read or view the assigned material and do the assigned exercises. In class, engage in the class discussion, turn in the assignments on time, and offer support to your classmates through advice and critique. These are the keys to your success in this class.
A typical class would be:
- 60-90 minutes discussion, questions from the assigned readings and labs, demonstration of techniques you attempted, and presentation of any works in progress.
- 10 minutes break
- 45-60 minutes discussion of applications of the techniques covered, project ideas and approaches, and discussion of reading material.
- Individual instructors will modify this structure as they go, depending on each class’ need.
Class Expectations
The assignments in this class consist of weekly lab assignments throughout the semester; readings, discussion, and class participation; and two project assignments in which you’ll build interactive devices.
Grading
- 50% Project assignments (midterm and final)
- 30% Lab work and in-class participation
- 20% Blog & documentation
Participation & Attendance
The class meetings will be held in person at the scheduled class times. Students should plan to attend class sessions in person unless previously discussed and agreed upon with your instructor. If you’re going to be late or absent, please email your instructor in advance. If you have an emergency, please let your instructor know as soon as you can.
Please arrive to each class prepared to actively participate in the class discussion and exercises, with questions, stories of setbacks or successes you encountered in the lab, and interesting material related to the course that you’ve found. If you need special accommodations to participate in class, please discuss those needs with your instructor. You may want to consult the Moses Center for Student Accessibility as well.
It’s okay if you couldn’t get a lab exercise or a project to work. When that happens, try to debug it, explain what you did in your blog, and come to class prepared to talk about the details and ask specific questions. You will benefit more if you come to class with questions about what didn’t work than if you come with nothing. Pay attention to your classmates’ work and their questions; quite often, they’ll be asking the same thing as you.
When possible, work with your peers, whether in person or online. It’s useful to work with people tackling the same topics. Ask questions of second-years, residents, and full-time faculty as well. Our time together each week, and your access to each other, is what distinguishes studying physical computing at ITP from just reading about it on the internet.
Lab Assignments
There are lab assignments for most weeks of the semester. These are practical exercises that will help you to learn the technical material of the class. Each week you should review the topic notes or videos explaining that week’s materials, then do the labs, and write about your progress, your failures, and your questions. Class time most weeks will start with your questions and progress from the labs.
Project Assignments
You’ll complete two project assignments: a midterm and a final. The briefs for these are on the assignments page. The material in the labs will provide the techniques you need, and the class discussion will help you to come up with the ideas for the midterm and final. You’ll these assignments in class in weeks 7 and 14. You will be expected to document your projects on your blog as well.
Documentation
Document your progress in the class online in a regular blog as you go. At a minimum, you should summarize any insights and questions you have from each week’s lab assignments, and document your production projects and technical research thoroughly. You can find guidelines for good documentation, and several examples, on the Journals & Documentation page.
Readings
Topic notes to be covered each week are linked on that week’s class page. There are videos that demonstrate the material as well. The videos cover the same material as the written notes, so you can learn from whichever form you find most useful. Read each week’s material before class, do the labs, and prepare questions.
You’ll also be assigned some short readings to generate discussion about physical interaction design, application ideas, and other topics. These provide context and background inspiration. There is no specific assignment for these, but they will likely come up as references in the class discussion.
A longer list of both technical and conceptual source material can be found on the Related Books and Articles page.
Commenting on each others’ work
Supporting your classmates through feedback on their work is an important part of the class, and an important part of your participation grade. When watching your classmates present their work in class, we’ll make some time for verbal comments, but you should take written notes on their presentations as well. Offer suggestions on what they did well and should continue doing, what they should stop doing, and what they could add to their work and/or their presentation to make it better. Share your notes with your classmates at the end of class. You’ll be getting the same notes from your classmates, so write in the same voice in which you’d like to hear feedback on your own work.
David Rios has some excellent presentation feedback guidelines that work well in this class.
Week-by-Week Class Schedule
Below is the week to week schedule for the semester. The class pages, linked by each week, detail the topics to be covered that week, and the assignments for the following week. A fuller description of each week with links to lessons, labs and videos, can be found on the week-to-week activity page.
NOTE: On Tuesday Oct. 15, Tuesday classes will not meet due to Fall Break on Mon. Oct. 14. On that Oct. 15, Monday classes will meet instead. See the ITP help site for class dates and times.
Class | Topic list | Assignment Due | Post-Class Work |
---|---|---|---|
Week 1: Tues, 3-Sep | Introduction Fantasy Device | basic parts and tools blog Electricity: The Basics Understanding DC Power Supplies Labs |
|
Week 2: Tues, 10-Sep | Electricity | Electricity and components labs | Electronics review questions Microcontroller Digital Input and Output Analog Input Sensor Change Detection |
Week 3: Tues, 17-Sep | Microcontrollers, Digital I/O, Analog Input | Digital I/O labs Analog in lab | Digital I/O review Questions Analog Output Tone output Servo motor control |
Week 4: Tues, 24-Sep | Analog Output | Analog out labs | Sensors and Datasheets Midterm project concept |
Week 5: Tues, 1-Oct | Review & Reading Datasheets | Datasheet review | Controlling High-Current Loads DC Motors: The Basics Transistor and relay lab Controlling a DC Motor with an H-Bridge |
Week 6: Tues, 8-Oct | Controlling High-current loads; motors & lights | HIgh current labs Should have shown at least one lab in class by now | Finish your midterm |
Tues, 15-Oct | Legislative Monday. Classes meet according to a Monday schedule, so no class this week. | ||
Week 7: Tues, 22-Oct | midterm | midterm project | Intro to Asynchronous Serial Communications Serial Input to P5.js using WebSerial Serial Output From P5.js using WebSerial |
Week 8: Tues 29-Oct | Asynchronous Serial 1 | Intro to Asynchronous serial labs | Two-way (Duplex) Serial Communication using an Arduino and P5.js using WebSerial Serial Review Questions |
Week 9: Tues, 5-Nov | Asynchronous Serial 2 | Final project concept | Final project concept |
Week 10: Tues, 12-Nov | Final project planning | SPI and I2C Labs Final project system diagram, description, and BOM | I2C and SPI Final project plan |
Week 11: Tues, 19-Nov | Serial 3: I2C and SPI | Come up with a playtest of your final | |
Week 12: Tues, 26-Nov | Playtesting | playtest to run in class | Come up with a final user test of your final |
Week 13: Tues, 3-Dec | User testing | user test to run in class | FInish your final |
Week 14: Tues, 10-Dec | Final presentation | final project |
Parts and Materials Used in Class
You’ll be building a lot of projects in this class, both electronic and mechanical devices. All of your projects will be rough drafts of the interaction you imagine. The electronic exercises will be demonstrated with Arduino microcontrollers and a variety of sensors and actuators. The details of what parts you need can be found on the Parts and tools guide page. The ITP shop and equipment room stock parts for you to “try before you buy.” They’re there for you to get to know a sensor or part to see if it will do what you need. Please don’t hoard parts from the shop, so that others can use them as well. Take only what you need for a particular project or lab.
Personal Device Use
The quality of the class depends in large part on the quality of your attention and active participation. Please refrain from checking email, social media and extracurricular activities. This is especially important during student presentations, feedback sessions and class discussions. Please silence any devices that you’re not actively using, and turn off notifications that might disrupt the discussion. If you have an emergency that might require you to leave during class, please tell your instructor ahead of time.
Use of AI
Since understanding basic techniques and concepts in physical computing is an important goal of this class, you are not encouraged to use AI programming assistants in your assignments unless otherwise instructed by your instructor. If you use AI tools for any reason, document your step-by-step process thoroughly on how you used the tool. Cite which part of your work is from an AI tool, and what modifications you made. Be prepared to demonstrate your own understanding of the code in class discussion. Anything less thorough in terms of documentation could constitute plagiarism. Read this page for more.
ITP Code of Conduct
As with all activities at ITP and IMA, we’ll be following the ITP/IMA code of conduct. Please consider it as a guide for projects you might make or see in this class, and how we behave with respect to each other in class.
Statement of Academic Integrity
Plagiarism is presenting someone else’s work as though it were your own. More specifically, plagiarism is to present as your own: A sequence of words or programming code or images quoted without quotation marks from another writer or a paraphrased passage from another writer’s work or facts, ideas or images composed by someone else.
Statement of Principle
The core of the educational experience at the Tisch School of the Arts is the creation of original academic and artistic work by students for the critical review of faculty members. It is therefore of the utmost importance that students at all times provide their instructors with an accurate sense of their current abilities and knowledge in order to receive appropriate constructive criticism and advice. Any attempt to evade that essential, transparent transaction between instructor and student through plagiarism or cheating is educationally self-defeating and a grave violation of Tisch School of the Arts community standards. For all the details on plagiarism, please refer to page 10 of the Tisch School of the Arts, Policies and Procedures Handbook.
Statement on Accessibility
Please feel free to make suggestions to your instructor about ways in which this class could become more accessible to you. Academic accommodations are available for students with documented disabilities. Please contact the Moses Center for Students with Disabilities at 212 998-4980 for further information.
Statement on Counseling and Wellness
Your health and safety are a priority at NYU. If you experience any health or mental health issues during this course, we encourage you to utilize the support services of the 24/7 NYU Wellness Exchange 212-443-9999. Also, all students who may require an academic accommodation due to a qualified disability, physical or mental, please register with the Moses Center 212-998-4980. Please let your instructor know if you need help connecting to these resources.