ITPG-GT 3007 • Interactive Telecommunications Program (ITP) • NYU Tisch School of the Arts • Spring 2025
*This is a living document and subject to change
Course Information | |
---|---|
Meeting Time | Mon 9:30am - 12:00pm ET |
Location | 370 Jay Street Brooklyn • Room 407 |
Contact | [email protected] On weekdays I aim to respond within 24 hours between 8:00am - 5:00pm |
Student Hours | Monday 1:00pm – 4:00pm Sign up here or email for other times |
Extra Support | Resident office hours (schedule) The Coding Lab (schedule or drop-in help) How to ask code-related questions |
Quick Links | Submit assignments Assignment responses Our Miro Board Our Google Drive folder |
Date | Week | Assignment |
---|---|---|
Jan 27 | Week 1 | Pseudocoding / Looping Animations |
Feb 3 | Week 2 | Debugging / Visual Studio Code / Unpredictability |
Feb 10 | Week 3 | Pair Programming / GitHub Copilot / Iterative Patterns 1 |
Feb 17 | No Class | Presidents’ Day |
Feb 18 | Week 4 | (Tuesday) Version Control 1 / Iterative Patterns 2 |
Feb 24 | Week 5 | Version Control 2 / Parametric Geometries |
Mar 3 | Week 6 | Version Control 3 / Refactoring |
Mar 10 | Week 7 | Version Control 4 / Project Planning |
Date | Week | Assignment |
---|---|---|
Mar 17 | Week 8 | Project Proposals |
Mar 24 | No Class | Spring Break |
Mar-Apr | Weeks 9-13 | Project Development |
May 5 | Week 14 | Presentations |
- Course Description
- Learning Objectives
- Format
- Community Guidelines
- Communication and Support
- Assessment and Evaluation
- Policies
- Statements
This course provides students an opportunity to sharpen their coding skills in several ways: by reviewing fundamental programming concepts, acquiring techniques to systematically develop code-driven projects, and then implementing those to develop an independent project with the structure and support of a classroom learning community.
The first part of the semester consists of weekly exercises to practice strategies for learning new algorithms, writing pseudocode, debugging, refactoring, version control, generative AI, and more. Screen-based code examples for the activities and assignments draw inspiration from the history of creative coding. The second part of the semester shifts to a project development studio format for students to apply these strategies to a self-directed project. This could be an existing idea or one devised during the course.
Ultimately this course aims to empower students to reflect on their process and teach themselves how to program with greater efficiency and independence. It is a direct follow-up to Introduction to Computational Media (ICM) or for anyone interested in advancing their coding practice.
Examples and exercises will be provided in JavaScript using the p5.js library. However, students are welcome to consult the instructor about working with another programming library, framework, or language with which they have interest or prior experience. Prerequisite: ICM or equivalent experience.
Upon completion of this course, we will be able to:
- identify gaps in our understanding about coding concepts for further review and practice;
- explain techniques to debug and refactor our programs;
- apply these techniques to troubleshoot and optimize existing or new code;
- track and store revisions to our programs using a dedicated version control system;
- compare approaches for designing and developing code-based projects;
- outline a plan to independently create such a project;
- integrate any relevant technical concepts and strategies necessary to complete it.
This is a 14-week course that meets once a week in person. Class time is divided into individual and group exercises, studio time, opportunities for project development, sharing assignments, and exchanging feedback. Weekly skill exercises target approaches and techniques for developing projects with code. Studio is multipurpose time to work on assignments (individually or in small groups), to share skills and resources, to review topics, and to conference with the instructor.
In keeping with the ITP/IMA Code of Conduct, this course is committed to providing an inclusive, welcoming, and harassment-free space for everyone in our community. Harassment or discrimination in any form will not be tolerated, and this applies to any interactions and content.
During class, we will use our Miro board, a free and online whiteboard with chat functionality to collaborate and share resources.
- You must check your NYU email for important updates about class.
- You are welcome to attend Student Hours in person or on Zoom (sign up above).
- Use our course website here on GitHub to check the schedule (updated as needed based on our pace and interests), assignments, and links to course materials including resources in Google Drive.
Your success in this class is important to me. We all learn differently and require different kinds of accommodations. If there are aspects of this course that prevent you from learning or exclude you in any way, I invite you to communicate this with me. Together we’ll develop strategies to meet both your needs and the requirements of the course.
In addition, if you ever feel that you are struggling with the material or falling behind for other reasons, please reach out to me, and we'll work together to ensure that you have proper support.
When in doubt, it’s ALWAYS better to contact me sooner rather than later about attendance, assignments, or anything else on your mind.
Course assessments take the form of weekly assignments, a final project, and participation and attendance. Check the schedule above for links to the assignments.
We will have weekly assignments that are relevant to material from the previous class, and you should be prepared to share and talk about them in class. It is expected that everyone in our class will create and maintain a blog (or Notion, Google Doc, etc.) for their assignments.
All assignments are required, and unless otherwise stated, are due the night before our class meets, one (1) week after they are assigned unless stated otherwise. If you anticipate any challenges meeting the assignment deadlines, please reach out to me so that we can consider your options together.
The course culminates with a final independent project. You are expected to push your abilities to produce something that utilizes what you have learned in the course that is useful in some manner to yourself or the world.
Each assignment will be marked as complete (full credit), partially complete (half credit), or incomplete (no credit). To be complete, an assignment should meet the criteria specified in the assignment description including documentation. If significant portions are simply not attempted it may be marked partially complete. If an attempt isn’t made to meet the criteria specified it will be marked incomplete.
An assignment extension may be granted upon request. If you request an extension before the due date, your grade will not be affected. However, if you do not request an extension, the grading rules above apply. Please clarify with me, and we'll set a deadline together. The recommended timeline is one (1) to five (5) days.
Note: There may be instances where having an extension may result in not being able to participate fully in activities such as feedback sessions or workshopping ideas/projects, which likely cannot be made up if it could disrupt the overall course schedule. Extensions are distributed at the discretion of the instructor.
Final course evaluation will be based on participation and attendance, and the completion of all assignments, including the final independent project, according to this breakdown:
- 30% Participation and attendance
- 50% Weekly assignments
- 20% Independent project
This class uses a Pass/Fail grading system. A Pass is equivalent to an A or a B grade, and anything less is considered a Fail.
The emergence of generative AI tools, such as Open AI's ChatGPT and Anthropic's Claude, is exciting for creative coders. We can use these tools to brainstorm ideas, to write code snippets or entire solutions for our projects, as well as to debug our programs and explain technical concepts. These tools are increasingly sophisticated, and we should learn how to effectively use them. However, we must use such tools responsibly not just because of their limitations (randomness, bias, incorrect information, privacy, copyrighted material) but also, if you are still new to creating with code, overreliance on AI and without critical reflection can potentially hinder independent thinking, creativity, and dull understanding. Our goal is to learn how to use these tools enhance these, not hinder. To this end we will intentionally experiment with generative AI tools for some assignments and activities, but not all, to meet our course learning objectives. When use of the tool is allowed, it will be explicitly noted in the directions. You are responsible for all parts of an assignment; if an AI tool violates intellectual property laws or contain misinformation or unethical content, it is your responsibility to find and fix the errors before submitting. When you use generative AI tools for any part of your assignment (from idea generation to code generation to program debugging), document how and why you used the tool in accordance with our Citation Guidelines.
Adapted from the NYU Faculty Use of Generative AI in Coursework: Frequently Asked Questions (PDF) and related university resources: Instructor Generative AI Guides and Student Learning with Generative AI
In accordance with the Statement of Academic Integrity, you are expected to cite your sources and note how you used them. For code references, a link to the online source along with a brief description will suffice. If you use any generative AI tools, e.g. ChatGPT, Claude, Gemini, Copilot, etc., please include the model name and version with description of why and how you used the tool.
This class is highly participatory, and there are many ways to demonstrate your engagement with the course material and with your peers:
- show up on time with an open mind;
- contribute to class discussion;
- ask and answer questions, especially to and from your peers;
- share your assignments and progress with the class;
- engage in group exercises with curiosity and enthusiasm;
- help your peers by sharing your knowledge and experience;
- attend Student Hours for review and/or enrichment.
Attendance is mandatory. If you think you will be absent, please contact me before class unless circumstances make this truly impossible.
There are no excused absences or unexcused absences. There are only absences.
Once you are enrolled in the course, any more than two (2) absences will affect your grade.
You are expected to arrive to class on time and be ready to start at 9:30am ET. Two (2) late arrivals (more than 10 minutes after start time) will count as one (1) absence.
We are gathered on the unceded land of the Lenape and Canarsie peoples and acknowledge the Lenape and Canarsie communities, their elders both past and present, as well as future generations.
Excerpt from the ITP/IMA Code of Conduct Community Statement
Teachers and students work together to create a supportive learning environment. The educational experience in the classroom is one that is enhanced by integrating varying perspectives and learning modes brought by students.
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.
Collaboration is highly valued and often necessary to produce great work. Students build their own work on that of other people and giving credit to the creator of the work you are incorporating into your own work is an act of integrity. Plagiarism, on the other hand, is a form of fraud. Proper acknowledgment and correct citation constitute the difference.
Link to the Tisch Student Handbook Link to Suggested Practices for Syllabus Accessibility Statements
It’s crucial for our community to create and uphold learning environments that empower students of all abilities. We are committed to creating an environment that enables open dialogue about the various temporary and long-term needs of students and participants for their academic success. We encourage all students and participants to discuss possible accommodations that would best support their learning with faculty and staff. Students may also contact the Moses Center for Student Accessibility (212-998-4980) for resources and support.
Link to the Moses Center for Student Accessibility
Your health and safety are a priority at NYU. Emphasizing the importance of the wellness of each individual within our community, students are encouraged to utilize the resources and support services available to them 24 hours a day, 7 days a week via the NYU Wellness Exchange Hotline at 212-443-9999. Additional support is available over email at [email protected] and within the NYU Wellness Exchange app.
Link to the NYU Counseling and Wellness Center
Tisch School of the Arts is 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:
Link to the NYU Title IX Office
Laptops and other electronic devices are essential tools for learning and interaction in classrooms. However, they can create distractions that hinder students' ability to actively participate and engage. Please be mindful of the ways in which these devices can affect the learning environment, please refrain from doing non-class oriented activities during class.