Skip to content

Latest commit

 

History

History
319 lines (236 loc) · 17.1 KB

README.md

File metadata and controls

319 lines (236 loc) · 17.1 KB

CODE YOUR WAY

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

Schedule and Assignments

Part 1: Process and Skills

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

Part 2: Independent Project Development

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

Syllabus

Contents

Course Description

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.

Learning Objectives

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.

Format

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.

Community Guidelines

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.

Communication and Support

Inside of class

During class, we will use our Miro board, a free and online whiteboard with chat functionality to collaborate and share resources.

Outside of class

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

Support

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.

Assessment and Evaluation

Course assessments take the form of weekly assignments, a final project, and participation and attendance. Check the schedule above for links to the assignments.

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

Grading

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.

Extensions

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

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.

Policies

AI Guidelines

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

Citation Guidelines

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.

Participation

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.

Absences

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.

Lateness

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.

Statements

Land Acknowledgement

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

Statement Of Principle

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.

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.

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

Accessibility

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

Counseling and Wellness

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

Title IX

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

Use of Electronic Devices

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.