- Mimi Yin: mimi.yin@nyu.edu
- Wednesdays, 12:10pm to 3:05pm in Room 20
- Office Hours - Room 455
- Sign up for Mailing List
- All coures videos
- Online textbook
- p5.js code examples
- p5 Java code examples
- 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
- Randomness, Probability, and Perlin Noise
- Nature of Code Introduction
- Videos I.1 - I.5
- p5.js examples
- Object Oriented Programming Review & Vectors
- Nature of Code Chapter 1
- Videos 1.1 - 1.6
- Processing examples
- p5.js examples
- 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
- p5.js examples
- Assignment
- 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
- p5.js examples
- Simple Harmonic Motion by Memo Akten
- Demo of Oscillating Movement and Sine Wave
- Demo of Conservation of Energy using a Pendulum
- Assignment
- Supplemental reading
- Nature of Code Chapter 4: Particle Systems
- Videos 4.1 - 4.9
- p5.js examples
- Assignment
- 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 6
- Videos 6.1 - 6.8
- p5.js examples
- Related
- Assignment
- Workshopping Complex Programs
- Assignment: Mid-term
- Nature of Code Chapter 5: Physics Libraries
- Box2D
- Box2D web site
- JBox2D web site
- PBox2D github repo
- Videos 5.1 - 5.9
- p5.js examples
- Toxiclibs
- Videos 5.13 - 5.16
- p5.js examples
- ToxicLibs
- The Making of Nokia Friends
- Advanced Character Physics
- Bullet
- Other libraries?
- Cellular Automata
- Fractals
- Nature of Code Chapter 8
- 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:
- Reading and Video for Chapter 9: The Evolution of Code
- Final Project Proposal Guidelines.
- Nature of Code Chapter 9
- GA Presentation @ Kickstarter
- p5.js examples
- Wasps, Viruses and New Modes of Evolution
- 2 People in 1
- The Sports Gene
- References
- Assignment:
- 10 Misconceptions About Neural Networks
- How XOR Led to Back Propagation
- XOR Problem Solution
- Assignment: Prepare for User Testing session next week.
- 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 Guidelines
- Presentation Schedule and Guidelines TBA
- Be on time. Do the reading/video watching. Review the example problems. Submit assignments by the morning of class. Come prepared with questions. Put away screens during others' presentations. Participate!
- Grading:
- 40% Class Participation
- 40% Quality of assignments
- 20% Final project
- According to ITP:
- 2 latenesses of more than 15 minutes counts as an absence.
- More than 2 absences is grounds for failure.