Skip to main content
Get your Wikispaces Classroom now:
the easiest way to manage your class.
Pages and Files
IA01 Background Survey - 1/29
IA02 Arduino Graph - 2/13
IA03 Partner Eval for MPA01 - 3/10
IA04 Partner Eval for MPA02 - 4/02
IA05 Partner Eval for MPA03 - 4/21
MPA01 Input Inventions - 3/3
MPA02 High-Low Tech - 3/26
MPA03 Kinects & Motors - 4/16
Semester Project Assignments
SPA01 Project Pitch
SPA02 Project Presentation
SPA03 Project Instructable
SPA04 Project Video
SPA05 Project Artifact
RA01 Tangible Bits - 1/29
RA02 Arduino Intro - 2/3
RA03 Electricity Intro - 2/13
RA04 Switches (p 39-59) - 2/19
RA05 Input Technology - 2/26
RA05 Sensor-Based Input - 2/26
RA06 Prototyping 3/5
"Joy is a well-made object, equaled only to the joy of making it."
-a Canadian Native American tribe saying, as quoted by
(author, co-founder of
, & editor of
This class is about making, being creative, taking risks. We will make to learn and learn to make. We will use materials to help us think and to push our own boundaries of what interactive computing is and could be. I taught this class once before:
. It was, by most accounts, a success (I think!). I learned a lot. The class learned a lot. Most importantly, along the way, we had
interesting things, and we
each other (peer learning ftw).
As another indicator of success, the aforementioned
class generated one MS thesis topic, one PhD thesis topic, and two publications (with more to come!). In addition, the instructables posted for the final project have garnered over 74,265 views and have been favorited 317 times (as of Jan, 2014) including
(9,330 views, 58 favorites),
(33,642 views, 88 favorites),
x-track music visualizer
(7,150 views, 63 favorites), and the
HCIL Hackerspace interactive living wall
(22,613 views, 98 favorites). I hope for a similar diversity of compelling ideas and successes this year!
I will state up front: in this class, I do not have all the answers (note: I never do but particularly not in this class). I am learning with you. I am pushing myself to learn new things. You should too. So, it's likely that we'll experience some failures along the way. A mini-project might fail. My lectures might fail. But that's OK. Failures can often lead to accidental innovation and they most certainly help you learn. If you don't fail sometimes, you're not trying hard enough. :)
In this course, we will explore the materiality of interactive computing. In the words of
, we will seek to
"seamlessly couple the dual worlds of bits and atoms."
This is a particularly interesting time to survey and explore the space between atoms and bits because of three, interrelated technology trends:
The recent emergence (or reemergence) of the DIY/Makers movement
, which has led to widespread opportunities to interface and work with hardware that has rather low barriers of entry (
the Arduino) and provide new opportunities for tangible interaction;
The pervasiveness of powerful mobile computers
in the form of smartphones and tablets that are constantly on and nearly constantly with us and imbued with a rich array of sensors such as accelerometers, gyroscopes, and location-sensing that allow for new types of off-the-desktop interaction;
"hardware renaissance" in Silicon Valley
(and other places) that is fostering a renewed culture of hardware-oriented products and ideas such as the
the Pebble Smartwatch
, and low cost flying drones such as the
Taken together, we can no longer simply consider the GUI and WIMP interfaces as primary interaction models for computing. We must explore new spaces of interaction that are, in part, enabled by the above three points.
Note: this is the second offering of this course and, as a result, things will be rather experimental. In addition, the course is not currently an MS or PhD comps (qualifying) course for CS graduate students. It can serve as an elective, however.
Professor: Jon Froehlich
Assistant Professor, Computer Science
CS Office: 3173 AV Williams
HCIL Office: 2117F Hornbake
Office Hours: by appointment. I will also be available for 60-90 minutes after Wednesday sandbox days in the HCIL Hackerspace.
HCIM Graduate Student
Office Hours: Michael's dissertation is on new techniques to program the physical world through interactions with physical material. Given its relationship to this class and Michael's background in physical prototyping, he will spend about ~5 hours a week helping out with the class in the HCIL Hackerspace.
Course Scoping and Prerequisites
There will be a bit of everything in this class and I will be trying to push on the theme of making, tangible interactive computing, and the future of HCI. We will be working with Arduino, sensors, Kinects, and AR.Drones. I hope to also cover some simple signal processing and machine learning and toolkits like OpenFrameworks and Weka.
This is not a fundamentals of HCI course.
If you are looking for an introduction to HCI, this is not the course. For that, I encourage you to explore CMSC434: Introduction to Human-Computer Interaction; INST631: Fundamental of Human-Computer Interaction, and/or INST632: Human-Computer Interaction Design Methods.
Programming experience required.
Electronics experience useful, but not required.
We will be building basic tangible interactive computing systems that require interfacing with sensing and actuation circuits and programming micro-controllers. If you have limited hardware experience but have strong programming skills, you should be fine.
There will be no exams in this class; we will learn by doing and learn from each other. We will, however, have grades, which are broken down as follows:
There will be four mini-project assignments in this class, each worth
15% of your overall grade
(based on your implementation, presentation, write-up, video, etc.).
There will be one course-long project worth
25% of your overall grade
, which will be due and presented during our "Final Exam" slot (this grade will be based on the project idea itself, your implementation, your video, and your instructable).
15% of your grade will be based
on your performance in individual assignments (
readings and anything prefixed with "IA"), your quiz performance (if any), and your class participation.
The mini-project assignments and course project will be graded based on peer review and my grade. The top two or three (depending on how many teams we end up having) will earn a special bonus (perhaps a small percentage bump in their grade or a healthy snack).
I don't want grades to become a preoccupation in class (you are, after all, all graduate students). Be passionate. Put in the effort. Be prepared. And I think you will do well. You can always email me or visit me in my office to discuss how you're doing.
In this class, I want a focus on learning. Really--that is most important. However, I want to be clear, late assignments do affect us: they increase my workload by adding to the logistical overhead of tracking and grading late assignments but, most importantly, they negatively affect the dynamics of the class. There is a strong emphasis on showing and discussing our created artifacts. It's truly a loss if you cannot take part in this because you are late on something. This is even more problematic with the paired mini-projects and semester project. You really don't want to be late with these.
So, I think we need two different late assignment paradigms. For the paired mini-assignments and the semester project, I will simply not accept a late assignment. You will demonstrate what you have to the class on "show-and-tell" days and I'll assign a grade based on whatever state it's in at that point. For the individual assignments (of which there may only be one or two more), each person gets a one day grace period; however, you can only use this once. Each late day will be assigned a 10% penalty starting from the minute after the due date and time (including weekends).
Finally, I should say, these are guidelines which I expect to enforce in a large majority of cases but I retain the ability to make exceptions on a case-by-case basis.
Thanks to the students, faculty, and staff of the HCIL back in the summer of 2012 who helped me setup the HCIL Hackerspace. Thanks to Professor Tom Yeh for donating the Makerbot Replicator 3D-printer, Sparkfun.com for donating some equipment, Steve Hodges at Microsoft Research for donating .NET Gadgeteer Kits, John Krumm for faciliating Microsoft donations of Kinects for Windows, and the students who are helping me build this course as we go along. To learn more about the inspirations for this class,
help on how to format text
Turn off "Getting Started"