Creative Coding

Class page for IDM NYU DM-GY 6063

Syllabus
Weekly Schedule

View this Project on GitHub

NYU | Tandon School of Engineering
Integrated Design & Media

DM-GY 6063 | Creative Coding
Fall 2026

Important Dates (for this course)


Course Description

This course is an introductory programming class, appropriate for students with no prior programming experience. In this course, students will learn to think concurrently, modularly and critically about the creative potential of software. By its end, students are empowered to write and read code for event-driven, object-oriented, graphical user interfaces like websites, interactive installations, games and others.

Prerequisites

None.

Course Objectives

Students in this course will:


An Outline of the Course

We will meet in person for class once a week. During this time we will cover new topics on different aspects of creative programming through presentations, examples and short coding exercises.

We will also devote class time to review homework assignments and discuss assigned readings.

Some of the other class activities are discussed in detail below.

Assignments

You will have weekly programming homework assignments to further practice and develop the concepts covered in class. These will be simple exercises at first, but will get more substantial as the semester progresses. They won’t necessarily get more difficult, but will gradually become less prescriptive and allow for greater creative flexibility and experimentation.

Assignment submissions will be made through your github account.

Readings

Each week you will also read and respond to a short text about programming, technology, and/or social issues involving programming and technology.

We will have active discussions in class each week about these readings, and each of you will be expected to lead the conversation on a few weeks with a question or insight.

Final Project

Your final project will have you revisiting an earlier homework assignment and polishing, bringing it to the ‘next level’ you will have a few wweks to work on this at the end of the semester.

Participation

After each class, students will submit a short reaction text via Brigthspace, detailing any questions, or summarizing what they learned in the class. These are always due on the day after class.

Grading

The grade for this course will be determined according to the following:

Activity % of Final Grade
Weekly Assignments 45%
Weekly Reading Responses 20%
Class Participation 20%
Final Project 15%

Letter grades for the entire course will be assigned as follows:

Letter Grade Points Overall Percent
A 4.00 93% - 100%
A- 3.67 90% - 92.99%
B+ 3.33 87% - 89.99%
B 3.00 83% - 86.99%
B- 2.67 80% - 82.99%
C+ 2.33 77% - 79.99%
C 2.00 73% - 76.99%
C- 1.67 70% - 72.99%
D+ 1.33 67% - 69.99%
D 1.00 63% - 66.99%
D- .67 60% - 62.99%
F 0.00 0% - 59.99%

Expectations for Work Outside the Classroom

Students should expect to spend roughly 5 hours each week on supplemental work in this course. This may include reading, coding, writing responses, research, studying, etc.

Office Hours

I will be available outside of class each week to answer questions, help with assignments, chat about creative code, etc. on Wednesdays from 3pm-5pm by appointment.

If you have questions or need help with some aspect of the material, but are unable to attend these, send me an email and we’ll find a time to meet.

Required Materials

Textbooks

There are no books required to purchase for class. Required reading material will be distributed weekly in class.

Optional Textbooks

These books are excellent companions for the materials we’ll be covering:


Course Policies

Attendance

Your attendance is important and expected for all class meetings. Absences must be communicated ahead of time. Excessive absences will affect your final grade and can result in faliure of the course.

Each unexcused absence will impact your final grade by a third of a letter (ex. one unexcused absence will drop a final grade of A- to B+, two unexcused absences would drop that A- to a B). If you have 2 or more unexcused absences, you fail the course automatically.

If you’re more than 10 minutes late for class, you will be considered tardy. Two instances of tardiness = one unexcused absence.

Things happen and we all slip up sometimes. If you miss a class – let me know ASAP. I am generally understanding, but I always want to know what is going on.

Students may request special accommodations for an absence to be excused in the following cases:

If illness or an accident causes you to miss a class (or classes) or an exam, you should do the following:

Notify the Office of Student Advocacy by filling out this Google form in its entirety.

Late Assignments

Late work is not accepted.

“Incomplete” Grade

Under certain dire and unforeseen circumstances, like a critical emergency, a student may request an Incomplete/I grade. Faculty do not have the ability to give a grade of Incomplete without prior approval from the Office of Student Advocacy.

It is therefore the student’s responsibility to contact the student advocate and describe their circumstance requesting an incomplete. If this is granted, the advocate will reach out to the faculty member, who will work with the student to develop a detailed plan for completion which includes a specific end date.

Tech Etiquette

You’re welcome to use laptops/devices in class to take notes, work on exercises and look up references, but be mindful of other students and close laptops/devices during presentations and discussions. For context: Why I Just Asked My Students To Put Their Laptops Away.

Social Etiquette

These Social Rules from The Recurse Center should be kept in mind during class discussions, presentations, critiques:

Also, these observations from a discussion about ethics in tech are a helpful reminder:

“There is a general rule for comedy and art: always punch up, never punch down. We let comedians and artists and miscellaneous jesters do outrageous things as long as they obey this rule. You can poke fun at yourself, you can make a joke at the expense of someone with higher social status than you, but if you mock someone with lower status, it’s not cool.”

“If you make a joke, and people get really offended, it’s almost certainly because you violated this rule. People don’t get offended randomly. Explaining that ‘it was just a joke’ doesn’t help; everyone knows what a joke is. The problem is that you used a joke as a means of being an asshole.”

Be sensitive to what your classmates might find offensive, triggering or violent and be graceful and listen carefully when your work gets called out for being offensive, triggering or violent.

A Special Note on Open Source and “Found Code”

tl;dr: Copying code from other sources, using any code from other sources with only slight modifications, or using any code from other sources without a reference is plagiarism.

There’s an amount of sharing and re-using that will happen in this course due to the open source nature of the tools and learning materials we will be using. Assignments will be turned in using github, a platform expressly created for sharing code and other content.

You must be careful and conscious about the difference between using tools and media that help with learning and submitting other people’s work as your own. It’s not hard to find code online that will do things similar to, or exactly alike, the things you will developing for this class. It is NOT permissible to use those as part of an assignment or project for this class.

It is not hard to find code/libraries/packages/examples that solve specific technical tasks that are part of a larger project or assignment. For example: a library that converts gifs into movies or code for working with different text encodings. These are specific tasks that we aren’t going to solve on our own, so using a pre-exiting solution is acceptable and expected.

You are expected to cite any tutorials, examples, libraries or inspiration that you use for our work. Sometimes authors have a specific way they’d like their work cited (CC licenses), otherwise a name and a link will be sufficient. Ultimately though, you are responsible for proper documentation and acknowledgement of any code you present.

If there are questions about a specific situation, please ask.

A Special Note on LLMs and Large Diffusion Models

This is a class about creative uses of technology, and LLMs and interfaces like ChatGPT, Midjourney, etc. definitely have their place in discussions about technology, society and creativity. It is irresponsible to ignore the existence of these tools. While you will invariably use these tools later in your academic and professional careers, we’re giving you tools that have guardrails so that you can gain experience working with them and learn the fundamentals.

You have sanctioned generative models which have been trained on this course’s content. Each week you gain access to a new model that you may use for asking questions and assiting with your work. You may not use CoPilot, Claude Code, ChatGPT, a general Gemini intrerface or some other tool in this course outside of select late-term assignments where you will be building an interface to these tools. If you are found using a non-sanctioned model for any of this course, you will receive a 0 for the assignment.

You must credit any work you have used these sanctioned models for, you may NOT submit any work generated by the tool as your own.

Given that this is an introductory course to programming, there is no situation that warrants the use of these tools for generating code. Save that for a future when you might have to write tedious software for comparing large corpora of text. There should be a sense of play and exploration in the code you are writing, and a sense of accomplishment in learning how to make computers do things. This exploration doesn’t justify the use of tools that generate code.

Writing/response assignments will be short and personal, asking not only for your understanding of the material, but also your thoughts, interpretations, opinions and concerns about certain topics related to art, design, society and technology. Don’t sell yourself short! I want to hear your voice and words regarding these topics. If you are found to be using an LLM of any sort for your responses, you will get a 0 for that assignment.

If you are in violation of this policy more than once, you will fail the course.

Academic Integrity

Violations of academic integrity are considered to be acts of academic dishonesty and include (but are not limited to) cheating, plagiarizing, fabrication, denying other access to information or material and facilitating academic dishonesty, and are subject to the policies and procedures noted in the Student Handbook and within the Course Catalog, including the Student Code of Conduct and the Student Judicial System. Please note that lack of knowledge of citations procedures, for example, is an unacceptable explanation for plagiarism, as is having studied together to produce remarkable similar papers or creative works submitted separately by two students, or recycling work from a previous class.

Please review NYU’s School of Engineering’s academic dishonesty policy in its entirety. Procedures may include, but are not limited to: failing the assignment, failing the course, going in front of an academic judicial council and possible suspension from school. Violations will not be tolerated.

All work for this class must be our own and specific to this semester. Any work recycled from other classes or from another, non-original source will be rejected with serious implications for the student. Plagiarism, knowingly representing the words or ideas of another as one’s own work in any academic exercise, is absolutely unacceptable.

This includes copying code for other sources, using code from other sources with only slight modifications and using code from other sources without a reference. These sources may be a git repo, an LLM, code published on the internet, in a youtube tutorial, or other source. Regardless of where it came from, you must give attribution.

Academic Accommodations

If you are a student with a disability who is requesting accommodations, please contact New York University’s Moses Center for Students with Disabilities at 212-998-4980 or mosescsd@nyu.edu. You must be registered with CSD to receive accommodations. Information about the Moses Center can be found at https://www.nyu.edu/csd. The Moses Center is located at 726 Broadway on the 2nd floor.

If you are experiencing an illness or any other situation that might affect your academic performance in a class, please email the Office of Advocacy, Compliance and Student Affairs: eng.studentadvocate@nyu.edu.

Inclusion

The NYU Tandon School values an inclusive and equitable environment for all our students. I hope to foster a sense of community in this class and consider it a place where individuals of all backgrounds, beliefs, ethnicities, national origins, gender identities, sexual orientations, religious and political affiliations, and abilities will be treated with respect. It is my intent that all students’ learning needs be addressed, and that the diversity that students bring to this class be viewed as a resource, strength and benefit. If this standard is not being upheld, please feel free to speak with me.

Attribution

This syllabus and the course have been developed over the years by a number of people, including but not limited to: Thiago Hersan, Craig Fahner, Katherine Bennett, Tega Brain, Luke Dubois, and many, many others.