Syllabus and Course Materials for Creative Coding, Fall 2019, Section E at IDM NYU
This syllabus is subject to change at any time, so check back regularly.
Instructor: Oren Shoham | [email protected]
Meetings: Monday and Wednesday, 2:30 - 4:20pm
Classroom: 370 Jay St., 3rd Floor, Room 310
Office Hours: Monday & Wednesday, 4:30 - 5:30pm, 20 minute appointment slots
Office Location: IDM Adjunct Faculty Office (370 Jay St., 3rd Floor, Room 344)
Open Processing: https://www.openprocessing.org/class/60310 | Access Code: FFECE8
IDM Creative Coding Slack: https://idm-cc.slack.com | Class Channel: #shoham-f19
- Course Description
- Course Objectives
- Books
- OpenProcessing
- Slack
- Office Hours
- Contacting Me
- Grading
- Attendance
- Weekly Schedule
- Use of Electronic Devices
- Academic Integrity
- Educational Accessibility Statement
In this course, you'll learn how to make works of art and design in the medium of software. We'll be exploring poetic and creative computation using the free and open-source programming environments, Processing and p5.js. We'll be learning fundamental programming concepts, exploring computation as a medium for art and looking at a range of artists who work in this area. You'll be experimenting with a range of different techniques to realize creative projects which will be documented online. Topics will include programming interactivity, generative graphics, and computer vision.
- Learn the fundamentals of computational thinking applied in the Processing (Java) and p5.js (JavaScript) environments.
- Learn best practices for designing software within an event-driven, object-oriented, real time framework.
- Ideate and conceptualize original creative works in the medium of software.
- Develop a cultural literacy of the computational arts by critically engaging with historic and contemporary practices.
- Develop personal learning strategies, project planning and problem solving skills.
The following textbooks are required for this class. You can access them for free online through the NYU library, borrow physical copies from the NYU library, or buy your own physical copies.
- Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction by Daniel Shiffman
- Make: Getting Started with p5.js: Making Interactive Graphics in JavaScript and Processing, by Lauren McCarthy, Casey Reas, and Ben Fry
You might also find the following books useful as supplemental resources, although we won't reference them directly in class:
- Processing: A Programming Handbook for Visual Designers and Artists by Casey Reas and Ben Fry
- The Interaction of Color by Josef Albers
We'll use OpenProcessing, an online code editor for Processing and p5.js, to submit homework assignments for this class. Please create an account and join the class at:
https://www.openprocessing.org/class/60310 | Access Code: FFECE8
IDM has made a Creative Coding Slack that will be shared across all sections of this class as well as its graduate equivalent. We'll use the shoham-f19
channel in this Slack to submit research posts and hold class discussions. You're also welcome to share resources with students in other sections and ask questions in the #general
channel.
Each of you should get a sign-up email on the first day of class - let me know if you don't receive it.
Our Slack uses the free tier of service, which only stores a certain number of messages before it starts erasing chat history, so I'd suggest saving an external copy of any important information contained in Slack messages.
I'll be available for office hours Monday and Wednesday from 4:30pm - 5:30pm at the IDM Adjunct Faculty Office, located at 370 Jay St., Room 344. You can book a 20 minute appointment slot via Google Calendar.
Out of respect for your fellow classmates, please do not book more than one office hours slot per week, and do not come to office hours without booking a slot. If you book office hours and then decide that you do not need them for whatever reason, please release the appointment slot by deleting it from your calendar so that another student can take it.
If my calendar is full and you need to meet with me, send me an email or Slack message and we can set up an additional appointment.
You can contact me via email ([email protected]) or direct message on Slack. On weekdays, I'll generally respond within 24 hours or sooner, but I may take longer to respond over the weekend.
The following rubric will be used for grading class projects:
- A: Outstanding
- B: High Quality
- C: Satisfactory
- D: Substandard or very late
- F: Incomplete
To achieve an A, your work must reach the following standards:
- Technical: Your code works as intended and uses programming techniques appropriately, e.g. object-oriented programming where functions and objects are used to avoid duplication. Interaction design is thoughtful and considered, so that the code supports the underlying concept of the project (e.g. details such mouse clicks or key press interactions are well-designed). Code is clearly commented, referenced, and formatted.
- Concept: Your response is inventive and you're exploring ideas and questions outside of the obvious and predictable. Your project may respond to historic ideas or practices of art or design, but explores these questions or topics in new ways.
- Aesthetic: Your project is visually/sonically cohesive. This doesn't necessarily mean that your work is beautiful, but it must show a careful consideration of aesthetic choices where close attention has been paid to details such as font choices, color palette, and compositional rhythm. These elements relate to the concept and intention behind the work.
- Documentation: The documentation of your project is well-written, in grammatically correct English. Your documentation shows project research and includes references to influences and research materials. It also includes appropriate audio/visual materials documenting your work, such as screenshots, GIFs, or videos. It should clearly explain the intention behind your work to a non-expert audience. It should also include a link to the code on OpenProcessing or GitHub.
The breakdown of your overall grade in the class is as follows:
- Weekly Homework Assignments: 40%
- Weekly homework assignments will consist of research posts, readings, and coding projects. Complete your homework before class so we can discuss it on the day that it’s due. See the schedule for assignments and due dates.
- There are 8 coding assignments and 2 research posts, each worth 10% of your homework grade.
- Engagement: 25%
- There will be a lot of ways to show you're engaging with the material from class and your classmates:
- Participate in class discussions
- Help your fellow classmates and give feedback
- Ask and answer questions on the class slack channel
- Never use your cell phone or laptop while your classmates are presenting work
- There will be a lot of ways to show you're engaging with the material from class and your classmates:
- Midterm Project (due 10/15): 10%
- The midterm project will be an opportunity to apply concepts from the first half of the course to create a self-defined project. It must be an interactive Processing or p5.js sketch that includes appropriate use of loops, objects, and functions.
- Final Project (due 12/9): 25%
- The final project will be an opportunity to conceptualize and complete an engaging project that demonstrates your ability to apply the technical material of the course. You may use Processing or p5.js, and may include other libraries.
- 5% of this grade will be an assessment of your project proposal.
Students are expected to attend all classes, except in cases of emergency, grave illness, religious commitment, or pre-planned event of critical importance. Attendance will be taken at the beginning of class. In the case of a planned absence, notify me. For illnesses, provide documentation whenever possible.
For any absence, it is the student’s responsibility to inquire with classmates for notes, make up any exercises completed in class, and to complete impending assignments. Lateness and unexcused absences will significantly impact your grade. Two unexcused absences will result in the deduction of a letter grade (e.g. an A goes to A-). Five unexcused absences and you'll be dismissed from the course.
Week 1 | In Class | Homework | Readings |
---|---|---|---|
9/4 |
|
Due 9/9
|
|
Week 2 | In Class | Homework | Readings |
9/9 |
|
Due 9/16 |
|
9/11 |
|
||
Week 3 | In Class | Homework | Readings |
9/16 |
|
Due 9/23 |
|
9/18 |
|
||
Week 4 | In Class | Homework | Readings |
9/23 |
|
Due 9/30 |
|
9/25 |
|
||
Week 5 | In Class | Homework | Readings |
9/30 |
|
Due 10/15 |
|
10/2 |
|
||
Week 6 | In Class | Homework | Readings |
Note: I'll be out of town on 10/7 and Dominic Barrett will substitute for me. | |||
10/7 |
|
Due 10/15 |
|
10/9 |
|
||
Week 7 | In Class | Homework | Readings |
10/15 |
|
|
|
10/16 |
|
||
Week 8 | In Class | Homework | Readings |
10/21 |
|
Due 10/28 |
|
10/23 |
|
||
Week 9 | In Class | Homework | Readings |
10/28 |
|
Due 11/4 |
|
10/30 |
|
||
Week 10 | In Class | Homework | Readings |
Note: 11/4 is the last day to withdraw from this class with a W. | |||
11/4 |
|
Due 11/11 Due 11/13 |
|
11/6 |
|
||
Week 11 | In Class | Homework | Readings |
11/11 |
|
Due 11/18 | |
11/13 |
|
||
Week 12 | In Class | Homework | Readings |
11/18 |
|
Due 12/9
|
|
11/20 |
|
||
Week 13 | In Class | Homework | Readings |
11/25 |
|
Due 12/2
|
|
11/27 | No Class - Thanksgiving | ||
Week 14 | In Class | Homework | Readings |
12/2 |
|
Due 12/9
|
|
12/4 |
|
||
Week 15 | In Class | Homework | Readings |
12/9 |
|
||
12/11 |
|
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.
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 your 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. Any student who commits plagiarism must re-do the assignment for a grade no higher than a D. In fact, a D is the highest possible course grade for any student who commits plagiarism. Please use the MLA or Chicago Manual style for citing and documenting source material.
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.
NYU-Tandon is committed to assuring equal educational opportunity and full participation for all students. The mission of the Office for Students with Disabilities is to provide individuals with learning differences (a.ka. disabilities) the same access to programs and activities as other students. We assist students to maximize their potential while helping them develop and maintain independence.
Students who believe they are eligible for course accommodations under the ADA or Section 504 or have had accommodations please contact New York University’s Moses Center for Students with Disabilities at 212-998-4980 or [email protected]. You must be registered with CSD to receive accommodations. Information about the Moses Center can be found at http://www.nyu.edu/csd. The Moses Center is located at 726 Broadway on the 2nd floor.
Faculty can provide course accommodations/modifications only after receipt of an approved accommodations letter from the Moses Center for Students with Disabilities. Accommodation letters can be provided to qualified students at any time during the semester, but grades earned before the faculty receives the letter cannot be changed.