Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Other Sellers on Amazon
+ Free Shipping
+ $3.99 shipping
The Nature of Code: Simulating Natural Systems with Processing Paperback – December 13, 2012
|New from||Used from|
Garth Brooks: The Anthology Part 1 | Limited Edition
A great gift for country music fans, The Anthology Part 1 includes CDs containing the music of Garth's first five years, and behind-the-scenes photographs and stories never before made public. Learn more
Frequently bought together
Customers who bought this item also bought
About the Author
Daniel Shiffman is an Assistant Arts Professor in the Interactive Telecommunications Program (ITP) at NYU's Tisch School of the Arts. Originally from Baltimore, Daniel received a bachelor of arts in mathematics and philosophy from Yale University and his master's degree from ITP. He develops tutorials, examples, and libraries for Processing, the open-source programming language and environment created by Casey Reas and Ben Fry. He is also the author of Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (2008).
If you buy a new print edition of this book (or purchased one in the past), you can buy the Kindle Edition for FREE. Print edition purchase must be sold by Amazon. Learn more.
For thousands of qualifying books, your past, present, and future print-edition purchases now lets you buy the Kindle edition for $2.99 or less. (Textbooks available for $9.99 or less.)
Browse award-winning titles. See more
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Now, Shiffman's "The Nature of Code" takes the material to the next level, with intelligent and well-organized coverage of in-depth topics such as vectors, fractals, and cellular automata. I would not recommend beginning programming with this book (though it could be done by a dedicated learner). Rather, I think it helps to be familiar with programming in Processing, and to at least feel comfortable around mathematics. Don't get me wrong...you don't have to be a math whiz to appreciate this book, but Shiffman does not shy away from presenting the necessary mathematics to really help the reader "get" the programming concepts. This could easily become the text for a follow-up to the course I've been teaching.
One additional note: it's worth finding Shiffman's website for this book, so that you get a better appreciation for how he went about publishing it and releasing it. He deserves a lot of credit for approaching it the way he did.
If someone asks me for a Processing book recommendation, I have typically recommend Shiffman's "Learning Processing". Now, I have a pair of books to recommend...his Processing books are easily my favorite!
Beginning chapters are focused on physics and calculus. There were some of the best explanations I have ever seen for showing the concepts and how formulas work. I was thinking how much better it would have been if I had learned calculus from a book like this. There are excellent details how forces, vectors, and angles work. Working examples are implemented in using Processing.
The middle of the book tells you which libraries are useful. The author takes the time to explain which parts you want to implement your self and when you should rely on a given library.
Later parts of the book go into more advanced natural systems such as simulating biological events. Some genetic algorithms are presented, and lastly the building blocks of neural networks are examined. Descriptions are geared towards beginners and the walk through is quite detailed.
This book works whether you want to learn programming or simulate natural events. Examples are shown from a beginner's perspective in a way that leads the reader to clearer understanding.
I learned Processing and Java a few years ago and used this book to learn C++. The concepts from the book can easily be transferred to any programming language, although it helps if a good drawing framework can be used. In my case I used the fabulous Cinder framework (libcinder.org). I translated most of the examples. Info about the C++ code can be found here: