Note: this syllabus is subject to change

Course number: IM-UH 1010
Credits Hours: 4
Class Location: IM Lab C3-029 Arts Center
Recommended Prerequisites: None

Professor: Aaron Sherwood
Section 001: Tuesday 12:45pm – 3:25pm and Thursday 12:45pm – 2:00pm
Office Hours:

Professor: Aya Riad
Section 002: Tuesday 3:35pm – 4:50pm and Thursday 3:35pm – 6:15pm
Section 003: Monday 3:35pm – 6:15pm and Wednesday 5:00pm – 6:15pm
Office Hours: By appointment

With the advent of digital computation, humans have found a variety of new tools for self expression and communication. However, most of the interfaces to these toolsets are created with a computer in mind, not taking into account humanistic needs of design and usability. Additionally, computers have traditionally lacked knowledge of the richness of the physical world. As such, their understanding of our needs has been informed by click and taps, seeing the world as a binary system of on or off.

This course explores creative computation through software and hardware.  By approaching software and hardware design as artists and designers with an emphasis on human-based factors, we can explore new paradigms of interaction with machines and each other. Using open source software environments and open hardware platforms, we will look at way of making these tools work for us. No background in programming or electronics is expected. A sense of play, desire to experiment, and a DIY attitude is strongly encouraged.

Learning outcomes:
Students who successfully complete this course will be able to :

    • Think critically about interaction design principles for hardware (physical) and software (screen-based) interfaces (PLOs: 1, 2)
    • Work with basic electronics, including analog and digital sensors and actuators (PLOs: 5, 6)
    • Understand and be able to implement basic principles of computer programming, including working with objects and classes (PLOs: 2, 5, 6)
    • Use a computer as a tool for self-expression (PLOs: 1, 2, 3, 5, 6)
    • Bring information about the physical world (such as light, pressure, temperature) into the computer and process it in an interesting fashion (PLOs: 3, 5, 6)

Teaching methodology:
This course is a production-based class. You will be doing work in and outside of the class that is ideally experimental, participatory, and collaborative. In lab classes, we will review topics like programming techniques and circuit design, while non-lab class days will be given over to lecture and discussion based on readings, videos, audio, and interactive works found primarily online.

You do not need to prove your brilliance, but do prove your  intellectual engagement and curiosity.

Grading Rubrics:

Overall Grade:

    • 20% Attendance & participation (Rubric)
    • 30% Weekly assignments (Rubric)
    • 20% Midterm (Rubric)
    • 30% Final project (Rubric)

Grading Calculation (Spring 2024 and earlier):

    • A 95+
    • A- 88 – 94
    • B+ 83 – 87
    • 75 – 82
    • B- 70 – 74
    • C+ 65 – 69

Grading Calculation (starting Fall 2024):

    • A 95+
    • A- 90+
    • B+ 87+
    • B 83+
    • B- 80+
    • C+ 77+
    • 73+
    • C- 70+
    • D+ 67+
    • D 63+
    • F 0+

Weekly Production Assignments (Rubric):

    • 5 pts – Completion
    • 5 pts – Quality
    • 5 pts – Documentation
    • Total / 15 pts
  1. Documentation Posts:
    • Clear story should be told with pictures, text, code, video, sketches, etc.
    • Minus 1pt each day late, not accepted more than 5 days late

Midterm and Final projects (Rubric):

    • 5 pts Technical Implementation – code design, implementation, comments
    • 5 pts Creativity
    • 5 pts Interaction design (is clear to user what they are controlling, discoverability, use of signifiers, use of cognitive mapping, etc.)
    • 5 pts Consistency of Interaction (the desired result happens consistently)
    • 5 pts Documentation
    • Total / 25 pts
    • Minus 2 pts for each day late, not accepted more than 5 days late

Every week you will have an assignment. Some of the time it will be reading, some of the time it will be practical.

Each week lab there’s a “walk-through” element that will be covered in class, which you are expected to do on your own, and an improvisational aspect, where you take the lesson and make something unique and interesting based on the in-class review. We will spend time in each class reviewing your work, and using this as an opportunity to review concepts that are unclear, or investigate solutions to common problems. Expect to be asked to show your work every time we meet. Some classes everyone may demonstrate their work, other classes only a few students may, but always be prepared.

All of your work must be documented on the class blog (see below for details) and posted before the class starts on the date the assignment is due. Each day late is 1 pt off the grade for that assignment (2 pts per day for midterm / final).

Project documentation (blog posts):
You are expected to contribute to our shared online journal. The purpose of the journal is twofold. First, it is a valuable way for you to communicate to me that you are keeping up with the work in the class. I read the site to see how you are doing. At a minimum, reference to your work is expected, as well as reference to the readings, and thorough documentation of any research. Secondly, the journal is a way to document your work for your own use and that of others.

You must update the journal weekly with the work you have done for class. All weekly assignments, as well as the midterm and final projects, require documentation.

Document your projects thoroughly as you go; don’t put it off until the end.  Photos, video, drawings, schematics, and notes are all valuable forms of documentation. Explain the project at the beginning of your documentation, so that people who come to your site from outside this class can understand your work quickly.

Use pictures, drawings, and videos liberally to explain your work. Don’t directly upload videos to WordPress. Use Vimeo, Youtube, or another video hosting site and embed the video in your post.

See here how to embed your P5js sketch directly into your post:

Don’t overload your notes with code.  Code repositories like Github are best for sharing code, rather than blogs, so post your code to a repository and link to it from your blog. When you base your code on someone else’s code, cite the original author and link to their code, just as you would when quoting another author in a paper. If you only changed one part of an existing program, post only the part you changed, and link to the original. Make sure any code you post is well-commented, so you and others can understand what it does.

Always cite the sources of your code, the places you learned techniques from, and the inspirations of your ideas. Copying code or techniques without attribution is plagiarism.  Few ideas come out of the blue, and your readers can learn a lot from the sources from which you learned and by which you were inspired. So be generous in sharing your sources.

Good documentation should include a description and illustration of your project. You should include what it looks like, what it does, what the user or participant does in response. When it’s interactive, mention and show what the user does. Your explanation should give enough information that someone who’s never seen the project can understand it.

You should also include a section describing how the project works, aimed at a more informed reader (your instructor, or next year’s classmates). Include a system diagram to make clear what the major components of the system are and how they communicate.

Here is an example of good weekly documentation:

The writing is expected to be well reasoned, grammatically correct, and written as if it were a paper being turned in. You should link to any relevant sources, and provide as much context as you can using images, video, audio, or other forms of expression. I’ll set you all up with an account on the first day of class.

Here’s some excellent final project documentation 

Readings – Written Responses & Group Discussions (Rubric):
Throughout the semester there will be readings assigned. You are expected to individually provide a written response critically addressing the reading and documenting it in a blog post on WordPress titled ‘Reading Reflection – Week#’. Your weekly reflection should be two paragraphs (about half a page). Do not summarize the reading! Your assignment is to reflect on the reading. What evidence can you bring to support or conflict with the points made in the reading? Is the author biased and why do you think so? Has the reading changed any of your beliefs? How so? Does the reading raise any questions for you? What are they? For each reading a discussion will take place in class in small groups. Each student will ask the other students in their group questions and engage each other in critical discussion of the themes of the reading. You should share and discuss your individual responses and opinions on the topic.

Use of machine generated (AI) responses is not allowed. The purpose of the readings is for you to absorb the information, have your own personal response, develop your own ideas, and learn to communicate them in your own voice. You need to develop your own ideas and write your own words.

Instructions for discussion:

    • Be aware if you tend to speak up first and more than others, or if you tend to not speak first or much at all. If you are in the “speak more” category, try to wait before raising your hand to allow quieter people the chance to speak up. If you are in the “speak less” category, consciously make an effort to step out of your comfort zone and speak up. It becomes easier with repetition and time!
    • Be empowered to speak up, your voice is valuable!
    • Don’t repeat what someone has already said. Offer new ideas or questions.
  • Generative AI:

You are welcome to use generative AI tools (e.g. ChatGPT, Dall-e, etc.) in this class to help solve code problems, to brainstorm ideas, and to help edit blog posts, or as an intrinsic part of a project (limited, and with permission). You are NOT allowed to use AI to write a blog post, paper, presentation, code, or reading response from scratch. You are responsible for the information submitted based on an AI query (for instance, that it does not violate intellectual property laws, or contain misinformation or unethical content). Your use of AI tools must be properly documented and cited.

Final Project (Rubric):

Create a physically interactive system of your choice that relies on a multimedia computer for some sort of processing or data analysis. The Final should use BOTH Processing AND Arduino.

Your focus should be on careful and timely sensing of the relevant actions of the person or people that you’re designing this for, and on clear, prompt, and effective responses. Any interactive system is going to involve systems of listening, thinking, and speaking from both parties. Whether it involves one cycle or many, the exchange should be engaging.

Each student makes their own individual final project.

A few examples:

Musical Instruments. Performing music involves a sustained engagement between the performer and the instrument. The feedback from the instrument has to be immediate and clear in order for the performer to continue playing. The interface has to be flexible so that the musician can exercise her creativity in playing, but has to have some boundaries so that she knows what the instrument can do and what it can’t do.

Game interfaces. Like musical instruments, they involve constant back-and-forth interaction and immediate response. They are often simpler than musical instruments. In fact, the standard game controller has gotten so standard that the action of many games is artificially adapted to the needs of the controller, not the physical expressiveness of the player. Pick a specific game and see if you can change that.

Assistive devices. Whether it’s something as simple as a reaching device or something more complex, these devices are very demanding of clear, reliable response.

Remote control systems. They require not only a clear interface, but must also return enough information on the remote system’s action to let you know that you’re doing the right thing. Whether it’s a remote controller for your home electrical devices or a Mars rover controller, the need for clarity and good feedback are equally essential to the person who it’s made for.

There are many other good applications for this project. Discuss the specifics of yours with me!

Attendance (Rubric)

  • Attendance in all classes is mandatory. Be on time and ready to start work at the posted start time.
  • Two late arrivals equal one unexcused absence.
  • Arriving more than ten minutes late to class will count as an unexcused absence. 
  • Unexcused absences or habitual lateness will negatively impact your final grade for the class.
  • Four or more unexcused absences will result in a failing grade for the class.
  • If you know you are going to be late or absent, please email me in advance. If you have an emergency, let me know as soon as you can. To receive an excused absence, you must ask in advance, and receive permission from me.

Participation (Rubric)

Engaging in the class discussion, and offering advice and input in the class is a major part of your grade. participating in class discussions is helpful for me to get to know you as an individual and keep track of your progress, but most importantly, it provides you and your classmates with the opportunity to share failures, successes, and insights on the work you are doing.

You are expected to show work in class. This includes working prototypes, failed assignments, things that don’t work the way you expect, and so forth. Each week some time is given over to your work, expect to be called on and show something. Don’t be afraid to volunteer to show what you did, or failed to do.

If you do not ask questions, I can only assume you understand the material completely. Asking questions about concepts you do not understand and showing work that did not function as expected is not a sign of failure, it is an opportunity to learn.

Laptop use is fine if you are using your laptop to present in class, or if we’re in the middle of an exercise that makes use of it. Whenever classmates are presenting or we’re in the midst of a class discussion, please keep your laptop closed. The quality of the class depends in large part on your attention and active participation, so please respect that and close your lid.

Have your camera turned on during class so we can all see each other. This really helps the cohesion of the class while we are doing remote learning. If you have a special reason why you need to have your camera turned off please email me with the details of why and we can discuss.

Mobile Phones:
Do not use your phone in class unless it is part of the lesson. If you have an emergency that requires you to answer your phone during class, please tell me ahead of time.

Required Tools
Sparkfun Inventors Kit (will be provided to you in the IM Lab)

Required tool training

Tool training is required to use most of the tools in the IM Lab (drills, saws, etc) and is required for students of Intro to IM. The tool training is generally done during class time with Lab Instructor support. For details of the lab tools please see the Interactive Media IM Lab Resources page.

Required Software

Recommended books
Title: Getting Started with Arduino
Author: Massimo Banzi and Michael Shiloh
ISBN: 978-1449363338
Publisher: Make Community, LLC
Publication Date: January 6, 2015 Edition: 3rd

Title: Arduino Cookbook
Author: Michael Margolis
ISBN: 1449313876
Publisher: O’Reilly Media; Second Edition Publication Date: 2011

Title: Make Electronics Author: Charles Platt
ISBN: 0596153740
Publisher: Make Publication Date: 2009

Title: Making Things Talk 2ed
Author: Tom Igoe
ISBN: 1449392431 Publisher: Make
Publication Date: 2011

Title: Making Things Move
Author: Dustyn Roberts
ISBN: 0071741674
Publisher: McGraw-Hill/TAB Electronics Publication Date: 2010

Recommended tools
Hardware : basic hand tools like pliers, screwdrivers, wire cutters, wire strippers.
Software : tinkercad

Academic integrity

At NYU Abu Dhabi, a commitment to excellence, fairness, honesty, and respect within and outside the classroom is essential to maintaining the integrity of our community. By accepting membership in this community, students, faculty, and staff take responsibility for demonstrating these values in their own conduct and for recognizing and supporting these values in others. In turn, these values create a campus climate that encourages the free exchange of ideas, promotes scholarly excellence through active and creative thought, and allows community members to achieve and be recognized for achieving their highest potential. As part of the NYU global network, NYUAD students are also subject to NYU’s all-school policy on Academic Integrity for Students at NYU. Alleged integrity violations are resolved using NYUAD’s Academic Integrity Procedure.

Moses Center for Student Accessibility (CSA)

New York University is committed to providing equal educational opportunity and participation for students with disabilities. CSA works with students to determine appropriate and reasonable accommodations that support equal access to a world-class education. Confidentiality is of the utmost importance. Disability-related information is never disclosed without student permission. If you have any questions or would like to have further information about the Moses Center, please visit the following link.

Health Resources

As a University student, you may experience a range of issues that can interfere with your ability to perform academically or impact your daily functioning, such as heightened stress, anxiety, difficulty concentrating, sleep disturbance, strained relationships, grief and loss, personal struggles. If you have any well-being or mental health concerns please visit the Counseling Center on the ground floor of the campus center from 9am-5pm, Monday – Friday, or schedule an appointment to meet with a counselor by calling: 02-628-8100, or emailing: . If you require mental health support outside of these hours, call NYU’s Wellness Exchange hotline at 02-628-5555, which is available 24 hours a day, 7 days a week. You can also utilize the Wellness Exchange mobile chat feature, details of which you can find on the student portal. These services are available remotely for students studying outside of the UAE.