Syllabus for Part 1 of Nature of Code: "Physics and Animation" at ITP Spring 2017
- Daniel Shiffman: daniel.shiffman@nyu.edu
- Section 1: Tuesdays, 9:00-11:30am
- Section 2: Wednesdays, 9:00-11:30am
- Office Hours
- Sign up for Mailing List
- All course videos -- If you would like offline access to the videos and/or just prefer to watch them somewhere other than YouTube, let me know.
- Nature of Code Kadenze Course
- Online textbook
- p5.js code examples
- Processing (Java) code examples
- Other ports
- Further Reading
- Some assignments and materials based on Mimi Yin's Nature of Code course.
- Coding Math Video Series
- Generative Design with Processing
- Mathematics and Physics for Programmers
- Computational Beauty of Nature
- Form and Code
- Class Intro / Overview
- Processing, p5.js, or ______________.
- Randomness, Probability, and Perlin Noise
- Object Oriented Programming Review & Vectors
- Assignment
- Supplemental Reading
- Mathematics and Physics for Programmers Chapter 5
- Computational Beauty of Nature, Introduction
- Probability Theory
- Nature of Code Chapter 2
- Videos 2.1 - 2.6
- Processing examples
- 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
- Nature of Code Chapter 4: Particle Systems
- Videos 3.1 - 3.5, Videos 4.1 - 4.9
- p5.js chapter 3 examples
- p5.js chapter 4 examples
- Simple Harmonic Motion by Memo Akten
- Demo of Oscillating Movement and Sine Wave
- Supplemental reading
- Trigonometry, What is it good for?
- Mathematics and Physics for Programmers, Chapter 4
- "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 ms)
- Assignment
- Nature of Code Chapter 6: Autonomous Agents
- Videos 6.1 - 6.8
- Processing examples
- p5.js examples
- Supplemental
- Homework-4: Final Project Start
- '''Please note the makeup time for this week on Friday, Feb 24'''
- '''Both classes will meet in room 50 from 12pm-3pm'''
- Add your questions here
- Nature of Code Chapter 5: Physics Libraries
- Box2D
- Toxiclibs
- Bullet
- Other libraries?
- More on inheritance/polymorphism
- Geometry and Texturing
- Matter.js
- Closer look at flocking and complex systems
- Preview of NOC: Intelligence and Learning
- Submit assignments by the evening before class to the extent possible.
- Come prepared with questions.
- Put away screens during others' presentations.
- Participate!
- Document!
- Grading:
- 40% Class Participation
- 40% Quality of assignments
- 20% Final project
- For a 2-point class, 2 or more unexcused absences is grounds for failure.