A course in creative computing that uses p5.js to capture natural phenomena in the physical world started on May 3rd on Kadenze. Taught by Dan Shiffman, Processing Foundation's co-founder, with guest lectures from Lauren McCarthy, artist, programmer and creator of p5.js.
To meet the course instructors and for an introduction to p5.js see the video in p5.js Bringing Processing To The Web.
The cryptic name of this course, The Nature of Code is explained is this course description:
Can we capture the unpredictable evolutionary and emergent properties of nature in software? Can understanding the mathematical principles behind our physical world help us to create digital worlds? This class focuses on the programming strategies and techniques behind computer simulations of natural systems. We explore topics ranging from basic mathematics and physics concepts to more advanced simulations of complex systems. Subjects covered include physics simulation, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. Examples are demonstrated using the p5.js environment with a focus on object oriented programming.
For more information see this video from the ever-exuberant Dan Shiffman.
The course opened its doors on May 3rd and has the following timetable:
- Session 1: Introduction / Overview (May 3, 2016)
In this session we’ll review the basics of p5.js and get everyone up and running with posting sketches online. We’ll look at how object-oriented programming works in JS and create simple sketches of objects moving around a canvas.
- Session 2: Vectors / Forces (May 17, 2016)
This session will look at the concept of a vector and implement sketches using a p5.Vector object. By creating objects with vectors for position, velocity, and acceleration, we’ll build a simple “hello world” physics engine.
- Session 3: Steering Behaviors (May 31, 2016)
This session, we’ll examine a special kind of force (pioneered by Craig Reynolds) — a steering force — that moves an object according to its own goals or desires. Examples are wandering, seeking a target, path following, obstacle avoidance, and more. We’ll then look at how group behaviors can be simulated by combining multiple steering behaviors according to local interactions between objects.
- Session 4: Fractals (June 14, 2016)
In this session we will cover the concept of a fractal and look at ways of generating fractal patterns with code.
- Session 5: Genetic Algorithms (June 28, 2016)
This session will look at the key concepts of Darwinian evolution — variation, selection, heredity — and examine how they can be applied in a computer simulation.
Kadenze’s free tier allows you to the video lectures and participate in Forum discussions. If you want to submit assignments receive grades and a certificate of accomplishment, premium membership is $10 a month.
Shiffman is also the author of a book with the same name as the course. It covers much of the same subject matter - understanding the mathematical principles behind the physical world to help us to create digital worlds and programming strategies and techniques behind computer simulations of natural systems - but the book's examples are in Processing.
When it first appeared on the scene, Github was one of a kind and a true visionary amongst its rivals still using Subversion, Bazaar or Mercurial as their source control system.
After an outcry from its existing customers when it announced a new a subscription service for its range of desktop developer tools, JetBrains has now settled on a pricing model that includes a Perpetual Fallback Licence. Is this enough?
- PowerShell Replaces Command Prompt
- Revealing the Who and Why of Node.js Use
- Uber Drivers Gaming the Algorithm
- Competitive Self-Play Trains AI Well
- Microsoft Showcases Key Value Store
- Top 10 From Around The Web: More Angular Resources
- Google Invests $22 Million In A Fork Of Firefox OS
- Microsoft Open Sources PowerShell And It Runs On Linux
- SQL Server Development Edition For Free
- Go 1.7 Goes Faster and in More Directions
- Help Choose Next EE4J Name
- Microsoft's Astoria Android Emulation Might Not Happen
- Algorithms & Data Structures MicroMasters