# Nature-of-Code-S-16 **Repository Path**: bit2atom/Nature-of-Code-S-16 ## Basic Information - **Project Name**: Nature-of-Code-S-16 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-29 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README The Nature of Code (Spring 2016) ================================ Class Info ---------- * Mimi Yin: mimi.yin@nyu.edu * Wednesdays, 12:10pm to 3:05pm in Room 20 * [Office Hours - Room 455](https://itp.nyu.edu/inwiki/Signup/Mimi) * [Sign up for Mailing List](https://groups.google.com/a/itp.nyu.edu/forum/#!forum/natureofcode) Resources --------- * [All coures videos](https://vimeo.com/channels/natureofcode) * [Online textbook](http://natureofcode.com/book/) * [p5.js code examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js) * [p5 Java code examples](https://github.com/shiffman/The-Nature-of-Code-Examples) * [Other ports](https://github.com/shiffman/The-Nature-of-Code-Examples/blob/master/README.md) * [Further Reading](http://natureofcode.com/book/further-reading/) Related Reading and Watching ---------------------------- * [Coding Math Video Series](http://www.youtube.com/user/codingmath) * [Generative Design with Processing](http://www.amazon.com/gp/product/1616890770/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1616890770&linkCode=as2&tag=natureofcode-20) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1435457331/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1435457331&linkCode=as2&tag=learniproces-20) * [Computational Beauty of Nature](http://www.amazon.com/gp/product/0262561271/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0262561271&linkCode=as2&tag=natureofcode-20) * [Form and Code](http://formandcode.com/) Week 1 - Introduction - 1/27/16 ------------------------------- * Class Intro / Overview * [Related and Past Projects](https://github.com/shiffman/The-Nature-of-Code-S14/wiki/Nature-of-Code-Related-and-Past-Projects) * [Processing](http://www.processing.org) review * Randomness, Probability, and Perlin Noise * [Nature of Code Introduction](http://natureofcode.com/book/introduction/) * Videos I.1 - I.5 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/introduction) * Object Oriented Programming Review & Vectors * [Nature of Code Chapter 1](http://natureofcode.com/book/chapter-1-vectors/) * Videos 1.1 - 1.6 * [Processing examples](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp1_vectors) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp01_vectors) * Assignment * [Sign up for class mailing list](https://groups.google.com/a/itp.nyu.edu/forum/#!forum/natureofcode) * [Assignment](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Week-1-Assignment). * Supplemental Reading * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/) Chapter 5 * [Computational Beauty of Nature](http://www.amazon.com/gp/product/0262561271/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0262561271&linkCode=as2&tag=natureofcode-20), Introduction * [Probability Theory](http://www.probabilitytheory.info/) Week 2 - Forces - 2/3/16 ------------------------ * [Nature of Code Chapter 2: Forces](http://natureofcode.com/book/chapter-2-forces/) * Videos 2.1 - 2.6 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp02_forces) * [Assignment](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Week-2-Assignment) * Supplemental Reading * [Newtonian Physics, An Online Textbook](http://www.lightandmatter.com/area1book1.html) (This is long, you may find Chapter 4 to be particularly relevant to this week's discussion.) * [The Physics Classroom -- Newton's Laws](http://www.physicsclassroom.com/Class/newtlaws/newtltoc.html) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/), Chapters 12 and 14 Week 3 - Oscillation - 2/10/16 ------------------------------- * [Nature of Code Chapter 3: Oscillation](http://natureofcode.com/book/chapter-3-oscillation/) * Videos 3.1 - 3.5 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp03_oscillation) * [Simple Harmonic Motion by Memo Akten](http://www.memo.tv/simple-harmonic-motion/) * [Demo of Oscillating Movement and Sine Wave](https://www.youtube.com/watch?v=PhvJcVDuJsY#t=55) * [Demo of Conservation of Energy using a Pendulum](https://www.youtube.com/watch?v=4a0FbQdH3dY#t=1465) * [Assignment](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Week-3-Assignment) * Supplemental reading * [Trigonometry, What is it good for?](http://www.phy6.org/stargaze/Strig1.htm) * [Mathematics and Physics for Programmers](http://www.amazon.com/gp/product/1584503300/), Chapter 4 Week 4 - Systems - 2/17/16 ------------------------------- * [Nature of Code Chapter 4: Particle Systems](http://natureofcode.com/book/chapter-4-particle-systems/) * Videos 4.1 - 4.9 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp04_systems) * [Assignment](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Week-4-Assignment) * Supplemental Reading * ["Particle animation and rendering using data parallel computation", Karl Sims](http://doi.acm.org/10.1145/97879.97923) (available via NYU network/proxy) * ["Particle Systems, a Technique for Modeling a Class of Fuzzy Objects", Reeves](http://doi.acm.org/10.1145/357318.357320) (available via NYU network/proxy) * [How my Dog learned Polymorphism](http://www.javaranch.com/campfire/StoryPoly.jsp) * [Particle System API, by David K. McAllister](http://www.siggraph.org/education/materials/HyperGraph/animation/particle.htm) * [Particle Systems by Allen Martin](http://web.cs.wpi.edu/~matt/courses/cs563/talks/psys.html) Week 5 - Autonomous Agents - 2/24/16 ----------------------------------- * [Nature of Code Chapter 6](http://natureofcode.com/book/chapter-6-autonomous-agents/) * Videos 6.1 - 6.8 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp06_agents) * Related * [Reas Process Compendium](https://vimeo.com/22955812) * [Braitenberg Vehicles](http://books.google.com/books/?id=7KkUAT_q_sQC) * [Craig Reynolds' Steering Behaviors for Autonomous Characters](http://www.red3d.com/cwr/steer/) * [BetterExplained/ Dot Product + Finding The "Normal"](http://betterexplained.com/articles/vector-calculus-understanding-the-dot-product/) * [Finding the closest point on a curve.](http://www.mesacc.edu/~marfv02121/readings/nearest_point/index.html) * [Assignment](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Week-5-Assignment) Week 6 - Frankenstein Sketches - 3/2/15 ------------------------------------------------------ * Workshopping Complex Programs * Assignment: [Mid-term](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Midterm-Assignment) Special Session - Physics Libraries - ??? ------------------------------------------------------ * [Nature of Code Chapter 5: Physics Libraries](http://natureofcode.com/book/chapter-5-physics-libraries/) * Box2D * [Box2D web site](http://box2d.org/) * [JBox2D web site](http://www.jbox2d.org/) * [PBox2D github repo](https://github.com/shiffman/PBox2D) * Videos 5.1 - 5.9 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp05_libraries/box2dweb) * Toxiclibs * Videos 5.13 - 5.16 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp05_libraries/toxiclibs) * [ToxicLibs](http://toxiclibs.org/) * [The Making of Nokia Friends](https://vimeo.com/1472427) * [Advanced Character Physics](http://www.gamasutra.com/resource_guide/20030121/jacobson_pfv.htm) * Bullet * [bRigid Processing Library](http://www.lab-eds.org/bRigid) * [ammo.js Javascript port](https://github.com/kripken/ammo.js/) * [simple 3d box demo](https://github.com/shiffman/The-Nature-of-Code-Examples/tree/master/chp5_physicslibraries/bRigid_jBullet) * Other libraries? ### No class, 3/16/15, Spring Break Week 7 - Mid-Semester Project Presentations - 3/13/16 ----------------------------------------------------- Week 8 - Cellular Automata / Fractals - 3/30/16 ----------------------------------------------- * Cellular Automata * [Nature of Code Chapter 7](http://natureofcode.com/book/chapter-7-cellular-automata/) * Videos 7.1 - 7.4 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp07_CA) * [A New Kind of Science](http://www.wolframscience.com/nksonline/toc.html) * [Elementary Cellular Automaton](http://mathworld.wolfram.com/ElementaryCellularAutomaton.html) * [Original Game of Life Scientific American Article](http://ddi.cs.uni-potsdam.de/HyFISCH/Produzieren/lis_projekt/proj_gamelife/ConwayScientificAmerican.htm) * [2D Water Ripples CA](http://freespace.virgin.net/hugo.elias/graphics/x_water.htm) * [Java Port of 2D Water Ripples](http://neilwallis.com/projects/java/water/index.php) * [Understanding Segregation Through a Simulation](http://flowingdata.com/2014/12/09/understanding-segregation-with-a-simulation/) * Fractals * [Nature of Code Chapter 8](http://natureofcode.com/book/chapter-8-fractals/) * Videos 8.1 - 8.5 * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp08_fractals) * [PBS Nova - Fractals - Hunting the Hidden Dimension](http://www.pbs.org/wgbh/nova/physics/hunting-hidden-dimension.html) * [Fractal Geometry of Nature](http://en.wikipedia.org/wiki/The_Fractal_Geometry_of_Nature) * [How Long is the Coastline of Britain by Benoit Mandelbrot](http://en.wikipedia.org/wiki/How_Long_Is_the_Coast_of_Britain%3F_Statistical_Self-Similarity_and_Fractional_Dimension) * [Toby Schachman's Recursive Drawing](http://recursivedrawing.com/) * [Algorithmic Beauty of Plants](http://algorithmicbotany.org/papers/#abop) * [L-Systems in Computational Beauty of Nature](http://books.google.com/books?id=0aUhuv7fjxMC&pg=PA78) * Assignment: * [Reading](http://natureofcode.com/book/chapter-9-the-evolution-of-code/) and [Video](http://video.natureofcode.com/) for Chapter 9: The Evolution of Code * [Final Project Proposal Guidelines](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Final-Project-Presentation-Guidelines). Week 9 - Genetic Algorithms - 4/06/16 -------------------------------------------------------------- * [Nature of Code Chapter 9](http://natureofcode.com/book/chapter-9-the-evolution-of-code/) * [GA Presentation @ Kickstarter](http://video.natureofcode.com/9.1/) * [p5.js examples](https://github.com/shiffman/The-Nature-of-Code-Examples-p5.js/tree/master/chp09_ga) * [Wasps, Viruses and New Modes of Evolution](http://www.sciencemag.org/news/2015/09/wasps-have-injected-new-genes-butterflies) * [2 People in 1](http://www.radiolab.org/story/91597-mix-and-match/) * [The Sports Gene](http://www.nytimes.com/2013/08/13/science/the-sports-gene-considers-the-root-of-athletic-success.html) * References * [Ann Chen & Danne Woo - Galapagos Evolutionary Type Design NOC 2012](http://www.typegalapagos.com/) * [Flexible Muscle-Based Locomotion for Bipedal Creatures](https://vimeo.com/79098420) * [BoxCar2D](http://boxcar2d.com/) * [Evolved Virtual Creatures](http://www.karlsims.com/evolved-virtual-creatures.html) * [Digital Babylon NOC 2005](http://joan.cat/en/dbn/) * Assignment: * [Final Project Proposal Guidelines](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Final-Project-Presentation-Guidelines) Week 10 - Neural Networks / Final Project Proposals - 4/13/16 --------------------------------------------------------------- * [10 Misconceptions About Neural Networks](http://www.turingfinance.com/misconceptions-about-neural-networks/) * [How XOR Led to Back Propagation](http://mnemstudio.org/neural-networks-multilayer-perceptrons.htm) * [XOR Problem Solution](http://www.mind.ilstu.edu/curriculum/artificial_neural_net/xor_problem_and_solution.php) * Assignment: Prepare for User Testing session next week. Week 11 - User Testing Week - 4/20/16 ------------------------------------- * 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. Week 12 - Final Project Presentations - 4/27/16 ----------------------------------------------- * [Presentation Guidelines](https://github.com/mimiyin/Nature-of-Code-S-16/wiki/Final-Project-Presentation-Guidelines) * Presentation Schedule and Guidelines TBA Rules of Play ----------------------------------------------- * 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.