Syllabus Version: 1.8
Number: INTM-SHU 101
Class Hours per Week: 2.5
Semester: Fall 2018
Room Number: 825
Documentation Blog: http://ima.nyu.sh/documentation/
Instructor: Rodolfo Cossovich
Instructor: Leon Lu
Instructor: Eric Parren
Instructor: Marcela Godoy
In this course students will be asked to think beyond the conventional forms of human computer interaction (i.e. the keyboard and mouse) to develop interfaces that consider the entire body, the body’s capacity for gesture, as well as the relationship between the body and it’s environment. Students will learn the fundamentals of electronics and programming as they build projects using the Arduino microcontroller platform. Arduino is a small computer based on open source hardware and software. When used in conjunction with various sensors and actuators, Arduino is capable of gathering information about and acting upon the physical world. In addition to these physical computing techniques, students will also learn to harness the methods of traditional computation. The fundamentals of programming: variables, conditionals, iteration, functions and objects, will be explored through the use of the Processing programming language. Students will gain a deeper appreciation of the expressive possibilities of computation as they learn to author their own software, and not simply use that which has been provided to them. Additional topics will include digital modeling and fabrication using 3D printers and laser cutters, the manipulation, presentation, and exchange of data, algorithmic drawing and animation techniques, as well as control of images, video, and audio. Structured weekly exercises are aimed at building specific skills, however students are free to pursue their own diverse interests in their midterm and final projects.
- Week 1: Introduction + Electricity, Circuits & Electrical Components
- Week 2: Microcontrollers & Arduino + Digital & Analog Inputs & Outputs
- Week 3: Conditionals, Iteration & Functions + Sensors and Actuators
- Week 4: Project Planning + DC Motor Control + Group Project Presentations
- Week 5: Stepper Motor Control and High Current Loads
- Week 6: Digital Design + Digital Fabrication
- Week 7: Interaction Design & User Testing + Midterm Projects User Testing
- Week 8: Midterm Presentations + Processing & Drawing
- Week 9: Processing Animation & Variables + Loops, Arrays, Functions
- Week 10: Mouse & Keyboard Interaction + Objects (OOP) & ArrayLists
- Week 11: Serial Communication
- Week 12: Final Project Proposal
- Week 13: Images and Video + Pixel Manipulation
- Week 14: Sound in Processing + Final Projects User Testing
- Week 15: Final Project Presentations
Classes begin promptly at the scheduled start time. Please arrive early so as not to be late. This class will be highly participatory with lectures being very conversational. You are invited and expected to contribute to in-class discussions.
Recreational use of phones, music players, video game systems and other portable electronic devices is forbidden. Laptops are allowed for note taking, in class work, as well as relevant research only. Activities not related to the class, such as recreational browsing of the internet, including all social media websites, email and instant messaging, game playing, and work for other classes, will not be permitted. Such activities are disrespectful to the instructor and distracting to others. Your laptop should always be closed whenever a fellow student is presenting.
At the completion of this course students will be able to demonstrate a basic understanding of:
- electricity and electrical components
- analog and digital inputs and outputs on micro-controllers
- fundamental programming concepts: variables, conditionals and iteration
- programmatic methods for drawing and animation
- code organization techniques: functions and objects
- screen based and physical interaction design principles
- programmatic methods for the manipulation of images, audio and video
- data formats, data manipulation and data visualization
- serial communication
Below you will see a breakdown that determines the grades. When grading, instructors will use the rubric described in this document.
- 20% Attendance and Participation
- 20% Exercises & Documentation
- 10% Research Project
- 20% Midterm Project
- 30% Final Project
Attendance & Participation
Attendance in all class sessions is mandatory. Unexcused absences or lateness will adversely affect your grade. NYU policy does permit members of any religious group to absent themselves from classes without penalty when required for compliance with their religious obligations. If you are going to miss a class, it is your responsibility to make up the material you miss. Please let the instructor know ahead of time so that he/she can help you determine how to make up the material.
Your participation in this class is essential. Not only does it allow the instructor to gauge your interests and get to know you as an individual, but it also allows the instructor to asses your understanding of important concepts. It also provides the instructor with an opportunity to learn from your work. As a result, attendance and participation make up a meaningful percentage of your grade. Unexcused absence in more than three classes and / or labs will result in a failing grade.
Exercises & Documentation
Exercises are defined in the weekly schedule and vary weekly depending on the topics covered in class. All exercises are required, and should be documented on the documentation blog. Undocumented work will not be considered complete.
Research Project (Group)
Step 1: After reflecting on the readings from week 1 to week 3, propose your own definition of “interaction”. Do some research and analyze two interactive projects: one that you like and one that you dislike. Here are some websites that you can explore to find projects:
Step 2: Share your research with your group and discuss your ideas of interaction. After discussing and reflecting on what interaction is, design an interactive device which will be used in the year 2118. Prototype it using cardboard, recycled materials, or toys. No electronics or advanced technology is allowed. During recitation on Friday Sept 28, every group will demonstrate the experience of using their device via a performance that clearly shows how people interact with that device. During this 5 minutes performance, every member of the group must actively participate.
Step 3: Individually, post to the blog what your own definition of “interaction” is, as well as the two projects that you selected. Explain why you liked one and why you didn’t like the other. Finally describe and explain the idea for the interactive device you designed with your group. Indicate how this proposal derives from, responds to, or relates in some significant manner to, your critique of the established form of interaction or specific interactive experience you addressed above. Explain your response.
Explore Arduino by creating a small interactive project that does something useful, interesting, or entertaining. Try to illustrate your understanding of the fundamental concepts covered in class, not only in your project but also in your process. Be sure that for the stages of planning or production of your project you utilize at least one digital method that you learned in the digital fabrication classes. Document your work thoroughly on the documentation blog. You will work with a single partner from your lecture section. Both of you should document the work individually and know about the work done in the project. Midterm projects presentations are due the week of October 22-28, 2018. The blog post is due the week after, ask your professor the exact deadline for this. This blog post is not a documentation post, please see the guidelines for the blog post in this link.
Create an interactive system of your choice using Processing and Arduino. Focus on careful and timely sensing of the relevant actions of the audience that you’re designing for and on prompt, clear and effective response. Any interactive project is going to involve listening, thinking and communicating. Whether it involves one cycle or many, the interaction should be engaging for your audience.
Begin the process by writing an approximately 300-400 word essay* in which you provide a definition of interaction in your own words, as well as a reflexion on how this definition has evolved over your journey through this class. You might reference at least one author from the readings provided during the semester, in order to support your statement. Propose what you would like to do for your Final Project, and critique an established form of interaction or specific interactive experience that relates to your final project. Post it to the documentation blog by Friday November 16, 2018. Also, create a Concept Presentation for your Final Project and prepare to present.
Be sure to document your process and project thoroughly on the documentation blog. Include details about all phases of research and development, both successes and failures. You may work alone or in groups of two, but always post individually on the blog. Final projects are due the week of December 10-16, 2018. Final Blog Post of your final project is due Tuesday December 18.
* Follow these guidelines to help you in the process of developing your project and writing this essay.
Title: Getting Started with Arduino
Author: Massimo Banzi
Publication Date: December, 2014
Title: Getting Started with Processing
Author: Casey Reas and Ben Fry
Publication Date: September, 2015
Title: Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction
Author: Daniel Shiffman
Publisher: Morgan Kaufmann
Publication Date: September 2, 2008
Additional required readings will be supplied in the coursepack, online, or as electronic documents.
In order to have access to IMA equipment, you MUST attend IMA orientation at the beginning of each semester. The IMA Equip website lists equipment that is available for checkout and can be found here: http://ima.nyu.sh/equip/