Syllabus

Parsons The New School for Design
School of Art, Media and Technology
Creative Computation Lab PGTE 5250; CRN 4511
Fall 2013
3:50 pm – 6:30 pm D1202
Paweena Prachanronarong
pracp657@newschool.edu
Office Hours: By Appointment

Course Site: https://fall2013cclab.wordpress.com

Course Description

This course will introduce students to the building blocks of creative computing within the domains of web (JavaScript), physical computing (Arduino), and desktop applications (openFrameworks). Students will learn to create dynamic images, type, and interfaces that can translate into print, web and spatial forms. Through weekly problems, students will learn programming fundamentals that translate in virtually all programming platforms and will later be introduced to basic ideas of physical computing, employing unconventional input devices such as sensors, microphones, and new output devices. Finally, we will have an introduction to openFrameworks, the C++ library for creative coding.

Course Outline

Assignments in reading, code, and documentation of your work are due 24 hours before the following class session.

WEEK 1: 08/27

Using the Browser as an IDE

Introductions -­‐ who are you, why are you here, what do you want to learn. Speed Review of Bootcamp subject material. What are we doing this semester. Second half of class: Intro to JavaScript, Your Browser + the Console. Text Editor -­‐ Recommended: SublimeText2

Assignment:

Starting with the file created in class, construct a madlib generator.
-­‐ Declare at least 6 vars

-­‐ Concatenate them
-­‐ Display this both in the console
-­‐ Bonus: Use at least one <div> in the page
-­‐ Bonus: Use prompt() to collect words. Use Math.random() to shuffle the nouns, verbs, adjectives

WEEK 2: 09/03

Simple Browser Control / Animation with Canvas
Canvas.js overview. Examples covering how we can animate in the browser using Canvas. Arrays, Functions, Loops, setInterval in javascript.

Assignment:

Create a simple animation using the <canvas> object. Use shapes other than rectangles such as paths, circles, semi-­‐circles, etc. Bonus: Use a minimum of 1 mouse interaction (click to start, move to draw, drag to manipulate, etc)

WEEK 3: 09/10

JSON, Objects, Learning How to Learn an API
Object-­‐oriented Programming, JSON, AJAX, Pulling simple data from WeatherUnderground, Pachube/Cosm/Xively, etc.

Assignment:

Pick an API and do something cool with it. Bonus: Use the variables you’ve created to parse through data (like moonAge and hourNow) and insert them into the canvas animation from Week 02 to create a data visualization!

WEEK 4: 09/17

(more) Advanced Animation with Canvas

Advanced animation using Canvas. Kinetic.js.

Assignment:

Group Assignment — make a “game” using advanced Canvas or Kinetic.

WEEK 5: 09/24

Node.js

Server Side Javascript. Hosting pages, connecting to the front end.

Assignment:

— Mess around with Node.js + Socket.IO.
— Write about something that you think is cool/not cool about it. Post any examples you like if you run across any.
— Catch up with homework.
— Install Arduino: http://www.arduino.cc/
— Bring Arduino kits to class next week!

WEEK 6: 10/01

JS review and homework catch up.

WEEK 7: 10/08

Arduino 1

Intro to Electricity. Electrons, voltage, current, resistance. Ohm’s Law. What do these mean, how can we control them with an Arduino. Simple button/LED circuit.

Assignment:

– Get 3 LEDs blinking
— Post a video to the blog
— Post code and references to the blog
— Draw the schematic or use Fritzing and post
– Control LEDs with at least 2 buttons and 2 LEDs
— Post a video to the blog
— Post code and references to the blog
— Draw the schematic or use Fritzing and post

WEEK 8: 10/15

Arduino 2

Digital Input and Output. Analog Input and Output. Sensors. Serial communication to console, serial read through console.

Assignment

MIDTERM Assigned: TBA Due 11/05

WEEK 9: 10/22

Arduino 3 & JS

Inputs in Arduino. Events and interactions based on Arduino inputs. Canvas.js, Node.js, AJAX

Assignment

WEEK 10: 10/29

Arduino 4 & Midterm Dev

Outputs in Arduino. Motors, speakers, LEDs. Work on midterm in class. Troubleshoot, polish concept, prototyping.

Assignment

Complete MIDTERM assignment

WEEK 11: 11/05

Week 10 – Midterm presentations

Each student will present their midterm. Grade is based on concept (40%), execution (40%), online posted documentation (20%).

Assignment

Download openFrameworks and install the XCode IDE on to your laptop. http://openframeworks.cc

WEEK 12: 11/12

openFrameworks 1

Introduction to openFrameworks.

Assignment

Explore the oF examples folder. Do not look in the Addons Examples folder. Find an example you like and modify it.

Start brainstorming for your final.

WEEK 13: 11/19

openFrameworks 2 & arduino

Serial communication to openFrameworks ofSerial.

Assignment

WEEK 14: 12/03

openFrameworks 3

Addons. Physics. Explore addons included with openFrameworks. How to include an addon in your oF app.

Assignment

Find an addon example in the addons examples folder. Modify this sketch to do something interesting.

WEEK 15: 12/10

Final Project Critique

Everyone will be presenting their final project in/outside of class. Your final project will be graded on Concept (40%), Execution (40%), and online documentation (20%).

Assignment

Final project completed. Final project documentation

Learning Outcomes

By the successful completion of this course, students will be able to:
1. Understand the underlying concepts of logic, procedure, and objects as they apply to computer code and design
2. Use code structures to express visual, multimedia, and interactive ideas
3. With a working knowledge of syntax and structure in the Processing environment, build a foundation in programming that can be applied to other languages
4. Prototype your own ideas and be able to comfortably collaborate with other designers and developers in digital media
5. Illustrate ability to use code in the design process in a meaningful way
6. Render interaction on screen or in physical form, using electronic circuitry and embedded computing

Final Grade Calculation

Participation (Attendance, class participation and weekly HW posts) 50%

Midterm Project 25%

Final Project 25%

TOTAL 100%

Code assignments do not have to be entirely successful when turned in, but they must be accompanied by documentation of what you expected to happen, what occurred, and what attempts you made to resolve the issue. Outline specific questions about what you do not understand. Post questions and concerns as early as possible, and be prepared to revise work for the following week.

Recommended Reading

Form + Code by Casey Reas (http://formandcode.com/)

Physical Computing by Dan O’Sullivan and Tom Igoe (link)

Programming Interactivity by Joshua Noble (link)

Making Things Talk by Tom Igoe (link)

 JavaScript: The Definitive Guide (link)

Javascript: The Good Parts by Douglas Crawford (link)

Recommended Resources

https://developer.mozilla.org/en-­‐US/docs/Web/JavaScript

http://docs.webplatform.org/wiki/javascript

http://arduino.cc/en/Tutorial/HomePage

http://www.arduino.cc/playground/

http://openframeworks.cc

Materials and Supplies

Course-­‐approved physical computing supplies (to be detailed separately)

Amazing in Browser Javascript Examples

camera/CV

http://auduno.github.io/headtrackr/examples/targets.html

webGL examples

http://threejs.org/examples/#webgl_postprocessing_dof2

http://threejs.org/examples/#webgl_shader http://threejs.org/examples/#canvas_ascii_effect

Amazing Arduino Examples

Amazing openFrameworks Examples

Grading Standards: Graduate

A Work of exceptional quality
A-­‐ Work of high quality
B+ Very good work
B Good work; satisfies course requirements
Satisfactory completion of a course is considered to be a grade of B or higher.

B-­‐ Below-­‐average work

C+ Less than adequate work
C Well below average work
C-­‐ Poor work; lowest possible passing grade F Failure

GM Grade missing for an individual

Grades of D are not used in graduate level courses.

Grade of W

The grade of W may be issued by the Office of the Registrar to a student who officially withdraws from a course within the applicable deadline. There is no academic penalty, but the grade will appear on the student transcript. A grade of W may also be issued by an instructor to a graduate student (except at Parsons and Mannes) who has not completed course requirements nor arranged for an Incomplete.

Grade of WF

The grade of WF is issued by an instructor to a student (all undergraduates and all graduate students) who has not attended or not completed all required work in a course but did not officially withdraw before the withdrawal deadline. It differs from an “F,” which would indicate that the student technically completed requirements but that the level of work did not qualify for a passing grade. The WF is equivalent to an F in calculating the grade point average (zero grade points), and no credit is awarded.

Grades of Incomplete

The grade of I, or temporary incomplete, may be granted to a student under unusual and extenuating circumstances, such as when the student’s academic life is interrupted by a medical or personal emergency. This mark is not given automatically but only upon the student’s request and at the discretion of the instructor. A Request for Incomplete form must be completed and signed by student and instructor. The time allowed for completion of the work and removal of the “I” mark will be set by the instructor with the following limitations:

Graduate students: Work must be completed no later than one year following the end of the class. Grades of “I” not revised in the prescribed time will be recorded as a final grade of “WF” (for Parsons and Mannes graduate students) or “N” (for all other graduate students) by the Office of the Registrar. The grade of “N” does not affect the GPA but does indicate a permanent incomplete.

Divisional, Program and Class Policies

● Responsibility

Students are responsible for all assignments, even if they are absent. Late assignments, failure to complete the assignments for class discussion and/or critique, and lack of preparedness for in-­‐class discussions, presentations and/or critiques will jeopardize your successful completion of this course.

● Participation

Class participation is an essential part of class and includes: keeping up with reading, assignments, projects, contributing meaningfully to class discussions, active participation in group work, and coming to class regularly and on time.

● Attendance

Faculty members may fail any student who is absent for a significant portion of class time. A significant portion of class time is defined as three absences for classes that meet once per week and four absences for classes that meet two or more times per week. During intensive summer sessions a significant portion of class time is defined as two absences. Lateness or early departure from class may also translate into one full absence.

● Blackboard or Canvas

Use of Blackboard may be an important resource for this class. Students should check it for announcements before coming to class each week.

● Delays

In rare instances, I may be delayed arriving to class. If I have not arrived by the time class is scheduled to start, you must wait a minimum of thirty minutes for my arrival. In the event that I will miss class entirely, a sign will be posted at the classroom indicating your assignment for the next class meeting.

● Electronic Devices

Use of electronic devices (phones, tablets, laptops) is permitted when the device is being used in relation to the course’s work. All other uses are prohibited in the classroom and devices should be turned off before class starts.

● Academic Honesty and Integrity

The New School views “academic honesty and integrity” as the duty of every member of an academic community to claim authorship for his or her own work and only for that work, and to recognize the contributions of others accurately and completely. This obligation is fundamental to the integrity of intellectual debate, and creative and academic pursuits. Academic honesty and integrity includes accurate use of quotations, as well as appropriate and explicit citation of sources in instances of paraphrasing and describing ideas, or reporting on research findings or any aspect of the work of others (including that of faculty members and other students). Academic dishonesty results from infractions of this “accurate use”. The standards of academic honesty and integrity, and citation of sources, apply to all forms of academic work, including submissions of drafts of final papers or projects. All members of the University community are expected to conduct themselves in accord with the standards of academic honesty and integrity. Please see the complete policy in the Parsons Catalog.

It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.

● Plagiarism

Sharing code and collaborating on solutions is actively encouraged in this class. We’re working with software that is able to evolve and remain free because of contributions from a community – including direct contribution of source code, detailed bug reports, documentation, example code, help on the forums, and so on. You will be able to contribute in this way. Likewise, sharing will extend to the work you do in class. You are actively encouraged to share code solutions with your colleagues. The definition of “plagiarism” is not sharing, but doing so without proper attribution -­‐ in simple terms, passing off someone else’s work as your own. “Free software” or “open source software” is still based on ownership and requires attribution. Appropriating work without attribution is plagiarism and will never be tolerated. Take the opportunity not only to avoid this case, but to aggressively provide links to work on which your work is based, whether online or by your colleagues. See also the official policy outlined in your student handbook.

● Student Disability Services (SDS)

In keeping with the University’s policy of providing equal access for students with disabilities, any student with a disability who needs academic accommodations is welcome to meet with me privately. All conversations will be kept confidential. Students requesting any accommodations will also need to meet with Jason Luchs in the Office of Student Disability Services, who will conduct an intake, and if appropriate, provide an academic accommodation notification letter to you to bring to me. SDS assists students with disabilities in need of academic and programmatic accommodations as required by the Americans with Disabilities Act of 1990 (ADA) and Section 504 of the Federal Rehabilitation Act of 1973. http://www.newschool.edu/studentservices/disability/.

Download a PDF of the syllabus below:

PGTE_5250_4511_PRACHANRONARONG_F13

Leave a comment