jfunky / diap-creativecomputing-fa2020

Class repository for CCNY/CUNY Creative Coding Fall 2020 class

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

diap-creativecomputing-fa2020

Class repository for CCNY/CUNY Creative Computing Fall 2020 class

Syllabus

City College of New York (CCNY)
Digital Integrated Art Practice
ART B2050 - 3GJ
Fall 2020
Wednesdays 6:15 - 9:05pm

--

Professor Jasmine Soltani (she/her)
Office hours: Tuesdays from 6-7pm or email me

--

Course Description

This course is a graduate-level, introductory course to creative programming and interactive arts, oriented toward students with some or no prior programming experience. This course will cover programming concepts, such as variables, data types, functions, and algorithmic problem-solving, where a sequence of instructions describe the steps necessary to achieve a desired result.

We will apply and discuss computation in relation to a variety of media, such as 2D graphics, animation, image and video processing, interactive web experiences, and physical-digital interfaces. We will cover the basics of circuit design and analysis (both analog and digital), and interaction design utilizing sensors and microcontrollers. The class will provide context for these tools, and an overview of the contemporary and historical landscape of electronic and interactive art.

Learning Objectives

  • Develop technical skills for creative coding in Processing, Javascript (p5.js), and Arduino.
  • Learn best practices for designing software within an event-driven, object-oriented and functional framework.
  • Demonstrate the ability to bring a creative electronics project from concept to completion through conceptualization, research, sourcing hardware, building circuits, and writing software.
  • Understand the landscape of creative programming and apply critical thinking skills to analyze their work within historic, aesthetic, economic, and technological contexts.
  • Develop personal learning strategies, project planning, troubleshooting, and problem-solving skills.

Course Objectives

  • Apply technical skills to weekly creative programming assignments, a midterm project, and a final project
  • Present and discuss their work
  • Critically engage with their own work as well as other students, giving thoughtful and appropriate feedback

Course Structure

This class will be virtual for the first half of the semester, and we will assess the possibility of in-person sessions for lessons focused on Arduino and circuits the second half of the semester.

Virtual class sessions will include:

  • Discussion/Crit: Presentation of assignments, questions, discussion of reference material and artwork
  • Lecture: Technical concepts, explanations of example code, & reference work -- this section will be recorded through video and made available to everyone
  • Workshop: Exercises related to the weekly topic

Class session recordings in addition to video and text references on each week's topics will be comprehensive (don't worry about missing all or part of a particular class).

Github/Blog

Homework & exercises can be submitted on Github or your personal blog. If you miss a class where an assignment is due, please note any questions you came across or whether particular feedback would be helpful along with your code and/or documentation. I will ask the class to give you feedback through our discussion channel.

Class discussion channel

We will pick our preferred software and distribute a link to the class in our first session.

How to share

  • Sharing and borrowing code is a normal part of programming. You will learn that you can find solutions to problems, examples, and techniques online. You may want to build off of a project you find, or work a classmate has done. If you are incorporating code you found online into a project, you must cite the source. This is so others looking at your code can find the original reference, and it the polite way to engage with the creative coding community. If you continue to do this kind of work, you will benefit from this habit.
  • If you are building off of a significant amount of code or recreating a project, the same rule applies. It is often a good exercise to recreate or remix pieces, but you must reference the original work.
  • If you are borrowing code from or building off of work a classmate has done, the same rule applies. If it is a significant amount of code, or an idea or concept, you should take the extra step of asking permission before using their work.

How to ask for help

  • Clearly describe what you want to happen, and what is happening instead.
  • Give enough information in order for someone to recreate the problem.
  • Ideally, give a link to the code itself.
  • Utilize the class discussion channel to get feedback from others in class!

Readings

There is no required textbook for this class, however the following texts are strongly suggested:

  • Learning Processing, by Daniel Shiffman (online access to the text through CUNY/CCNY)
  • Make: Getting Started with p5.js: Making Interactive Graphics in JavaScript and Processing, by Lauren McCarthy, Ben Fry, and Casey Reas (O’Reilly)

Recommended:

Additional resources:

Any reading required for a particular week will be clearly stated in the homework section of the weekly schedule.

Grading & Attendance Policy

Grade Breakdown:
  • Weekly homework assignments: 40%
  • Participation: 20%
  • Midterm Project (due October 7): 15% The midterm project will be an opportunity to apply concepts from the first half of the course to create a self-defined project. I expect that for most if not all of the class, this will be a Processing sketch. It could be a new project built from scratch or build on previous homework assignments or exercises. The only requirement is well-organized code that demonstrates object-oriented programming.
  • Final Project (due December 16): 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. It may be a Processing sketch, a p5 sketch, an Arduino sketch, or even some combination of these or other software or libraries. For the proposal, include reference material that will be used to contextualize your work and have a plan to complete the project.

This virtual class has no attendance policy, but if you miss synchronous class sessions please submit your work and feedback to classmates via other channels.

Academic Accomodations

If you are a student with a disability requesting accommodations, please contact The AccessAbility Center/Student Disability Services (AAC/SDS). For more information, included here are links to examples of academic adjustments and auxiliary aids, information about registering with AAC/SDS, and forms.

Health & Wellness

CCNY also provides student health and counseling services.

About

Class repository for CCNY/CUNY Creative Coding Fall 2020 class


Languages

Language:Processing 95.0%Language:C++ 5.0%