• Stars
    star
    152
  • Rank 243,919 (Top 5 %)
  • Language
    JavaScript
  • Created over 10 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Repository for Creative JavaScript at NYU ITP, Spring 2014

ITP Creative JavaScript (Fall 2014)

Repository for Creative JavaScript at NYU ITP, Fall 2014

How do the tools and platforms we work with shape the things we create? How do creative and computational ideas transform across media, and what does it mean to create for the internet? In this course, students will utilize JavaScript as both a client and server side programming language to build creative network systems. Additionally, some HTML and CSS will be introduced to define the structure and look. This is a beginner level class, though students should have taken Introduction to Computational Media or have similar experience. This two-credit course will meet the last seven weeks of the semester.

Evaluation

Grades will be determined according to the following breakdown:

  • Regular Assignments 40%
  • Participation and Attendance 40%
  • Final Project 20%

Please see ITP's statement on Pass/Fail which states that a "Pass" is equivalent to an "A" or a "B" while anything less would be considered a "Fail".

We will have weekly assignments that are relevant to material from the previous class. These assignments are required and you should be prepared to show/talk about them in class. It is expected that everyone in the class will create and maintain a blog for their assignments.

Attendance is mandatory. Please inform your teacher via email if you are going to miss a class. Habitually showing up late for class or an excessive number of absences will adversely affect your grade.

This class will be participatory, you are expected to participate in discussions and give feedback to other students both in class and participate with their projects. This (along with attendance) is 40% of your grade.

Class will culminate final projects. You are expected to push your abilities to produce something that utilizes what you have learned in the class that is useful in some manner to yourself or the world. This will comprise 20% of your grade.

Syllabus

Week 1 (10/22): Intro, JavaScript basics, p5.js

Getting started

  1. Sign up for the Github student developer pack - includes Digital Ocean $100 credit and more.

  2. Download a code editor like TextWrangler or Sublime Text.

  3. Running a local server. If you are doing things like loading images, working with webcam, or interfacing with other external files or inputs, you will need to run a local server to view the HTML and JS files you are editing. Here are two methods:

Intro to JS

Intro to p5.js and canvas

  1. Download p5.js. The download comes with a copy of p5.js, you can also use a statically hosted version from the CDN, more info on that here.

  2. Tutorial: Getting started with p5.js - Set up your files for editing and viewing.

  3. Processing ~ p5.js transition - Learn to convert a sketch from Processing to p5.js.

  4. p5.js reference and examples - Look through and get comfortable with the p5.js functionality.

  5. (Optional) FYI: HTML5Canvas without p5.js - See how canvas drawing is done in plain JS without using p5.js.

Assignment 1 (DUE 10/29)

Week 2 (10/29): HTML+CSS+JS, servers

Intro to HTML and CSS

Server setup

  1. Sign up for Digital Ocean, you can use this referral code or the code from the Github student developer pack.

  2. Download an FTP client like Cyberduck, Filezilla, Fetch - mac only, etc.

  3. Download servi.

  4. Tutorial: Digital Ocean setup - Follow the steps to create an account, a new droplet, and connect with Cyberduck.

  5. Tutorial: Setting up a web server with Servi - Create a basic file server using these instructions. Upload your files to your Digital Ocean account via Cyberduck.

  6. Tutorial: installing forever - The default behavior of Node is to kill the script when you log out of ssh or quit Terminal. That's fine for short-term use, but to keep your web site up and persistent, install forever.

Assignment 2 (DUE 11/5)

Week 3 (11/5): Events and media

  1. Notes: Intro to DOM manipulation and events - Use JS to manipulate the HTML page and make it react to events (mouse, keyboard, touch, page load).
  1. Tutorial: p5.dom library - You can also use the p5.dom library to handle HTML manipulation and events.
  1. JQuery is (probably the most) popular JS Library for client-side stuff. We won't use it much in our examples, but it's work examining and thinking about.
  1. Notes: Intro to CSS and layouts - Create an external stylesheet and layout an HTML page.

Assignment 3 (DUE 11/12)

Week 4 (11/12): Servi, review

  1. Tutorial: setting up a servi.js project without the servi IDE

Assignment 4 (DUE 11/19)

Week 5 (11/19): APIs, AJAX, JSON

  1. Notes: Web services, AJAX and JSON
  1. Tutorial: Instagram API how-to
  2. Chrome extension for viewing JSON
  3. More resources:

Final Project (DUE 12/10)

Week 6 (12/3): Server-side JS

  1. Tutorial: creating a servi server
  2. Notes: server-side with Servi

Week 7 (12/10)

Final project presentations

Resources

p5.js

Servi.js

JS Learning / Intro

Tools

  • Checking code: JSLint / JSHint
  • We'll be using the command line regularly in this class. Nothing too fancy; just the basics. Get familiar, at the very least, with the commands ls, cd, and mkdir. Basic unix commands.
  • Browser debugging: Chrome Developer Tools (tutorial) / Firebug (tutorial)
  • Mobile debugging jsconsole.com
  • Sharing code snippets (useful for asking questions): gist.github.com

More Repositories

1

SocialHacking

NYU ITP Spring 2016
PHP
258
star
2

gswp5.js-code

gswp5.js code examples
JavaScript
128
star
3

itp-convo-comp

ITP Conversation and Computation, Spring 2015
JavaScript
52
star
4

itp-critical-apis

ITP Critical APIs, Spring 2015
JavaScript
43
star
5

everything-but-the-chat

clm face tracking, chrome speech to text, webrtc chat, websocket data connection
JavaScript
27
star
6

p5-workshop

Intro to Coding with p5.js Workshop | Anderson Ranch 2016
JavaScript
20
star
7

usplus

JavaScript
17
star
8

noodle

JavaScript
15
star
9

itp-networked-media

Repository for ITP Networked Media, Fall 2014
JavaScript
14
star
10

Smarter-Home

Smarter Home | Summer 2018
JavaScript
10
star
11

p5.js-wp-embedder

This plugin embeds a live running p5.js sketch into a WordPress blog post or page.
CSS
9
star
12

vibe-check

Python
4
star
13

sadAR

augmented reality for bad days
4
star
14

pplkpr

An app that tracks, analyzes, and auto-manages your relationships.
Objective-C
4
star
15

DMA161-networkmedia

UCLA DMA 161 | Network Media
HTML
3
star
16

DMA28-Interactivity

http://classes.dma.ucla.edu/Winter19/28
HTML
3
star
17

arduino_misc

random arduino tests for things
Processing
2
star
18

youwontbelievewhathappensnext

kyle and lauren merge
PHP
2
star
19

fmh

Objective-C
2
star
20

the-changing-room

JavaScript
2
star
21

nana-bootlegging

https://editor.p5js.org/lmccart/sketches/dxSqKpPVe
2
star
22

vbs

PHP
2
star
23

socialturkers

PHP
2
star
24

lauren-mccarthy.com

PHP
2
star
25

howwasus

PHP
2
star
26

p5.js-1.0-contributors-zine

p5.js-1.0-contributors-zine
HTML
2
star
27

FindingStillness-graphics

C++
1
star
28

PulseSth

JavaScript
1
star
29

fuber

JavaScript
1
star
30

FindingStillness-arduino

C++
1
star
31

universal

JavaScript
1
star
32

godseyes

arthackdayz yo
JavaScript
1
star
33

pastperfect

JavaScript
1
star
34

fmh-server

JavaScript
1
star
35

performing-user

ITP Performing User, Spring 2016
JavaScript
1
star
36

DynaDash

C++
1
star
37

IHR-tests

Python
1
star
38

quickie

Processing
1
star
39

im-glad-you-asked

JavaScript
1
star
40

erqiwed

JavaScript
1
star
41

FindingStillness-server

HTML
1
star
42

autonomous

JavaScript
1
star
43

pplkpr-node-server

JavaScript
1
star
44

DL.RivAR

river pheonix oculus experience
C++
1
star
45

optimized_dating

1
star
46

scratch_tests

PHP
1
star
47

24h-HOST-redux

JavaScript
1
star
48

suzie-speaks

JavaScript
1
star
49

weclick

Objective-C
1
star
50

friendingstrangers

PHP
1
star
51

DMA159A

Senior Projects: Interactivity and Games
HTML
1
star
52

wake-words

JavaScript
1
star
53

hh_v2

Arduino
1
star
54

mturk_test

Ruby
1
star