Syllabus

Creative Computing
Summer 2016 – NYU Berlin

Course Number: IOART-UT 200.001
Instructor: Antonius Wiriadjaja
Email: antonius@nyu.edu

Schedule: May 26 – July 2: Tuesdays, Wednesdays, Thursdays from 9:30 AM to 12:30 PM.
Class Room Location: NYU Berlin Academic Building – Tempelhof

Class Website: https://ccnyuberlin.wordpress.com/

Previous Year’s Website: https://creativecomputingberlin.wordpress.com/

Description:
What can computation add to human communication and creativity? Creating applications, instead of just using them, gives a us deeper understanding of the possibilities. Creating projects that you are excited about and invested in, whether the domain of art, design, performance, humanities, sciences, or engineering is the best way to learn the skills needed to realize those ideas.

This course will begin with the expressive capabilities of the human body and how we experience our physical environment. The physical computing skills learned in this portion of the course will allow you to go past the limitations of the mouse, keyboard, and monitor interface to build your own, perhaps more expressive interfaces. The platform for the class is a micro-controller (Arduino brand), a very small inexpensive single-chip computer that can be embedded anywhere to both sense and create action in the physical world.

The second portion of the course focuses on fundamentals of programming as well as more advanced techniques such as animation, image manipulation and processing, projection mapping, and computer vision. The Java-based ‘Processing’ programming environment is the primary vehicle that will be in use. Processing itself is oriented towards displays but can also connect back to the physical sensors and controllers from the first part of the class in order to create more applications with more expressive interfaces.

The course is designed for computer programming novices but the project centered nature of it allows for more experienced programmers the opportunity to play further with their project ideas and make lots of friends by helping the other students.

Grading:
Grades will be determined based on the following breakdown:

25% Assignments
25% Attendance and Participation
15% Presentations
15% Midterm Project
20% Final Project

Assignments and Blogs:
There will be regular assignments that are relevant the class material. These assignments must be documented (descriptions, photos, screen shots, code, thoughts, and so on) on the class blog. All assignments are required. Late submissions will adversely affect your grade.

Students must use the class blog (this site) for documentation of their assignments as well as other related material. Photography, video, other media and source code may be uploaded onto another hosting service such as youtube, vimeo, flickr or github, but must be linked to or embedded into wordpress blog posts to count as documentation.

Attendance/Tardiness:
Attendance in all class sessions is mandatory. Two unexcused absences will result in a fail. If you are going to miss a class, it is your responsibility to make up the material you miss.

Participation:
This class will be highly participatory. You are expected to contribute to discussions. This along with attendance will determine 25% of your grade.

Phone/Tablet/Laptop:
Phone/Tablet/Laptop use is prohibited while other students are presenting or during discussion unless it is integral to the presentation or topic. While I am lecturing you may use them for note taking or class related work.

Clay Shirky’s thoughts on the topic are worth a read

Presentation:
Each student will be required to develop and participate in a presentation of material that is related to the content of the course. The presentations should be 15 minutes in length and each student involved is required to participate in the presentation itself.

Midterm Project:
The midterm project will be an individual project of your own choosing. It should utilize and demonstrate the skills you have gained in the first portion of the class.

Final Project:
Class will culminate with final projects. Small groups are encouraged. A project that is applicable to other classes that you are taking is also welcome.

Recommended Texts:
Shiffman, Daniel, Learning Processing (2nd Edition) (Morgan Kauffmann, 2015)

Banzi, Massimo, Getting Started with Arduino (O’Reilly Media, 2009)

Recommended Websites:
ITP Physical Computing: http://itp.nyu.edu/physcomp/
ITP ICM Video Series: http://icm.shiffman.net/

Schedule:

Class 1 (5/31): Introductions, Syllabus, Electricity and Basic Circuits
Class 2 (6/1): Electrons to Bits / Microcontrollers
Class 3 (6/2): Microcontrollers Continued.
Class 4 (6/7):Introduction to Processing – Drawing and Animation
Class 5 (6/8): Planned Field Trip – Berlin Biennale
Class 6 (6/9): Programming Fundamentals. Skype guests from Microsoft.
Class 7 (6/14): Programming Continued. Mouse and Keyboard Interaction.
Class 8 (6/15): Sensors. Communication Between Processing and Arduino
Class 9 (6/16): Midterm Assignment Workshop and Presentation
Class 10 (6/21):Objects and ArrayLists
Class 11 (6/22):Video and Computer Vision. Guest: Adam Harvey
Class 12 (6/23): Planned Field Trip – Computerspielemuseum
Class 13 (6/28):User Testing. Skype guests from Microsoft.
Class 14 (6/29):Web Publishing and Documentation
Class 15 (6/30):Final Project Workshop and Presentations