- Daniel Shiffman
- Mondays, 11:00am - 1:55pm, ITP Room 50
- Office Hours Signup
- All coures videos
- Online textbook
- All code examples in Processing
- Code examples ported to p5.js
- Other ports
- Further Reading
- Coding Math Video Series
- Generative Design with Processing
- Mathematics and Physics for Programmers
- Computational Beauty of Nature
- Form and Code
- Class Intro / Overview
- Processing review
- p5.js Discussion
- Github
- Randomness, Probability, and Perlin Noise
- Object Oriented Programming Review & Vectors
- Nature of Code Chapter 1
- Videos 1.1 - 1.6
- Note the above videos will be screened Thursday, Jan 30th in room 15 from 1-2pm. Mimi Yin is working on a video annotation project and will be using this session user testing (and also available to answer your questions about vectors!)
- Processing examples
- p5.js examples coming soon
- Assignment
- Supplemental Reading
- Mathematics and Physics for Programmers Chapter 5
- Computational Beauty of Nature, Introduction
- Probability Theory
- Nature of Code Chapter 2: Forces
- Videos 2.1 - 2.6
- Processing examples
- p5.js examples
- Assignment: Complete the homework exercise outlined here.
- Supplemental Reading
- Newtonian Physics, An Online Textbook (This is long, you may find Chapter 4 to be particularly relevant to this week's discussion.)
- The Physics Classroom -- Newton's Laws
- Mathematics and Physics for Programmers, Chapters 12 and 14
- Nature of Code Chapter 3: Oscillation
- Videos 3.1 - 3.5
- Processing examples
- p5.js examples
- Simple Harmonic Motion by Memo Akten
- Assignment: Complete the homework exercise outlined here.
- Supplemental reading
- The Mathematics of Oscillatory Motion (refer to e-mail to class list.)
- Trigonometry, What is it good for?
- Mathematics and Physics for Programmers, Chapter 4
- Nature of Code Chapter 4: Particle Systems
- Videos 4.1 - 4.9
- Processing examples
- p5.js examples
- Assignment: Complete the homework exercise outlined here.
- Supplemental Reading
- "Particle animation and rendering using data parallel computation", Karl Sims (available via NYU network/proxy)
- "Particle Systems, a Technique for Modeling a Class of Fuzzy Objects", Reeves (available via NYU network/proxy)
- How my Dog learned Polymorphism
- Particle System API, by David K. McAllister
- Particle Systems by Allen Martin
- Nature of Code Chapter 5: Physics Libraries
- Box2D
- Toxiclibs
- Bullet
- Other libraries?
- Assignment: Complete the homework exercise outlined here.
- Nature of Code Chapter 6
- Processing Examples
- Videos 6.1 - 6.8
- p5.js examples coming soon
- Related
- Your midterm project is due next class. Guidelines: https://github.com/shiffman/The-Nature-of-Code-S14/wiki/Midterm
- Cellular Automata
- Fractals
- Nature of Code Chapter 8
- Processing Examples
- Videos 8.1 - 8.5
- p5.js examples
- PBS Nova - Fractals - Hunting the Hidden Dimension
- Fractal Geometry of Nature
- How Long is the Coastline of Britain by Benoit Mandelbrot
- Toby Schachman's Recursive Drawing
- Algorithmic Beauty of Plants
- L-Systems in Computational Beauty of Nature
- Assignment: Final Project Proposal.
- Prepare a final project proposal. Guidelines and schedule are here.
- Nature of Code Chapter 9
- Processing Examples
- GA Presentation @ Kickstarter
- p5.js examples
- References
- Final Project Proposal Schedule
- Note Monday, April 14th is CANCELLED, Make-Up Time is Thursday, April 10th, 12:30 - 3:00 pm in Room 15, See below
- Nature of Code Chapter 10
- Processing Examples
- p5.js examples coming soon
- Final Project Proposal Schedule
- This week you will "user test" your project with fellow classmates. You must have some implementation that you can test completed by this time. User testing can mean different things for different projects. For a game, it can mean that the user tries to play it. For an art piece, it could mean showing it to a classmate and asking for them to say what they think it is about or how it made them feel. We'll show projects in a "one on one" / round robin / speed dating-style session. 5 minutes then switch. You cannot not explain your project, just show and let the user try it and give you feedback. Then you can answer questions. User testing schedule will be provided on a wiki.
- Presentation Schedule and Guidelines TBA