Seeing Machines

ITP Fall 2023
Tuesdays 6:00pm - 8:30pm
370 Jay St, Room 450

Professor: Elie Zananiri
Contact Email: [email protected]
Office Hours: Tuesdays 5:00pm-6:00pm by appointment
Discord Server: https://discord.gg/NGMGbjK8w3

Overview

A programming course where we’ll explore various techniques and solutions for tracking and sensing people or objects in space. Students will get familiar with the terminology and algorithms behind many sensing topics such as computer vision, depth cameras, positional tracking, and coordinate mapping. As these subjects are explored, we will also dig into communication, and how this information can be transmitted from one tool to another, for example using OSC, Spout/Syphon, MIDI, DMX/ArtNet. The goal being to use the right tool for the job and not limit ourselves to a particular piece of software.

We will mainly be working in C++ using the openFrameworks toolkit. C++ can be intimidating at first, but it is a fast, widely used, general purpose language that is worth the effort and rewarding, especially for this topic. Students are not expected to have prior experience with C++ or openFrameworks, but are required to have some programming experience and enjoy coding. You should come into the course knowing what a variable, function, class, array, and for loop is 🤓.

The first classes will consist of theory and in-class exercises covering these techniques, and remaining classes will be dedicated to a special project, which should use a combination of what we’ve learned to create a new work. Students will work in small groups to build this special project, but we’ll review proposals, milestones, and work in progress collectively on every class, encouraging discussion and collaboration.

This is the third time this class is taught. It is (and probably always will be) a work in progress, so please let me know if there is any topic you would like to cover!

Objectives

  • Gain understanding of the various ways a computer system can “sense” its environment.
  • Dive into the technical details to implement sensing systems.
  • Become familiar with the distinct features of the languages and tools available to the programmer.
  • Learn to use communication protocols to share data between different tools.
  • Build cool projects.

Evaluation

You should be an active participant in the class.

  • Show up on time and pay attention.
  • Ask questions, show work, participate in discussions.

There will be 4 assignments for the first part of the semester.

  • Assignments should be completed individually.
  • The objective of these is to make sure you understand what is covered in the class and get your hands dirty.
  • If you are familiar with the techniques explored, get out of your comfort zone!
  • Assignments will have an open-ended component and creativity is encouraged.

The second part of the semester will be dedicated to a larger project.

  • Projects should be created by teams of 2 students.
  • The objective is to build a fully fleshed out interactive, which can take the shape of an artwork, a performance, an installation, etc.
  • Be prepared to show progress every week, starting with a proposal, progress milestones every week, and a final presentation of a working project on the last class.

The evaluation breakdown is as follows:

On-time Participation20%
Assignments40%
Final Project40%

Pass/Fail means that anything below 80% is a fail.

I will notify you ahead of time if you are at risk of failing, and you can reach out to me at any time if you are concerned about your standing in the class.

Schedule

DateTopicAssignmentRecordings
PrologueGetting Started
Sep 5Foreword
Intro to openFrameworks
AUDIO
VIDEO
Sep 12Data Types
Arrays
Images and Video
Assignment 1 OUTAUDIO
VIDEO
Sep 19Computer VisionAssignment 1 DUE
Assignment 2 OUT
AUDIO
VIDEO
Sep 26Intro to OpenCV
Object Tracking
AUDIO
VIDEO
Oct 3Logging
Depth Sensing
Assignment 2 DUE
Assignment 3 OUT
AUDIO
VIDEO
Oct 10
Oct 17Pointers
Depth Images
AUDIO
VIDEO
Oct 24Depth WorldAssignment 3 DUEAUDIO
VIDEO
Oct 31Networking
Texture Sharing
Assignment 4 OUTAUDIO
VIDEO
Nov 7Draw Bounds
Frame Buffers
AUDIO
VIDEO
Nov 14Classes
Mapping
Assignment 4 DUE
Final Project OUT
AUDIO
VIDEO
Nov 21Project Proposals
Mobile Development
Project Proposal DUEAUDIO
VIDEO
Nov 28Milestone Check-In
Machine Learning
Dec 5Milestone Check-In
Sound
Dec 12Final PresentationsFinal Project DUE

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 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.

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, which can be found online at: http://students.tisch.nyu.edu/page/home.html

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.

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.

Use of Electronic Devices

Laptops will be an essential part of the course and may be used in class during workshops and for taking notes in lecture. Laptops must be closed during class discussions and student presentations. Phone use in class is strictly prohibited unless directly related to a presentation of your own work or if you are asked to do so as part of the curriculum.

Title IX

Tisch School of the Arts to dedicated to providing its students with a learning environment that is rigorous, respectful, supportive and nurturing so that they can engage in the free exchange of ideas and commit themselves fully to the study of their discipline. To that end Tisch is committed to enforcing University policies prohibiting all forms of sexual misconduct as well as discrimination on the basis of sex and gender. Detailed information regarding these policies and the resources that are available to students through the Title IX office can be found by using the following link: Title IX at NYU.