Syllabus

Class Title: Creative Coding
Term: Sping 2018
Instructor Name: scott fitzgerald
Instructor Email: shf220@nyu.edu
Class meeting days: Friday 10:00am – 1:40pm
Office Hours: Thursdays 10a-12:30p, Office 884

NB : This syllabus is subject to change

Course Description:

This course is an introductory programming class, appropriate for students with no programming experience, who are interested in creating interactivity. Traditionally, introductory programming teaches algorithmic problem-solving, where a sequence of instructions describe the steps necessary to achieve a desired result. In this course, students are trained to go beyond this sequential thinking – to think concurrently and modularly. By its end, students are empowered to write and read code for creating interactivity including: event-driven creative applications, interactive installations, graphical user interfaces, games and user interfaces. Interactivity will be introduced and discussed throughout.

IDM Program Objectives

Students will:

  • Develop conceptual thinking skills to generate ideas and content in order to solve problems or create opportunities in art and design.
  • Develop technical skills to realize their ideas.
  • Develop critical thinking skills that will allow them to analyze and position their work within cultural, historic, aesthetic, economic, and technological contexts.
  • Gain knowledge of professional practices and organizations by developing their verbal, visual, and written communication for documentation and presentation, exhibition and promotion, networking, and career preparation.
  • Develop collaboration skills to actively and effectively work in a team or group.

Learning Outcomes:

At the end of the course, students will :

  • Understand the basics of creative coding in Java & Javascript (Processing/p5.js).
  • Write code within the context of visual art + design, to realize unique ideas and to enhance concepts, demonstrating new powers of expression and the incorporation of time.
  • Apply their understanding of digital media to software.
  • Learn best practices for designing software within an event-driven, object-oriented, real time framework.
  • Experiment with different techniques for user input and output, including sensors and non-traditional screens.
  • Propose and develop a complete software experience as a final project.

Do I need to know how to program? / What if I already have XX years of programming experience?

Students who have prior knowledge of programming will not only be encouraged, but required to “push the envelope” when it comes to assignments. This will become more regulated over the course of the semester as the instructor becomes familiar with your abilities and habits.

Assessment

Assessment will occur by reviewing weekly coding assignments & challenges, project milestones, and final projects. The course is cumulative. Feedback occurs during class critique as well as on your OpenProcessing Sketches. Review those comments as feedback for future projects and tips.

The assignments are your opportunity to put your skills to the test. They’re designed to test and deepen your knowledge while giving me valuable information about how you’re progressing in the class. Remember, finished is better than perfect. An attempt at an assignment that does not meet your expectations is better than nothing at all.

This course is looking at how well you understand and utilize programming concepts to make visual materials. When I consider your grade, I am looking at the work submitted and how it advances you within your current path chosen, with our current point in the semester in mind. For example in the beginning of the semester, someone that is a proficient programming without any visual or creative experience will have more weight of their grade on how much they are pushing themselves to make creative and dynamic visual materials. While those that have no experience in programming, will have a weight distribution between both aspects, ex 50% programming fundamentals and usage of them, 50% creative exploration of visual materials. Later on in the semester, those weight distribution will shift to a 70% creativity exploration and dynamic materials, 30% on programming fundamentals and utilizing programming concepts.

As a result, 2 students cannot compare their grades. Each student is at a different point in their development. Each student is looked at individually, with relation to their progress, leaps in development, creativity, exploration, research and risk-taking. If you are unhappy with your grade, you need to be making more effort towards your progress. A “C” grade means average, making average progress. “B” is above average progress and work. “A” means superior work.

Students will evaluate their own progress in the course as well by responding to a self reflection assignment due Week 7 & Week 15, and turning in questions of the week (QOTW).

Teaching and Learning Methodology:

Your in-class participation counts towards your grade. This means you are expected to be actively engaged in class discussions, attentive to other students, and mentally present in the classroom and on excursions. We will be having active discussions in class. If you are not naturally a talker, this is your chance to become one.

Grading

10% Self-assessments & QotD
5% Research project
20% Attendance and Participation
20% Weekly Exercises and blog posts
15% Midterm project
30% Final project

Assignments

You will have a weekly assignment that will build off the skills we went over in class, with the expectation that you will make it something unique to yourself. You will also have to write short blog posts describing your work.

You will all have a ‘research project’ starting a in a few weeks. This will be your chance to do a “deep vive” into an artist, work, movement, language, or other area of interest that you will write 500 words about. Two of you will do this each week and post your work to the blog. This is to share knowledge and provide inspiration to one another.

Your midterm project is really a 2 week homework assignment in which you’ll demonstrate your knowledge of working with the principles of object oriented programming.

Your final project will be an open assignment for you to explore some aspect we have covered in class in greater depth. Details forthcoming.

You will complete 2 self-assessments in the course. One at the midterm, and one at the final. You will also submit a Question of the Day after each class. This is explaining one thing you learned in the class, and asking one question about something in the class. Submit this as a DM in Slack at the end of each class meeting. This question is something that you should actively seek the answer to before our next class meeting.

Course Requirements

  • Talk to me in person about issues or problems
  • Consult the github account for the class each week for demo code
  • Consult the class site each week for any updated information in the syllabus
  • Consult OpenProcessing and Slack for feedback regarding your sketches from me and from other classmates
  • Come to class on time and be familiar with the current class topics, and be ready to answer or ask questions and participate in discussions
  • Submit questions of the week (QOTW)
  • Be professional at all times in your communication and attitude
  • Give your classmates constructive feedback. Don’t be passive in critiques or take it personally. Push everyone’s ideas further.
  • Complete all assignments by due date
  • Acquire and keep up with all of the readings and assigned videos. Read all assigned readings before class. Watch all the videos.
  • Devote at a minimum 8 to 12 hours a week OUTSIDE of class, fulfilling homework assignments, readings, watching videos and studying concepts covered in class, in order to do average.
  • Be creative and experiment
  • No whining
  • Don’t be afraid to fail.

Additional notes:

You are expected to contribute to our shared online journal. The purpose of the journal is twofold. First, it is a valuable way for you to communicate to me that you are keeping up with the work in the class. I read the site to see how you are doing. At a minimum, reference to your work is expected, as well as reference to the readings, and thorough documentation of any research. Secondly, the journal is a way to document your work for your own use and that of others.

You must update the journal weekly with the work you have done for class.

Document your projects thoroughly as you go; don’t put it off until the end.  Photos, video, drawings, schematics, and notes are all valuable forms of documentation. Explain the project at the beginning of your documentation, so that people who come to your site from outside this class can understand your work quickly.

Use pictures, drawings, and videos liberally to explain your work.

Don’t overload your notes with code.  Code repositories like github are best for sharing code, so post your code to a repository and link to it from your blog.

When you base your code on someone else’s code, cite the original author and link to their code, just as you would when quoting another author in a paper. If you only changed one part of an existing program, post only the part you changed, and link to the original. Make sure any code you post is well-commented, so you and others can understand what it does.

Always cite the sources of your code, the places you learned techniques from, and the inspirations of your ideas. Copying code or techniques without attribution is plagiarism.  Few ideas come out of the blue, and your readers can learn a lot from the sources from which you learned and by which you were were inspired. Be generous in sharing your sources.

You should use the journal as an opportunity to write clear, concise thoughts or questions based on the weekly topics. The writing is expected to be well reasoned, grammatically correct, and written as if it were a paper being turned in. You should link to any relevant sources, and provide as much context as you can using images, video, audio, or other forms of expression.

Absences:

One unexcused absence is permitted. Any unexcused absence after that will count as third of a letter grade off your final grade (A to A-, A-to B+, etc.). 3 unexcused absences will result in failure of the course. If you miss a class it is your responsibility to find out what happened that day in class (i.e. Obtain handouts distributed assignments, etc.)

All presentations and critique days are mandatory. Being absent on critique days affects your grade for that project as well as your participation grade. Critiques can not be made up.

Work is always due on due dates, regardless of whether you are in class or not.

Contact me in advance if you will not be in class. (Slack Direct message is preferred). Demonstrate time management, communication and respect.

If you have some extenuating need to be outside of class (special doctor’s appointment, religious observations, etc etc), please contact Judith Simonsen at (Js6244@nyu.edu, 646.997.3046). She is the Coordinator of Student Advocacy and Compliance.

Lateness

Students are expected to arrive to class promptly both at the start of class and after breaks. Arriving more than 10 minutes late or leaving more than 10 minutes early will be considered an unexcused absence

 

Contacting Me

Slack Direct Message is the preferred initial contact. Otherwise you may email me (scott.fitzgerald at nyu.edu). Email is suitable for short questions (to answers that cannot be found in the syllabus), to set up appointments, or to notify me about being late or absent. Emails should not be longer than 5 sentences.

For matters longer than 5 sentences, please email me to make an appointment during office hours. This is the proper way to address longer questions, issues, to ask me about an assignment, review a grade you received, or to discuss other matters. If you send me a long email, I am simply going to respond by asking you to meet with me to resolve the matter.

Generally, I will respond to you within 24 hours, though if it is the weekend or after 5pm on a weeknight, it may be longer. Please do not follow-up with me asking if I received your first message unless three weekdays have passed since your initial contact.

Late Work

Unless specified, work is due the BEFORE following class period.

Work that is turned in after class but still on the due date gets 1/3 letter grade deduction. Work that is turned in the same week, get’s 2/3 grade deduction. Subsequent submissions get one letter grade deduction for every week that it is late, beyond the first week. The lowest possible grade a late assignment will be given, will be an “F”. Deductions are calculated AFTER the initial grade is given.

If work is turned in beyond 4 weeks, the work must still meet the requirements for the assignment, or be an attempt in that direction. Work submitted beyond 4 weeks that does not make an attempt to meet the requirements will not be considered and a zero will be given for that assignment.

Assignments that are not submitted will receive a “0”. Please realize that a “0” mark is a fantastic way to tank your grade. Getting an F (63%) is far better than getting a zero (0%).

Technology in the Classroom

Be respectful of class time and activity. Our time together is limited. The experience is better for everyone in the class, if everyone can be present and active. It not only helps you, but it helps your neighbor. Again, we live in a community and we must think beyond our own needs.

I recognize we are using these tools in the course of our work, but there should be no mistaking why we are using them. It is not for facebook, snap, instagram, discourse, twitter, twitch, tumblr, pintrest, mastodon, hangouts, messenger. skype, etc. You are using them to write code and do research, not post cat videos.

I have zero tolerance for phones in the classroom. The first time I see you using your phone in class, I’ll ask you to put it away. The second time, I’ll ask you to leave the room and you will receive an unexcused absence. Obviously, this is going to negatively affect your grade. There’s a time and place for socializing, and this is not it. We should be having enough fun the classroom that you should not care about using your phone anyhow.

Read Clay Shirky’s thoughts on laptops in the classroom.

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 the NYU 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. See “Important Aspects to This Course” (above) and bullet point number 4 for greater elaboration on definition, requirements and expectations for utilizing code found elsewhere.

Educational Accessibility Statement

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 mosescsd@nyu.edu. 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.