-
Notifications
You must be signed in to change notification settings - Fork 11
Homework Shawn
- Shawn Van Every
- Tuesday, 12:10pm to 2:40pm
- Room: Conference Room
- Office Hours
- Email: Shawn.Van.Every@nyu.edu
A big part of learning at ITP is learning from each other. So share your work and in exchange you'll get to see everyone else's!
- Do the assignment.
- Contribute a question.
- Post documentation in the form of a blog post. Ideally something visual, some written thoughts, and code. If you are struggling with your sketch and can't get things to work, you should feel free to put your energy into writing about what didn't work (and vent any frustrations!).
- Final project presentations are Wednesday, December 5th. In class presentations will be approximately 8 minutes each, I will be strict about the time.
- Please post your final project documentation to a web page (blog post is fine) and link next to your name below. This is due Friday, December 14.
- It's up to you to figure out how to best document your project, here are some loose guidelines if you aren't sure what to include.
- Title
- Brief written description
- Visual Documentation: sketch running online, images, video, etc.
- References: links to related projects, code samples, etc.
- Source code (please cite your sources in the code comments)
- If you are presenting outside of the classroom, please indicate below.
- Khensu-Ra Love El - Documentation
- Antonio - Documentation
- SJ & Ellie - Presentation Documentation
- Dylan - Documentation
- Jasper - Documentation
- Veronica - Documentation
- Shiyu - Documentation
- BREAK
- Casey - Documentation < will update
- YG - Documentation
- Julia - Documentation
- Suzanne - Documentation , Presentation
- Manu - Documentation
- Gilad - Documentation
- Bilal - Documentation
- Your Name - Documentation
The testing will follow a speed "round robin" format. The class will be divided into two groups and we'll do two rounds. For each round half the students will set up on a laptop in the class room and the other half will "view" or "interact with" or "listen to" your project for ~5-7 minutes. We'll rotate so that all "testers" will try each project and provide feedback.
It's up to you to design your "user testing". It can mean something different for each project. The "rule" that we will try to adhere to is no explaining of the project until after the user has viewed/interacted.
Manu, Antonio, Jasper, Veronica, Gilad, Suzanne, Ellie/SJ
Julia, Dylan, Casey, Shiyu, Bilal, YG, Khensu-Ra
Final Project Proposals: 5 minutes of slides, sketches...something to ILLUSTRATE what's in your head.
- Collect inspirations: Quotes, photographs, products, projects, people, music, political events, social ills.
- Collect source material: Drawings, Images, Videos, Sounds, Text
- Collect code: Your own sketches. Other people's sketches.
- Collect ideas for a title?
- Collect ideas for 1-sentence description?
- Context? Who's it for? How will people experience it? Is it interactive? Is it practical? Is it for fun? Is it emotional? Is it to provoke something?
-
Collect questions for your classmates.
- What are you unsure of? Conceptually and technically.
-
Next Week:
- Julia (https://www.stefanskripak.com/blog/2018/11/6/physical-computing-week-9-final-project) ,(https://docs.google.com/document/d/1Anut5ld86YXHYVhaBe77FZ4m2scADepn_ymUMd6k-Os/edit)
- Dylan
- Shiyu
- Veronica
- Suzanne
- Gilad
- Khensu-Ra
- Your name here
- Your name here
-
Next Next Week:
- Manu [Blog] (https://wp.nyu.edu/manu/2018/11/14/final-concept-icm-pcomp/)
- Bilal Sehgol https://bit.ly/twitter-arcade
- Jasper Wang [Blog] (https://medium.com/rui-wang/phubbing-96e2f037e3ff)
- Ellie / SJ (https://www.s-j-zhang.com/islands-of-sound)
- Casey —— Blog
- YugaungYG
- Your name here
- Your name here
- Create a sketch that uses media generation, playback, or analysis (sound, although we haven't covered video in class, feel free to tackle it with the videos and on your own). Some ideas are:
- Make something responsive to microphone input.
- Create a "photobooth" with augmented snapshots from a camera.
- Create a "painting" system that colors pixels according to images, video or camera input.
- Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
Questions (example questions)
- Your question here
- Ellie Lin -- Blog, Saturday Rain - Sketch
- Jasper Wang -- Blog, Jiang Nan Style - Sketch
- Veronica Alfaro -- Blog, Dancing Waves - Sketch
- Yuguang (YG) Zhang -- Live Stockphony - Sketch
- Suzanne Li -- Keynote, Blog, Sketch
- Julia - (https://juliarichdotcom.tumblr.com/post/179594798257/icm-sound-and-video) + (https://juliarichdotcom.tumblr.com/post/179594846802/icm-sound-and-video-part-two)
- Casey Conchinha - Sketch
- Manu - Sketch
- Shiyu Chen - Sketch
- Gilad - sketch
-
IN-CLASS
-
TEST YOURSELF
- Complete the Quiz
-
DO:
- Create a sketch that uses an external data source. Consider building on top of your last assignment. Make it data-rich!
- Here are some ideas:
- Track personal data over the course of a few days (exercise, sleep, computer use, eating, etc.). Enter the data manually into a JSON file and visualize the results.
- Count word frequencies in two different text sources (i.e. two different authors, two different newspapers, two different political speeches) and visualize the results.
- Use weather data to affect elements in a sketch
- Gather data from a google spreadsheet and use in a sketch with loadTable()
- APIs to consider working with
-
READ / WATCH
- Week 8: Video & Sound
- Videos: Images/Video 11.1-11.8
- Videos: Sound 17.1-17.11
- Chapter 7 in Getting Started with P5.js
- Additional Resources
-
Examples
Questions (example questions)
- Your question here
-
Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
-
Dylan -- Blog, Sketch, Fullscreen -- Can't get particular url to open. NEED HALP!
-
Khensu-Ra --Sketch, [Fullscreen] -- Looking to explore sound visualization more.... Here's a start!
- SJ
- Ellie Lin
- Casey Conchinha - (https://cargocollective.com/kcconch/Tangible-Search)
- Casey Conchinha - Code + Draw + View
- Jasper https://editor.p5js.org/SORYONE/full/SywwNFsj7
- Veronica: https://editor.p5js.org/veroalfaro/sketches/r1KlPzRs7 https://editor.p5js.org/veroalfaro/sketches/B1DBU1hj7
- Bilal https://editor.p5js.org/bsehgol/sketches/Hy_a5KjiQ
- Your name here
- Your name here
- Your name here
- Julia - (https://juliarichdotcom.tumblr.com/post/179594798257/icm-sound-and-video) + (https://juliarichdotcom.tumblr.com/post/179594846802/icm-sound-and-video-part-two)
- Suzanne
- Your name here
- Your name here
- Your name here
- Your name here
- Your name here
- Your name here
-
IN-CLASS:
-
TEST YOURSELF
- Complete the Quiz
-
DO:
- Create your own HTML page with the following:
- Pre-defined HTML Elements
- Pre-defined CSS Styles
- HTML Elements generated by your p5 sketch
- Some kind of mouse interaction with an HTML Element using a callback function you write.
- Create your own HTML page with the following:
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Dylan Dawkins -- Blog, Sketch -- please move "Period" slider one space at a time! thanks :)
- Veronica Alfaro -- Editable Sketch, Fullscreen Sketch, Blog
- Suzanne Li -- Sketch, Blog
- Casey Conchinha -- Sketch, Blog
- SJ -- Sketch
- Yuguang (YG) -- Sketch
- Julia -- sketch
- Gilad -- sketch, do fullscreen
- Week 5 in the Syllabus
- Arrays in JavaScript | Documentation
- Objective Bouncing Ball Array
- Array of DOM Buttons
- How to use SimpleHTTPServer
- Complete the Quiz
- Design a sketch in an object-oriented fashion. Follow these steps and see how far you get (even just doing the first couple steps is ok!)
- Make one single object with just variables.
- Put one or more functions in the object.
- Try manually making two objects.
- Duplicate the object using an array and make as many as you like!
- If you are already working with classes/objects and arrays:
- Re-organize / break-down your classes into the "smallest functional units" possible.
- Try different ways to have your objects "communicate" with each other in some way.
- In the end the goal is to have code in
draw()
that only makes calls to objects. Something like:
function draw() {
background(0);
// A single object
apple.chop();
// Another object
orange.peel();
// Calling a function on all of the objects in an array
for (var i = 0; i < grapes.length; i++) {
grapes[i].pluck();
}
}
- Videos 8.1-8.16 - Focus on videos 8.1-8.9.
- p5.dom section of Chapter 13 in Getting Started with P5.js
- Additional Resources
Questions (example questions)
- How to work with class files. Suzanne Li
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Julia Rich -- Sketch
- Veronica Alfaro -- Sketch, Blog
- Ellie Lin -- Sketch, Blog -- Worked with Yuguang
- Suzanne Li -- Please don't click on my Sketch, Blog
- Dylan Dawkins - Sketch, Blog
- Manu -- Sketch
- Casey Conchinha - Sketch, Blog
- Shiyu -- [My game doesn't work](https://editor.p5js.org/shiiiiiyu_chen/sketches/HJva1PRFX)
- Bilal -- Sketch
-
RESOURCES FROM CLASS:
-
TEST YOURSELF
- Complete the Quiz
-
DO: The idea this week is to explore re-organizing your code. It is 100% legitimate to turn in a version of a previous assignment where nothing changes for the end user, but the code has been restructured. You may, however, choose to try a new experiment from scratch. Aim to keep
setup()
anddraw()
as clean as possible, and do everything (all calculations, drawing, etc.) in functions that you create yourself. Possibilities (choose one or more):- Reorganize "groups of variables" into objects.
- Break code out of
setup()
anddraw()
into functions. - Use a function to draw a complex design multiple times with different arguments.
- If you are feeling ambitious, try embedding a function into an object.
-
READ / WATCH
- Videos 6.1-6.3, 7.1-7.7, 16.4
- Getting Started with p5.js chapters 10-11
-
Examples
Questions (example questions)
- How can I embed a function into an object for my code? Are there examples? This question isn't brilliant. -Suzanne Li
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Ellie Lin -- Blog, Sketch
- Julia Rich -- sketch, blog
- Dylan Dawkins sketch, blog
- YG Zhang sketch, blog
- Veronica Alfaro -- Blog, Sketch
- Jasper Wang -- Blog, Sketch
- Shijie Zhang (SJ) -- my blog, my sketch
- Suzanne Li -- Blog, Sketch
- Casey Conchinha -- Blog, Sketch
- Manu Jain -- Blog, Sketch
- Khensu-Ra Love El -- Sketch
- Bilal Sehgol -- Sketch
- Shiyu Chen -- Sketch
- Gilad Dor -- Blog, Sketch
-
EXAMPLES FROM CLASS:
-
TEST YOURSELF: Complete Quiz 3
-
DO: In general this week, you should work with rule-based animation, motion, and interaction. You can use the ideas below or invent your own assignment. Start by working in pairs as below. Can you divide an idea into two parts and combine those parts? Can you swap sketches and riff of of your partner's work? You can post together or break off and complete the assignment individually.
- Try making a rollover, button, or slider from scratch OR try making a text generator that follows a few of the english language rules (spaces, punctuation, capitalization etc). Compare your code to the examples on github.
- Create an algorithmic design with simple parameters. (One example is 10PRINT, example code).
- Tie the above two together and have an interface element control the visual design or behavior of other elements in your sketch.
-
READ / WATCH
- Videos 5.1–5.3 in the learning p5.js series.
- Getting Started with p5.js chapters 9-10
-
RUN CODE
Questions (example questions)
- I still don't understand boolean conditions fully. I found this: http://www.lukefabish.com/javascript-if-then-else/. But would like more practice using "if" statements. Is there another way to understand them? -Suzanne Li
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Sketch) -- any other comments
- Veronica Alfaro -- Blog, Sketch 1, Sketch 2 -- worked on the slider and the grid with Casey M Conchinha.
- Casey Conchinha -- Blog, Base, Individual -- worked with Veronica
- Khensu-Ra Love EL -- Blog, Button -- Collaborated with Dylan Dawkins.
- Dylan Dawkins -- Blog, Sketch -- Collaborated with Khensu-Ra Love El aka Sun God.
- Ellie Lin -- Blog, Sketch -- worked with Jasper Wang
- S.J. -- Sketch1, Sketch2 -- worked with Manu
- Manu Jain -- Blog, Sketch -- Collaborated with S.J.
- Shiyu Chen -- my blog,sketch Worked with Julia and Yuguang
- Suzanne Li -- Blog,Sketch -- worked with Gilad
- Gilad Dor --Blog, Sketch -- worked with Suzanne
- Bilal Sehgol -- Blog,Sketch feat. great man Antonio
-
REVIEW
- Variables videos 2.1-2.3 and 1st half of Chapter 4 of Getting Started with p5 (up to Example 4-5).
- map() and random() videos 2.4 - 2.5
-
EXAMPLES FROM CLASS
-
DO: Create a sketch that includes (all of these):
- One element controlled by the mouse.
- One element that changes over time, independently of the mouse.
- One element that is different every time you run the sketch.
- e.g. Try refactoring your Week 1 HW by removing all the hard-coded numbers except for createCanvas(). Have some of the elements follow the mouse. Have some move independently. Have some move at random.
- e.g. Do the above but change color, alpha, and/or strokeWeight instead of position.
- Or do something completely different!
-
READ AND WATCH:
-
RUN CODE:
- Video Examples: 3.1-4.2
- Getting Started with p5 Examples: 04, 05, 06, 08.
- Learning Processing Examples: chp03-06
- Animation examples from ICM 2015
Questions (example questions)
- Julia: When trying to create a variable that changes every time we reload the page, I wanted to create a global variable with random but random isn't able to be called outside of a function?
- How do we animate text like that of matrix's opening scene? -Suzanne Li
- Khensu-Ra (Ra): How do we make our text stretch when scrolling across it with the mouse?
- Boaty McBoatface -- [blog post](url to blog), zoog -- any other comments
- Shijie Zhang (SJ) -- my blog, my sketch
- Shiyu Chen -- my blog, my sketch
- Ellie Lin -- my blog, my sketch
- Dylan Dawkins -- my blog, my sketch
- Veronica Alfaro -- my blog, my sketch
- Julia Rich -- my blog, my sketch
- Manu Jain -- my blog, my sketch
- Yuguang (YG) Zhang -- my blog, my sketch
- Bilal Sehgol -- my blog, my sketch
- Suzanne Li -- my blog, my sketch
- Keunjung Bae -- my blog, my sketch
- Casey Conchinha -- my blog, my sketch
- Jasper Wang -- my blog, my sketch
- Khensu-Ra Love EL -- my blog, my sketch-OKC
- Gilad Dor -- my blog, my sketch
-
RESOURCES FROM CLASS:
-
SET UP:
- Sign up for a p5.js web editor account
- Sign up for the ITP ICM Google Group
- Sign up for a Github Account. You need it to edit this wiki page.
-
DO:
-
Complete this quiz. Our weekly quizzes become the basis for the next class. You must be logged in with your NYU account to access the quiz.
-
Create your own poem or self-portrait. Use the p5.js DOM functions to create a content with
createP()
,createDiv()
,createA()
,createElement()
and/or use 2D primitive shapes sucharc()
,curve()
,ellipse()
,line()
,point()
,quad()
,rect()
,triangle()
– and basic color functions –background()
,colorMode()
,fill()
,noFill()
,noStroke()
,stroke()
. Remember to usecreateCanvas()
to specify the dimensions of your window and wrap all of your code inside asetup()
function. Here's a DOM example: Ps and Ps and here's a drawing example Zoog -
Write a blog post about how computation applies to your interests. This could be a subject you've studied, a job you've worked, a personal hobby, or a cause you care about. What projects do you imagine making this term? What projects do you love? (Review and contribute to the ICM Inspiration Wiki page). In the same post (or a new one), document the process of creating your sketch. What pitfalls did you run into? What could you not figure out how to do? How was the experience of using the web editor? Did you post any issues to github?
-
-
READ AND WATCH:
-
Watch before homework: Videos 1 - 7 | Watch after homework: Videos 2.1 - 2.3
- If YouTube bothers you, ask Daniel Shiffman for a link to videos on Google Drive.
- If you prefer books, Chapters 1-3 of Getting Started with p5.js cover the same material. Log into the NYU network to read it for free.
-
Watch before homework: Videos 1 - 7 | Watch after homework: Videos 2.1 - 2.3
-
ASK QUESTIONS: Contribute at least 1 question below.
Questions | Examples
- your question, your name
- How to make an arched ellipse. Julia
- How to make various shapes connect seamlessly? Khensu-Ra
- How would you animate a walk cycle? Dylan
- How to make rounded corner quad shape? S.J.
- How can we efficiently figure out the arguments of shapes in P5 if we're trying to mimic the shapes in a given, flattened image? Yuguang
- How can we map out the precise coordinates of an image and convert the units in code? Suzanne Li
- Why is embedding a p5.js sketch in wordpress so weird? Casey Conchinha
- How to display a grid on a canvas to simplify coordinate location? Gilad Dor
- Boaty McBoatface -- [blog post](url to blog), zoog -- any other comments
- NAME -- my blog, my sketch
- Casey Conchinha -- my blog, my sketch
- Julia Rich -- blog a // blog b, sketch
- Kexin (Ellie) Lin -- my blog, my sketch
- Khensu-Ra Love El -- my blog, S.M The Sloth Sketch
- Shiyu Chen -- my blog, my sketch
- Dylan Dawkins -- my blog, my sketch
- Bilal Sehgol -- my blog, [my sketch] (https://editor.p5js.org/full/HJSYcKxO7)
- Yuguang Zhang -- my blog, my sketch, sketch URL
- Veronica Alfaro -- my blog,my sketch, my blog
- Shijie Zhang (SJ) -- my blog, my sketch
- Manu Jain -- blog 1 / blog 2, my sketch
- Keunjung Bae -- my blog, my sketch
- Suzanne Li -- my blog, my sketch
- Gilad Dor -- my blog, my sketch
- Jasper Wang -- my blog, my sketch