How can we use code to capture the unpredictable properties of nature? How can understanding the mathematical principles behind our physical world help us create interesting digital environments? Written by “The Coding Train” YouTube star Daniel Shiffman, The Nature of Code is a beginner-friendly creative coding tutorial that explores a range of programming strategies for developing computer simulations of natural systems—from elementary concepts in math and physics to sophisticated machine-learning algorithms.
Using the same enthusiastic style on display in Shiffman’s popular YT channel, this book makes learning to program fun, empowering you to generate fascinating graphical output while refining your problem-solving and algorithmic-thinking skills. You’ll progress from building a basic physics engine that simulates the effects of forces like gravity and wind resistance, to creating evolving systems of intelligent autonomous agents that can learn from their mistakes and adapt to their environment.
The Nature of Code introduces important topics such as:
Randomness
Forces and vectors
Trigonometry
Cellular automata and fractals
Genetic algorithms
Neural networks
Learn from an expert how to transform your beginner-level skills into writing well-organized, thoughtful programs that set the stage for further experiments in generative design.
NOTE: All examples are written with p5.js, a JavaScript library for creative coding, and are available on the book’s website.
Since 2008, CreativeApplications.Net (CAN) has been a driving force, tirelessly influencing and shaping the conversations surrounding technology, society, and critical making. With a community of 1600+ members and a vast library boasting over 3,500 meticulously curated projects, experiments, texts, and reviews, CAN stands resolute as an unparalleled resource for students, educators, practitioners, curators, and cultural producers.
However, as we navigate the stark reality of independent publishing, we need your help! Please embark on this journey with us, extending your support by joining our community as a Member and contributing to our shared mission of propelling CAN forward.
Joining CAN is only $20 per year! (less than $2 per month) and it includes:
Access thousands of projects, scores of essays, interviews and reviews.
Post your projects, events, announcements.
Join our Discord for events, open calls and even more projects.
Tutorials (beginners and advanced) with code examples and downloads.
Find employers who have recruited here in the past (over 1,000 jobs).
Special offers and giveaways (events, books and media).
No advertisements or banners of any kind, ad-free reading!
Joining CAN as an organisation (up to 40 users) is $200 per year and it includes:
Everything in the 'Standard' option plus:
Submit articles/announcements as often as you need, carefully edited and published on the site by our team of writers.
Reach thousands of daily CAN readers through articles and social media.
Join our Discord to publicise events, open calls or projects.
Your activities are boosted on our social media channels.
Since 2008, CreativeApplications.Net has been a driving force, tirelessly shaping the conversations about technology, society, and critical making. From online and offline publications to live events, CAN has shaped many of the innovative creative practices we know today.
As a member, you can access all content on CAN, post your own projects, join the conversations, and enjoy ad-free reading!
Your support also ensures we keep the site as ad-free as possible, allowing us to focus on what we do best: showcase amazing work. Above all, you will join because you believe in the value of CAN and wish to see it thrive for years to come.
We use cookies to ensure that we give you the best experience on our website. Please be aware that your experience may be disrupted until you accept cookies.OKNoRead more