- Important links
- Course synopsis
- Class policies
- Phone/computer use
- Lab access and policies
- Projects and collaboration
- Grading and due dates
- Academic integrity
- Recording class
- Taking care of yourself in a difficult time
Mondays and Wednesdays, 9:10–11:00 a.m., in IDeATe’s Physical Computing Lab (Hunt A10)
The class is being taught under the “in-person (rotation) + remote” (IRR) hybrid modality. The Physical Computing Lab has a social-distancing capacity of 12 students; if more than 12 students wish to attend class in-person, then we will establish a rotation schedule. All remote students (in Pittsburgh or elsewhere) join synchronously via Zoom; see the course Canvas page for the Zoom meeting link.
Academic units: 10.
professor: Robert “Zach” Zacharias (he/him)
phone: 412 268 5973
office: Hunt A9C (across the hall from the Phys Comp Lab)
office hours for in-person and remote students:
- 11:00 a.m. to noon, Mondays and Wednesdays
- and liberally by appointment (just email me with your request and I’ll be happy to set up a time to talk)
- Main course site: https://courses.ideate.cmu.edu/60-223 This site is updated frequently throughout the semester with assignment information.
- Student documentation site: https://courses.ideate.cmu.edu/60-223/s2021/work Documentation for the three major projects is posted here.
- Canvas page: https://canvas.cmu.edu/courses/22031 Some asynchronous learning modules are completed via Canvas; you’ll submit homeworks there; and it’s where grades are posted.
- Zoom link for remote students: see the Canvas page for the Zoom link, as well as the call-in information which you can use to join if your phone is working but your internet isn’t.
- This syllabus is available:
This practical project-based course begins by covering the basic technical skills (including electronics, programming, and hardware) needed to build interactive objects with embedded behavior using the Arduino microcontroller. Inputs to read information about the world include sensors such as an ultrasonic ranger, thermometer, light sensor, and human inputs like buttons and knobs. Outputs to affect the world include actuators such as motors, LED lights, speakers, and haptic feedback devices. Individual and group projects challenge students to apply their technical skills in creative ways. The class will be working with a local group of people living with disabilities who serve as design clients for the final project; students create assistive devices of a practical or whimsical nature for their critique and feedback. Readings and guest speakers address topics pertaining to design for people with different abilities.
Spring 2021 semester: Hybrid modality
While there are certainly adjustments that we’ll all need to make to accommodate the in-person (rotation) + remote teaching modality, the intention is to keep intact as much of the class’s original structure, learning goals, and course design as possible. This section reviews some expectations and plans particular to this semester.
N.b.: The first two weeks of the course will be remote for all students, as per the University administration’s direction. Beginning on Monday, Feb. 15th, students who wish to attend in-person will be able to, subject to the 12-student space limitation in the Physical Computing Lab.
Final project deliverable
The course’s final project is a group effort to create a custom assistive device for a member of the local community living with a physical disability. In a normal in-person semester, the final deliverable is actually delivered; students design and then fabricate the device.
It unavoidably takes a great deal of in-person shared effort to complete an original, complex fabrication project, and that’s not possible in the hybrid modality. This semester, student teams complete the project with everything except for the actual building part: they write and test software, design and test the electronics, and design the physical fabrication plans for the final project. These everything-short-of-actually-building efforts constitute the final deliverable for the project.
Course kit and materials
This is a hands-on project-based course which normally makes heavy use of IDeATe’s Physical Computing Lab space. Some students may elect to be on campus and have regular access to that space, while other students may choose to take the course remotely. Every registered student (regardless of their location) will be receiving a carefully designed, generously portioned kit of parts and materials, which includes tools and materials that students would normally access as common resources of the Phys Comp Lab. The whole contents of the kit are the permanent property of the student as soon as they receive it. We hope these parts and materials will serve you for years beyond the scope of the course!
Kits will be mailed out to students who are off campus, and made available for pickup to students who are on campus, beginning on February 1st. Since some students may not have their kit in hand until after the start of the course, we will begin the semester’s hands-on technical learning with the use of a gratis web-based simulator, “Tinkercad Circuits” by Autodesk. Once a student has their kit in hand, they can then transition to building with the actual physical electronics. Of course, no student will be penalized for shipping or logistical delays outside of their control.
Typically the beginning few weeks of this course consist of a sequence of in-class technical lectures, reinforced with hands-on technical exercises and homeworks. As an adjustment to accommodate this semester’s hybrid modality, many of these lectures will shift to an asynchronous mode of delivery: the lectures, as well as small technical exercises, will be assigned as homework. Some in-class time, then, will be refocused towards addressing students’ questions, clearing up common confusion, and discussing finer points. This is sometimes called the flipped-classroom model of curricular design.
As this is a 10-unit class, the expectation is that students will expend approximately 10 hours’ effort every week over the course of the semester. Four hours of this time are normally in-class, though adopting the flipped-classroom model means that some class meetings may be purposefully shortened (e.g. only meeting as a group for one hour instead of two). This time may be reallocated towards asynchronous lecture to be watched at a time of the student’s choosing, group meeting time for project teams, individual consultation with the professor, etc., as illustrated here:
Going remote during the semester
If University leadership determines that we will not be able to continue to meet in person at any point in the semester, then we’ll need to be ready to simply transition the entirety of the class to remote learning from that moment on. (Naturally, this circumstance would not require any adjustment for the students who are already participating remotely.)
For those students who are participating in-person in Pittsburgh, there are different levels of disruption in access to campus or the Physical Computing Lab which are worth keeping in mind:
- The Physical Computing Lab could be closed for a short time (~24 hours) for heavy disinfection if a person who is known to have been a probable/confirmed positive Covid-19 case has been in the space.
- Hunt Library could similarly be closed for ~24 hours for disinfection.
- The room, the building, or part/all of campus could be closed for longer, not necessarily with any advance warning.
In short, continued access to the Phys Comp Lab during the semester can’t be guaranteed. For that reason, it’s advisable that students not store projects and kit materials in the room if possible. While it’s certainly an inconvenience to carry these items to and from class, the prospect of not being able to access them otherwise is unfortunately real.
There are no formal prerequisites or assumed topical knowledge for this class. However, some basic programming understanding (such as familiarity with variables and their use, the
while iterators, etc.) will be helpful, since we spend little time in class on the rudiments of programming. In the past, students without any prior programming experience have been able to succeed by learning as they go, and asking for help as needed.
There are a sequence of homeworks as well as three major projects in the course. See the particular assignments on the main course site for further details on each. Briefly:
- Homework (20% of final grade)
- Technical homeworks are opportunities to stretch your ability and understanding of the nuts and bolts of writing software and driving electronics.
- Reading homeworks typically consist of journal articles addressing issues pertinent to the course. There are only a handful of these assigned during the semester.
- Project 1: A Double Transducer (10% of final grade) is a technical exercise in changing the form that a physical input signal takes, changing it again, and then outputting another signal. Students are assigned to work in teams of two, but each student builds their own machine, learning some electronics fabrication along the way. These transduction machines are linked to each other so that (ideally) a single input signal can pass through the chain of the entire class’s devices and produce a single physical output at the end.
This semester, some or all of the links between students’ transduction machines will be transmitted over the internet, so that the machines can communicate with each other across space.1 Last semester’s student documentation for this project is here.
- Project 2: An Assistive Device for Someone You Know Very Well (20% of final grade) is an opportunity to build yourself something that may be useful to you in your own life. Students work on their own project. Last semester’s student documentation for this project is here. Prior works include:
- a variety of creative alarm clocks which, for instance, require a special procedure to silence,
- a long-term memory aid to keep precious memories intact by printing out a reminder before bedtime,
- a reminder for a thrombosis patient not to remain sitting for too long,
- a bolt-on turn signal for a scooter, and
- a timed lock box to prevent the designer from eating caffeinated chocolate too late at night.
- Final project: An Assistive Device for a Person Living with Disabilities (50% of final grade) is the major effort of the second half of the semester. Students work in assigned groups of three to produce a novel interactive device custom tailored to the needs of a particular community member. Last semester’s student documentation for this project is here. Prior works include:
- a device to help a wheelchair user avoid backing into an unseen object,
- a device to help a person with upper-body strength challenges to produce large paintings,
- a device to automatically lower the volume of a television when loud commercials come on,
- a cane-mounted mobility aid for a Parkinson’s patient,
- a machine to make yarn balls of user-selected length, and
- a foot keyboard for a user whose hands have repetitive stress injuries from typing too much.
Learning goals for this course
Some of our learning goals are:
- Demonstrate an appreciation for and ability to participate in critique of one’s own work and the work of others
- Demonstrate an understanding of the role of reflection in learning and designing (begin to become a reflective practitioner)
- Demonstrate an ability to articulate the story (visually, orally, verbally, aurally…) of one’s own work and one’s own learning
- Demonstrate the ability to work in a multidisciplinary environment
- Demonstrate an understanding of the cultural context, and social and environmental implications of electronics in the modern world
- Demonstrate technical and creative skills in writing software in the Arduino IDE, creating circuits that safely work as intended, and making an effective, interesting, useful device to help improve the life of a person living with a disability.
This is a coarse guide, and subject to some adjustment based on the rate at which we’re actually progressing.
|week||Monday||Wednesday||topics and assignments|
|1||Feb. 1||Feb. 3||course introduction; Arduino board and programming basics via asynchronous lecture|
|2||Feb. 8||Feb. 10||electronics theory and practice; variable voltages; programming via asynchronous lecture|
|3||Feb. 15||Feb. 17||adding more inputs and outputs via live and asynchronous lecture|
|4||Feb. 22||Feb. 24||Project 1: introduction, ideation, and work time|
|5||Mar. 1||Mar. 3||event loop programming; technical homework; Project 1: work time|
|6||Mar. 8||Mar. 10||Project 1 due; Project 2: ideation begins|
|7||Mar. 15||Mar. 17||Project 2: ideation and refinement; work time|
|8||Mar. 22||Mar. 24||Project 2: work time|
|9||Mar. 29||Mar. 31||Project 2: critique; Final project: initial meetings|
|10||Apr. 5||Apr. 7||Final project: ideation|
|11||Apr. 12||Apr. 14||Final project: prototype development|
|12||Apr. 19||Apr. 21||Final project: prototype critique|
|13||Apr. 26||Apr. 28||Final project work time|
|14||May 3||May 5||Final project: final critique|
|finals||Final project documentation due|
Course grading scheme
Each of the homeworks and projects have their own grade breakdowns; see the relevant assignment pages on the course site for those details.
The course grade is computed from these components:
- 20% homeworks
- 10% Project 1
- 20% Project 2
- 50% Final project
The grading scale for undergraduates is as follows:
|final percentage of points earned||letter grade assigned|
|>=80 and <90||B|
|>=70 and <80||C|
|>=60 and <70||D|
The grading scale for graduate students is as follows:
|final percentage of points earned||letter grade assigned|
|>=93 and <97||A|
|>=90 and <93||A–|
|>=87 and <90||B+|
|>=83 and <87||B|
|>=80 and <83||B–|
|>=77 and <80||C+|
|>=73 and <77||C|
|>=70 and <73||C–|
|>=67 and <70||D+|
|>=60 and <67||D|
Class time is very precious—we’ve got only 4 hours a week, about 60 hours over the course of the semester. Because of this, there are some clear expectations for myself and for you:
- I will get to class early and ready to go. During class time, I’ll focus exclusively on our course.
- I’ll use class time as wisely as I can: if the whole group does not need to be involved in a discussion, I’ll try to bring only the needed group together.
- In that same spirit, if I’m able to assign a pre-recorded lecture as homework, rather than taking class time to do that teaching, then I will aim to do that.
- You’ll also use class time carefully: you will come on time and ready to learn.
- You’ll use class time to focus on the class, and not the fun things happening inside your phone or out on the internet. (See next section for more on that.)
The course is light on lecture and heavy on hands-on learning; especially since this is the case, when there is a synchronous lecture, please be careful to pay good attention.
Remote presence via Zoom
The Zoom class link is available on the course Canvas site (it’s not posted publicly). If you’ll be joining us remotely, I ask that you observe a few standards:
- I prefer that you leave your camera on during class, so that I can see your face; this really helps me get a better sense of student comprehension and engagement with the material. Your eyes and eyebrows tell quite a tale! If I can’t see you, it’s more difficult for me to instruct effectively. That said, there is no penalty for turning or leaving your camera off, and you should do what feels comfortable for you.
- You’re welcome to use the chat if you’d like. I ask that you not engage unnecessarily in private chats with your peers, though it’s certainly fine to, for instance, use a private chat to ask a classmate something like “what did he say?” if you missed a few words.
- Please leave your mic muted by default. N.b.: if you hold the space bar down while the Zoom application is in focus, you’ll be temporarily unmuted (until you release the space bar), which can be easier than clicking on the mute/unmute icon every time you wish to speak.
- You can use your physical hand to raise your hand, or the “raise hand” icon. In either case, if I’m failing to notice your signal, please feel free to unmute yourself and speak up at a reasonable moment to get my attention, or use the chat feature if you prefer.
We may also use a few different remote presence services, such as Gather, at various points during the semester.
You are expected to attend class, and to arrive on time. Past experience has repeatedly shown that higher attendance correlates with greater success in the class, so it’s in your best interest to come to class!
You are given three unexcused absences without penalty; beyond that, any additional unexcused absence will result in a 3 point deduction off of your final grade in the course. E.g.: at the end of the semester your final average is 92.4 (which would earn an A), but you have four unexcused absences; your grade falls to 89.4, which is a B.
Late arrivals to class are disruptive to the group. Please arrive on time (or early). Tardiness of 15 minutes or more is counted as an absence. (This policy applies to in-person as well as remote students.)
If you expect you won’t be able attend a session for any reason, or if you’ll be late, please email me as early as possible to request an excused absence. Excusable reasons for absence include religious or academic obligations, or known technical problems which will prevent you from accessing the class remotely; explanations that won’t warrant an excused absence include working on buggy/booth, or your friend visiting from out of town.
If you’re feeling ill, please email me advising of the circumstance as early as possible and focus on taking care of yourself. You will never be penalized for missing class for a health-related reason. Seek medical care as needed, and rest up so you can regain your health and return to full participation. If you’re able to join remotely during a time of illness, then of course you’re welcome to, but if you don’t have the energy or focus to do so, that’s fine and you won’t suffer any academic penalty—just write me to let me know your circumstance.
The outline of each class session is posted after the class on the class log page. If you want to know what you missed, please look there first, and then ask your classmates, or me, questions.
While we’re in class, please don’t use your phone for non-class purposes. If you are in-person in Pittsburgh and need to use your phone to contact others, just step out into the hallway; if you are remote and need to use your phone, please write me a private chat via Zoom saying that you need to step away to use your phone, and be sure that you’re muted, and that your camera is off. (If you’re using your phone to look up information/resources/etc. for class, that’s fine and there’s no need to take special steps to remove yourself from the physical/virtual classroom.) That being said, if I observe you using your phone in a non-academic way, I’ll ask you to give it to me so I can put it in the phone basket at the front of the room, and you’re welcome to get it at the end of class.
While we’re in class, please don’t use your computer for random internetting, social mediation, or any other use that isn’t pertinent to class. You’ve got the whole rest of your life to TweetGram awesome memes and #tags (though I don’t especially recommend it). Remote students who are accessing the course via computer might feel tempted to use other computer functions during class; my expectation is that you will focus on class solely during our shared synchronous class time.
The use of distracting technology by students in the physical classroom is obviously deleterious to the student who’s choosing to use it, but it’s also harmful to other students who are merely sitting near the distracted student. A 2013 article in “Computers & Education” pretty much spells it out in the title: “Laptop multitasking hinders classroom learning for both users and nearby peers.”2 A 2015 survey of 675 college students in the U.S. found that they spent “an average of 20.9% of class time using a digital device for non-class purposes,”3 which is pretty alarming. Please do your best to focus on class during class.
In the spirit of encouraging everyone to be able to be maximally present in class together, it’s important that students feel comfortable and supported. If there is anything physically in the environment that can be reasonably adjusted to make your learning experience better, you should feel generally empowered to make that adjustment. If the lights are too bright at your table, please ask your neighbors if it’s ok to dim them, and if yes, go ahead and do so; if we’re playing music at a work session and it’s too loud, please say so; etc.
If you are participating in class remotely and are facing technological hindrances such as not having access to a sufficiently powerful computer, or fast enough internet connection, please let me know at your earliest convenience so that I can do my best to accommodate and help you participate as fully as possible.
If there is any aspect of instruction that is giving you difficulty, such as my not spending long enough on a topic or making reference to a point we haven’t covered yet, please speak up, either during synchronous classtime or at another time. This sort of critique is very helpful to maintaining a successful classroom and much appreciated.
If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at
Statement on diversity
Heterogeneous teams are better than homogeneous ones at innovating.4 IDeATe is a heterogeneous environment by design, and our classroom is as well. Having students from a variety of academic backgrounds and college years is one way in which we aim to diversify the space; but also we also embrace diversity along other axes such as culture, national origin, race, gender, language, socioeconomic status, disability, and religious adherence. We sincerely believe that bringing together many different kinds of people makes for a richer learning environment for everybody.
If at any point you feel that you’re experiencing discomfort brought about by discrimination along any of these lines (or others), please immediately notify me so that I can take appropriate steps to rectify the circumstance. I’m always happy to make time to speak with you individually about any concern you’ve got; I’m just an email away. If you would like to submit feedback or comments to me anonymously for any reason, please use this form I’ve created for that purpose.
Additionally, there are two University-wide resources for reporting incidents of bias or discrimination:
- The Center for Student Diversity and Inclusion
- phone: (412) 268-2150
- Report-It service
- online anonymous reporting platform: http://www.reportit.net
- username: tartans
- password: plaid
- anonymous reporting via phone: (877) 700-7050
- online anonymous reporting platform: http://www.reportit.net
Lab access and policies
Enrolled students have access to the IDeATe Physical Computing Lab during class hours, and by appointment outside of that time. Hunt library’s hours are posted on their website, though as of this writing access for studying or using other library resources is only by appointment (make an appointment here).
The Phys Comp Lab’s inventory is online for your convenience. If you discover that we are running low, or are out of, any part or material in the lab, please fill this form out so it can be quickly replenished.
While in the Phys Comp Lab please observe some simple rules:
- Food and nonwater drink must remain in the zone of shame by the door
- Covered water containers are permitted at work tables
- Please store project material in your cubby (but see the caveat in “Going remote during the semester,” above); if you need more space let us know and we’ll make arrangements
- Tools that belong to the room (like those on the pegboard in the Heavy Work Zone, or in the red tool cabinet) must always remain in the room. Don’t take them elsewhere without asking, and don’t hide them in your cubby!
- Electronics in the drawers are available for your use; take them as you need. The expectation is that you’ll return things when you’re done with them, using the return bin; items in this bin will be held under a quarantine before they’re re-shelved by staff.
- Don’t worry so much about returning little stuff like resistors and LEDs; do worry about things like motor drivers or rotary encoders or pumps.
- Broken electronic components should be disposed of in the Electronic Waste Bin underneath the soldering bench; these contain toxic metals and need to enter a different waste stream than regular garbage.
- If you’re reading this, please click this link.
- It’s kind of a kindergarten situation: when you’re done working, please clean up after yourself.
Finally, in order to reduce the likelihood of viral transmission, we of course are following the safety protocols promulgated by the University, which are liable to change during the semester. In the lab:
- Please maintain a minimum ~6’ distance from others.
- Please wear a mask which covers your nose and mouth at all times.
- When using shared equipment (such as soldering irons), please use sanitizing wipes to disinfect the touchpoints of the equipment before and after using it.
Projects and collaboration
As mentioned above, this and all IDeATe courses purposefully attract students from a wide disciplinary range, including art, design, engineering, architecture, computer science, business, science, and more.
Two of the three projects in the course are completed in groups rather than individually. The expectation is that group members will honestly strive to work together on their projects and will rise or fall as a unit, understanding that identifying complimentary strengths and weaknesses early on will help the team succeed. All members of a group receive the same grade for a project except in unusual circumstances.
The final project includes a peer critique during the process, which is an opportunity to give feedback to the course staff about your group dynamics. That said: if your group is having trouble working together, please reach out to the instructor as soon as you think there may be some real issues. As an authoritative outsider, I can step in to help in ways that group members themselves can’t.
Grading and due dates
Assignments are generally due at the beginning of class, and arriving late to class because you are finishing the assignment results in a late project mark (so you might as well come to class and finish the project later).
Practical homeworks (i.e. the type that involve a tech demo) are graded in class when they are due. Homeworks may be turned in late for grading and will be penalized 25% per class day of tardiness. (“Class day” means a Monday or Wednesday we have class. For instance: a homework due on a Monday which would’ve earned a 10/10 will earn a 7.5/10 if handed in prior to the following Wednesday class meeting.)
Projects generally have two grade components: the project itself, and documentation of the project/process.
- Projects are graded based on their state at the time they are due, i.e. the day of the in-class critique. They may not be handed in late, except in extreme circumstances.
- Documentation is generally due one week after the project. Late documentation is penalized 10% for each 24-hour period of lateness past the documentation due date/time. (Example: project documentation is due on Monday the 6th at 9:10 a.m., and you submit it Monday after class. You get a 10% penalty for one day of lateness, so a 19/20 grade becomes a 17.1/20.)
It is better to hand in or present something rather than nothing. If, for instance, you find right before class that your project is broken, or it’s only partially complete, etc., then just show what you’ve got and you’ll get partial credit. If you don’t show anything, I’ll have no basis for giving you any points!
You can expect feedback on assignments within one week of handing them in. If you don’t get a grade or other response from me within that timeline, please contact me right away to let me know. I might’ve overlooked your work accidentally, and I don’t want you to be waiting unnecessarily for feedback from me.
This is not a class where you are expected to write every line of your own code. We gratefully stand on the shoulders of giants and also regular-sized heroes who share interesting projects on Instructables, or Github, or their blogs. You are expected to incorporate ideas, hardware/electronics designs, and even verbatim software fragments from other sources. This isn’t considered plagiarism in this class if: 1) you properly cite sources, and 2) you don’t simply make a wholesale reproduction of somebody else’s project but instead use their work as a jumping-off point. If you do plagiarize, however, you can expect a serious response, detailed below.
If you’re not sure if you’re borrowing too much from somebody else, or you don’t know how to credit the work you’re borrowing from, please discuss it with the professor.
Homework and collaboration
Different homework assignments carry different collaboration standards. For instance:
- Some homeworks will permit full collaboration with your peers, so long as each student types out every single character of the code they submit. (I.e. two students may submit the same code for the same assignment, though neither of those submissions may be copy/pasted from the other.)
- For some assignments, discussion between students of the ideas of the homework is permitted, but direct code collaboration is not permitted.
- For other assignments, no collaboration with peers is permitted.
In all cases, it is your responsibility to read and follow the collaboration guidelines specific to the homework you’re completing.
Students’ homework code is analyzed algorithmically to detect collaboration, and also examined and graded by the professor. All code submitted for homework assignments should have an opening comment block as specified below, where any collaboration with other students, or sources from the internet, printed media, or any other place, must be disclosed.
A failure to explicitly note any collaboration or code source in this comment block is considered plagiarism and carries a harsh penalty: the student will receive a –100% on that assignment (e.g. for a 10-point assignment the student receives a grade of negative 10 points). Additionally, the student’s advisor will be informed of the infraction, and the University disciplinary structure may be invoked as well, at the instructor’s option. Please don’t copy code from any place or person without properly citing it. As always, if you have questions, ask!
Standard comment block
Below is an example of the format of the standard comment block that should appear at the top of all submitted homework, above your actual code; individual assignments may specify variations particular to that assignment. Don’t just copy and paste this block without changing the relevant fields! Your submission should contain your own name, Andrew ID, the time it took you, your own collaboration, etc.
/* * 60-223, Homework 3 * Andrew Carnegie (acarnegi) * time spent: 2 hours 25 minutes * * Collaboration and sources: * 1) My classmate Ada Lovelace helped me understand * variables and we worked on the code together. * 2) The function "Wheel" is copied from this Adafruit * tutorial: https://learn.adafruit.com/multi-tasking-the-arduino-part-3/utility-functions * 3) I borrowed heavily from Paul Stoffregen's Encoder * library code: https://github.com/PaulStoffregen/Encoder * * Challenge(s): I tried to write a switch…case but * it did not go as planned. It took me an extra hour! * I was held up with bracket trouble the whole time, * it seems. * * Next time: I'll start by writing comments or pseudo-code * before trying to write the actual code. I think this * will reduce my getting tangled around the code * structure by forcing me to think through the underlying * ideas more clearly. * * Description: This device reads a button, potentiometer, * and rotary encoder as inputs, and drives LEDs as * outputs. While the button is held down, the lights * blink at a rate set by the potentiometer's position. * Once per second, the rotary encoder's movemement is * sent back to an attached computer via the serial * interface. * * Pin mapping: * * Arduino pin | type | description * ------------|--------|------------- * A2 input potentiometer for speed selection * 2 input rotary encoder pin A * 3 input rotary encoder pin B * 4 input pushbutton to activate lights * 9 output red LED * 10 output green LED * 12 output yellow LED * */ (actual assignment code would start here)
Please do not record class without obtaining prior written permission from me. If you have special dispensation via the Office of Disability Resources to record as an accommodation, then naturally that is permissible.
Some of the class meetings may be recorded via Zoom for the benefit of students who aren’t able to join live. The professor will always mention that recording is going to begin before starting recording, and reiterate that recording has begun once it has. Links to the class recordings may be posted on the class Canvas site (never on a public-facing site), and for the privacy of all of your classmates, you should not share those links with any person outside of the class.
Research to improve this course
For this class, I am conducting research on teaching and learning. This research will involve some student work. You will not be asked to do anything above and beyond the normal learning activities and assignments that are part of this course. You are free not to participate in this research, and your participation will have no influence on your grade for this course or your academic career at CMU. If you do not wish to participate, please send an email to Chad Hershock,
email@example.com. Participants will not receive any compensation. The data collected as part of this research will include student grades. All analyses of data from participants’ coursework will be conducted after the course is over and final grades are submitted. The Eberly Center may provide support on this research project regarding data analysis and interpretation.
The Eberly Center for Teaching Excellence & Educational Innovation is located on the CMU-Pittsburgh Campus and its mission is to support the professional development of all CMU instructors regarding teaching and learning. To minimize the risk of breach of confidentiality, the Eberly Center will never have access to data from this course containing your personal identifiers. All data will be analyzed in de-identified form and presented in the aggregate, without any personal identifiers. If you have questions pertaining to your rights as a research participant, or to report concerns to this study, please contact Chad Hershock,
Research to improve student documentation practices
As part of this class, we are conducting research on how students document their work in project-based learning. This National Science Foundation (NSF) funded research study, “Smart Spaces for Making: Networked Physical Tools to Support Process Documentation and Learning” was awarded to Carnegie Mellon University and the University of Pittsburgh. Our research goal is to learn more about the strategies and tools teachers use, or would like to use, in their classrooms, to find new technology-enhanced ways to encourage documentation practices, and to better understand the student experience using this these documentation tools. This research will involve completing a survey at the beginning and end of your course, allowing the research team to quietly observe classroom activities, and participation in a focus group during the course and debrief session at the end of the course.
We may also want to collect audio recordings during these sessions, photographs from observation, and learning artifacts you create. This will only occur if you give your permission. You are free not to participate in this research, and your participation will have no influence on your grade for this course or your academic career at CMU. If you choose not to participate in the research, you must still complete all required coursework, but your data will not be included in the research analyses.
To minimize the risk of breach of confidentiality, the research team will store data securely and anonymize data collected. All data will be analyzed in de-identified form and presented in the aggregate, without any personal identifiers.
If you choose to participate you will receive a $25 gift card at the completion of this study.
Please contact Professors Marti Louw at
firstname.lastname@example.org and/or Daragh Byrne at
email@example.com if you have questions or concerns about your participation.
IDeATe, the Integrative Design, Arts, and Technology network at Carnegie Mellon, offers undergraduate minors and courses in Game Design, Animation & Special Effects, Media Design, Sonic Arts, Design for Learning, Innovation & Entrepreneurship, Intelligent Environments, Soft Technologies, and Physical Computing. These areas merge technology and creativity and provide learning opportunities for interdisciplinary collaboration. IDeATe minors and courses are open to all majors. We welcome students from every discipline to the unique learning environment that exists at Carnegie Mellon.
Relevant IDeATe skill-building courses
IDeATe is not its own department. Rather, Carnegie Mellon’s departments contribute faculty and courses to the IDeATe curriculum. Therefore, IDeATe does not have its own course number prefix. You can find the IDeATe course offerings for the upcoming semester by going to the Courses section of https://ideate.cmu.edu/.
IDeATe offers a selection of “micro” courses; these are skill-building workshop-style classes which meet only a few times and confer 1 academic credit. Here are some micro courses relevant to Physical Computing:
- 99-353 IDeATe CAD and Laser Cutting (super useful for fabrication!)
- 99-359 IDeATe 3D Modeling and 3D Printing (also very useful for fabrication and design)
- 99-352 IDeATe Soft Fabrication Skills (opening a whole new world of textile possibilities)
- 99-357 IDeATe Pragmatic Photography (a great and broadly portable skill to have in your bag)
- 99-360 IDeATe E-Textiles (integrating electronics and fabrics. Very neat!)
A mini (half-semester) course you may be interested in:
- 62-478 digiTOOL (covers CAD for lasercutting and 3D printing, in more depth than the micro courses)
Once you are enrolled in an IDeATe course, you will have access to IDeATe Lending, and you will maintain your access through the rest of your time at Carnegie Mellon.
This is a resource which is only open to a limited extent during the University’s pandemic response; if you have need for a particular item or material please discuss it with the professor to see if it will be possible to access IDeATe Lending to retrive that part. Please visit https://resources.ideate.cmu.edu/lending/ for more detailed information on available resources, to review the IDeATe Lending Borrower Policy, and to find hours of operation.
Laser cutter access
IDeATe maintains three laser cutters in the digital fabrication alcove off of room A5, and these tools are very precise, very fast, and very useful for all sorts of fabrication. Unfortunately, the room the machines are housed in is not well suited to consistent social distancing, so they’re off limits to general student use this semester.
As an alternative for this semester, if you wish to learn how to use laser cutters, consider registering for 24-210 Special Topics: Maker Series: Inventive Projects, which is a one-credit, pass/fail course offered by Mechanical Engineering in their very well-equipped Tech Spark space in ANSYS Hall. Once you’ve taken that class you will be entitled to one hour of reserved laser time, and unlimited walk-up access to their machines (based on availability).
If you have questions or need advice about IDeATe minors or courses, please get in touch with Kelly Delaney, the Assistant Director of IDeATe. Her office is in Hunt A9 (immediately accross the hall from the Phys Comp Lab) and her email is
Taking care of yourself in a difficult time
This is obviously a challenging time for all of us. I don’t expect you to be constantly operating at 100% of your normal-circumstances capacity during this semester, and I believe that you shouldn’t expect that of yourself, either. I want to be as supportive as I possibly can, and am happy to be reasonably flexible in terms of due dates, assignment expectations, etc.
I will be scheduling opportunities for us to have one-on-one chats during the semester so I can check in on your progress and wellbeing, but I also ask that you reach out to contact me if there’s anything that you think that I should know about your circumstances which can help inform my teaching and expectations. I’m always happy to make time to speak privately with students about any concerns.
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. Be sure to take breaks if you’ve got large blocks of screen time. Get some fresh air. (For those of you on campus: there’s a big beautiful park literally across the street from Hunt Library. For those of you joining remotely: I hope you’re able to get whatever outdoors time your circumstances afford you.) Maintaining healthy habits will help you achieve your goals and cope with stress.
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 or visit http://www.cmu.edu/counseling. Consider reaching out to a friend, faculty member (I really am always happy to talk), or family member you trust for help getting connected to the support that can help.
Thank you for reading this lengthy syllabus. I’ve tried to be thorough in my discussion of the class so that you have a good sense of what to expect and have clarity around what I expect, as well. All of the structure provided by the rules and grades and submission requirements above is there partly because we’re operating in an academic environment that requires that I evaluate you as fairly as I can with a grade at the end of the semester, and partly because a bit of structure helps provide us an environment in which we can thrive. Ultimately, though, my goal is to help you have a successful semester, and I ask you, again, to please reach out and write me an email if you’ve got any concerns I can help with.
I hope you’re taking this class because you’re interested in learning something new and useful. I’m teaching it because I sincerely believe that the ability and confidence to use these technological tools can be transformative—and that it’s good to work towards a world in which as many people as possible are empowered to solve meaningful problems in creative ways, build interesting things, and help enrich our shared experience through the act of helping others. I’m looking forward to learning with you this semester.
Dr. Garth Zeglin, an IDeATe faculty member who teaches Intro to Physical Computing’s sister course, 16-223 Creative Kinetic Systems, has written some very useful Python programs using the MQTT protocol which we’ll be using. ↩
Sana, F., T. Weston, and N. J. Cepeda. “Laptop multitasking hinders classroom learning for both users and nearby peers”. Computers & Education, volume 62. 2013. pp. 24–31. https://doi.org/10.1016/j.compedu.2012.10.003 ↩
McCoy, B. R., “Digital Distractions in the Classroom Phase II: Student Classroom Use of Digital Devices for Non-Class Related Purposes”. Faculty Publications, College of Journalism & Mass Communications, vol 90. 2016. pp. 5–32. http://digitalcommons.unl.edu/journalismfacpub/90 ↩
Prat, A. “Should a team be homogeneous?”. European Economic Review, volume 46. July 2002. pp. 1187–1207. https://www.sciencedirect.com/science/article/pii/S0014292101001659 ↩