The Nature of Code
Back to Teaching






I’m please to announce that I am working on expanding all of these tutorials into a book! You can buy PDF drafts!.
Spring 2010 Syllabus: http://itp.nyu.edu/varwiki/Syllabus/Nature-of-Code-S10
Spring 2009 Syllabus: http://itp.nyu.edu/varwiki/Syllabus/Nature-of-Code-S09
Spring 2008 Syllabus: http://itp.nyu.edu/varwiki/Syllabus/Nature-of-Code-S08
Tutorials
Collisions (full tutorial coming soon)
Physics Libraries
L-Systems and Cellular Automata
Description:
Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world world help us to create digital worlds? This class will focus on the programming strategies and techniques behind computer simulations of natural systems. We’ll explore topics ranging from basic mathematics and physics concepts to more advanced simulations of complex systems. Subjects covered will include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. Examples will be demonstrated using Processing with a focus on object oriented programming.
Recommended Reading
These tutorials use the programming environment Processing. If you are not familiar with Processing, visit www.processing.org. For a beginner’s introduction to programming fundamentals with Processing (everything you need to know to be ready for these tutorials), check out my book:
13 Responses to “The Nature of Code”
- 1 Pingback on Dec 11th, 2005 at 8:46 am
- 2 Pingback on Jan 21st, 2006 at 5:35 am
- 3 Pingback on Feb 16th, 2006 at 12:26 pm
- 4 Pingback on Aug 3rd, 2009 at 8:33 pm

Very interesting syllabus
Interesting syllabus. I am curently exploring Quartz Composer on my new mac and it seems that much of this could apply. I have a strong background in mathematics and OO software development. Glad to see use of Wolfram text.
A world of lightness, bound by “mathematical particles”: the jump of a philosopher, that will create little “imaginations”.
Very exciting. I am taking this course this Spring and can not wait to explore to express my thoughts through programming strategies and techniques.
This is indeed a fantastic resource. Thank you for making this publicly available.
Hello Daniel,
I am a computer science major at berlin’s technical university and i must say that your course is by far the most beautiful and inspiring approach to this rather complex field of topics i have seen so far.
Thank you for publishing all of this, especially your reading resources. I ordered some of them today.
Regards,
Olaf
I am looking for the most general, universal patterns-paradigms that are evident in nature, particularly as they carry through paleontology from ancestor life-form to more advanced; I also wish to correlate this with chemical
patterns, not just gross physical appearances. There should be interlinking to
underlying the mathematics.
Hi,
I learned a great deal out of your applets. I was able to get the necessary inspiration to write my own version in JAVA. I would like to know if you can come up with an applet simulating water.
Thanks
so amazing!!! this is exactly the kind of stuff i am looking for
thanks for this