Nature of Code
These video lessons accompany the introduction from the Nature of Code textbook.
For more: https://natureofcode.com
Video #0: Introduction
These video lessons accompany the introduction from The Nature of Code book.
Random Walker27 Jul 2015
In this video I will be introducing the concept of the random walker, as seen in my chapter of the Nature of Code.
Probability Basics27 Jul 2015
In this second section of Chapter I of the Nature of Code, we’ll be talking about basic probability.
Video #1: Vectors
These video lessons accompany Chapter 1 (Vectors) from The Nature of Code book.
Vectors28 Jul 2015
This video covers the topic vectors: What is a vector? How do vectors play a role in programming motion and physics simulation in Processing?
PVector class28 Jul 2015
In this video, I look at how to apply the concept of a vector in Processing itself using the PVector class. The video accompanies Chapter 1 from The Nature of Code book.
Vector Math28 Jul 2015
This video covers the basics of vector math. What is a vector? How do you add and subtract vectors? Leading up to using vectors in code!
Video #2: Forces
These video lessons accompany Chapter 2 (Forces) from The Nature of Code book.
What is a Force29 Jul 2015
This video discusses the definition of a “force” as well as an overview of Newton’s 3 laws of motion.
Applying a Force29 Jul 2015
This video covers how to apply a force to a moving object in Processing. These forces are “made-up” values and don’t yet involve more complex formulae (coming soon!)
Simulating with Mass29 Jul 2015
This video shows how to add mass to your object for a simulation with shapes of different sizes.
Video #3: Oscillation
These video lessons accompany Chapter 3 (Oscillation) from The Nature of Code book.
Angles and Angular Motion01 Aug 2015
This video describes how angles work in Processing and how you can model the angular motion of a shape.
Trigonometry and Polar Coordinates01 Aug 2015
This video describes the basics of trigonometry and how to use polar coordinates in Processing.
Simple Harmonic Motion01 Aug 2015
This video covers oscillating motion in Processing through the use of sine and cosine.
Video #4: Particle Systems
These video lessons accompany Chapter 4 (Particle Systems) from The Nature of Code book.
Particle Systems03 Aug 2015
This video introduces the idea of Particle Systems.
ArrayLists in Processing03 Aug 2015
This video shows how to use an ArrayList for creating a Particle System.
Deleting objects from ArrayList03 Aug 2015
This video covers how to remove Particle objects from an ArrayList while using a Particle System.
Video #5: Physics Libraries
These video lessons accompany Chapter 5 (Physics Libraries) from The Nature of Code book.
Introduction to Physics Engines Part 106 Mar 2017
In this video, I attempt to answer the questions: (1) what are Physics Engines? and (2) why would you want to use them? I discuss some common physics engines and their various pros/cons – box2d, toxiclibs, matter.js.
Introduction to Box2D06 Aug 2015
This video is an introduction to a tutorial series on the physics engine Box2D. The programming language is Java (with the jbox2d port). The Box2D for Processing library is demonstrated. In the video it’s called the old name: “PBox2D”
What makes up a Box2D world06 Aug 2015
This video goes over the basic elements of the Box2D world � body, shape, fixture, joint.
Video #6: Autonomous Agents
These video lessons accompany Chapter 6 (Autonomous Agents) from The Nature of Code book.
Autonomous Agents and Steering08 Aug 2015
This video introduces the concepts of autonomous agents and provides an overview of implementing Craig Reynolds steering behaviors in Processing.
Steering Behaviors Seek08 Aug 2015
This video covers the most basic Reynolds’ steering behavior: seeking a target.
Steering Behaviors Arrive08 Aug 2015
This video covers the arriving at a target, i.e. slowing down on approach.
Video #7: Cellular Automata
These video lessons accompany Chapter 7 (Cellular Automata) from The Nature of Code book.
Cellular Automata10 Aug 2015
This video introduces the concepts and algorithms behind Cellular Automata.
Wolfram Elementary Cellular Automata10 Aug 2015
This video covers the basics of Wolfram’s elementary 1D cellular automaton.
The Game of Life10 Aug 2015
This video covers the Game of Life 2D cellular automaton in Processing (Java).
Video #8: Fractals
These video lessons accompany Chapter 8 (Fractals) from The Nature of Code book.
Fractals11 Aug 2015
This video introduces Fractals.
Fractal Recursion11 Aug 2015
This video looks at how to write functions in Processing that call themselves (recursion) for the purpose of drawing fractals.
Fractal Recursion with ArrayList of Objects (Koch Curve)11 Aug 2015
This video looks at how to use an ArrayList to store the parts of a fractal as separate objects. This allows a fractal to experience physics. The Koch curve is used as a demonstration.
Video #9: Genetic Algorithms
These video lessons accompany Chapter 9 (Genetic Algorithms) from The Nature of Code book.
Genetic Algorithm Introduction29 Jul 2016
Welcome to part 1 of a new series of videos focused on Evolutionary Computing, and more specifically, Genetic Algorithms. In this tutorial, I introduce the concept of a genetic algorithm, how it can be used to approach “search” problems and how it relates to brute force algorithms.
Genetic Algorithm How it works29 Jul 2016
In part 2 of this genetic algorithm series, I explain how the concepts behind Darwinian Natural Selection are applied to a computational evolutionary algorithm.
Genetic Algorithm Shakespeare Monkey Example31 Jul 2016
Part 3 of the Genetic Algorithm series is dedicated to the Shakespeare Monkey Example. In this video, I use the evolutionary concepts from the previous video to compute a problem that a brute force algorithm wouldn’t be able to solve.
Video #10: Neural Networks
These video lessons accompany Chapter 10 (Neural Networks) from The Nature of Code book.
Introduction to Neural Networks26 Jun 2017
Welcome to Chapter 10 of The Nature of Code: Neural Networks. In this video, I provide a brief introduction neural networks and an overview of topics in upcoming videos.
Doodle Classifier Introduction Intelligence and Learning05 Mar 2018
Neural Networks Perceptron Part 108 Jun 2017
In this video, I continue my machine learning series and build a simple Perceptron in Processing (Java).
Video #11: Neuroevolution
These video lessons accompany Chapter 11 (Neuroevolution) from The Nature of Code book.
Introduction to Neuroevolution12 Mar 2018
Welcome to a new topic in the Nature of Code series: Neuroevolution!
Neuroevolution Crossover and Mutation15 Mar 2018
In this video I begin the process of coding a neuroevolution simulation and
mutate()methods to the neural network library
Neuroevolution Flappy Bird with TensorFlow.j24 Apr 2019