This is a bonus part 5 of my evolutionary steering behaviors coding challenge. Here, I add a DOM checkbox to be enable/disable the debugging view of the sketch.
Here I add a feature for saving and loading a bird brain model.
In this video, I implement another possible solution to Golan Levins Circle Morphing challenge (as seenhere.
In the second part of this coding challenge, using p5.js, I move through the grid created in Part 1 by evaluating which neighbouring cell will be the next one to be visited.
In this coding challenge, I make something called a Word Interactor (help me with a better name!) using regular expressions, JavaScript, and the p5.js library for DOM manipulation.
In this coding challenge, I create a clone of the multiplayer online game Agar.io using JavaScript (p5.js). This is only the beginning of this challenge where I build out the basic game mechanics. I plan to make a follow-up to this video and add the multiplayer functionality of the game using node.js and websockets.
In this coding challenge, I program from scratch the Mandelbrot set with p5.js
In this multi-part challenge, I attempt to re-create the classic Atari video game Frogger in Processing (Java).
In this multi-part coding challenge, I attempt to create a simulation of the classic board game Snakes & Ladders (also known as Chutes and Ladders). In this third part, I add states in order to animate the players movements and help me debug.
In this coding challenge, I explore the concept of recursion to create fractal patterns in JavaScript HTML5 canvas with the p5.js library.
In this multi-part coding challenge, I attempt to code the sliding puzzle game 2048 in JavaScript using canvas and p5.js. In part 4 of my 2048 coding challenge, I attempt but mostly fail to improve the visuals of the game, fix a bug and refactor the code a bit.
In this coding challenge, I attempt to make a Wikipedia web crawler in JavaScript. It randomly crawls from topic to topic on Wikipedia using the API and the p5.js library.
Part 2 of the Plinko coding challenge! In this video I add boundaries to the sketch and delete offscreen bodies. I also add buckets at the bottom for the particles to land in.
In this coding challenge, I create a chrome extension which replaces all image on a page with the picture of a kitten.
In this coding challenge, I attempt an implementation of the A* Pathfinding Algorithm to find the optimal path between two points in a 2D grid. I begin by explaining the mechanics of how the algorithm works, look at pseudo-code, and then write the algorithm in JavaScript using the p5.js library for rendering.
In this coding challenge, I visualize earthquake data from theUSGSby mapping the latitude, longitude and the magnitude of earthquakes with p5.js.
In part 2 of this challenge, I add the unikitty image as a texture to a waving flag, created with toxiclibs verlet physics.
In this coding challenge, I implement Pixel Sorting in Processing (Java). Using a selection sort algorithm, I sort the pixels of an image by brightness and hue.
In part 2 of this multi-part coding challenge, I add the actual snakes and ladders to my game.
In this coding challenge, I create an acrostic generator with the Wordnik API and p5.js. This challenge is part of my Programming with Text series.
In this coding challenge, I use the superformula to make a 3D supershape in Processing. This is part 4 of a multi-part series on superformulas, superellipses and supershapes
In this third installment of my series on algorithmic botany, I discuss L-systems and how they can be used to generate tree and other fractal patterns in p5.js.
In this coding challenge, I implement Langtons Ant in Processing.
In this coding challenge, Im using the space colonization algorithm to make a tree generator. This is the 4th part of my algorithmic botany series.
In this coding challenge, I attempt to create a solution to the Traveling Sales Person with a genetic algorithm. This is part 4 of the Traveling Salesperson Coding Challenge.
In this coding challenge, I follow up on the Earthquake Data Visualization challenge and create a 3D version in Processing(Java) using spherical coordinates. I also discuss some 3D vector math including the cross product.
In this coding challenge, I use my Toy Neural Networks library to solve the XOR problem.
In this coding challenge, I implement a system of particles that respond to attraction / repulsion forces.
In this coding challenge, Im going to show you how to create a Fractal Tree with a recursive algorithm in p5.js.
In this challenge, I attempt (emphasis on the word attempt) to program the classic video game Pong in Processing (Java).
In coding challenge, I use my neural network JavaScript library to create a color predictor.
In this coding challenge, I attempt to code the Menger Sponge (fractals) using Processing.
This coding challenge is part of the first week of my course: Intelligence and Learning. Here I attempt to implement a classic data structure: The Binary Search Tree.
In the final part of the Maze Generator challenge, using p5.js, I cover the concept of a stack and how its going to help us generate a maze using the Depth-First Search Recursive algorithm
In this coding challenge, I show you how to make 2D supershapes in p5.js.
In this coding challenge, I continue the topic of algorithmic botany with another way of generating a tree. With this method, every part of the tree will be an object, so that we can apply forces and attributes to each element
In this coding challenge, I attempt to program a clock in HTML5 canvas with the p5.js library.
In this multi-part coding challenge, I attempt to code the sliding puzzle game 2048 in JavaScript using canvas and p5.js. In part 3, I add the score, adjust the font size and add a condition for winning the game.
This video is Part 1 of a new coding challenge: the classic Atari video game Asteroids! In this video, I use JavaScript and HTML5 canvas with the p5.js library to program the ship and the asteroids.
In this coding challenge, I build a word counting (concordance) web application in JavaScript. The video demonstrates a use of associate arrays, regular expressions, and other techniques previously covered as part of Programming from A to Z.
In this coding challenge, I implement a Poisson-disc Sampling algorithm to evenly (but randomly) distribute a set of seed points throughoutt a canvas. The algorithm is implemented in JavaScript using p5.js.
In this coding challenge, I demonstrate a circle packing algorithm and use it to fill the outline of a text path (in this case, this new year 2017) using Processing (Java).
In this multi-part coding challenge, I attempt to code the sliding puzzle game 2048 in JavaScript using canvas and p5.js. I continue the game mechanics in part 2.
In this special holiday season coding challenge, I attempt to create a snowfall simulation using p5.js, sprite sheets and Perlin noise wind.
In this coding challenge, I code a Context-Free Grammar text generator from scratch. The concept of recursion is explored. This video is part of Session 7 of the Programming from A to Z ITP class.
In the second part of this coding challenge, using Processing, I take the code from the2D Solar System (Part 1)and turn it three-dimensional.
In Part 2 of this coding challenge, I discuss Lexicographic Ordering (aka Lexical Order) and demonstrate one algorithm to iterate over all the permutations of an array.
This is part 3 (five parts total) of an evolutionary steering behaviors coding challenge. The goal is to create a system where autonomous steering agents evolve the behavior of eating food (green dots) and avoiding poison (red dots).
In this viewer submitted coding challenge, I program a cellular mitosis simulation in p5.js.
In this coding challenge, I implement a pixel-based fire algorithm using Processing (Java).
This coding challenge is the second in a series on kinematics! In this video I demonstrate forward inverse kinematics in Processing (Java) and create an eel or snake-like creature that follows the mouse.
In this coding challenge, I make a Mad Libs web application using p5.js and tabletop.js (a JavaScript library for connecting to google sheet data.)
This is Part 5 of the Traveling Salesperson coding challenge. In this video, I add a crossover algorithm to the Genetic Algorithm.
In this coding challenge, I use trigonometry and perlin noise to procedurally generate butterfly wing designs with p5.js. This challenge is inspired by Katie Rose PipkinsMoth Generator.
In the third video on kinematics, I use inverse kinematics to create a tentacle-like creature (fixed to a base point) that tries to reach for the mouse.
In this coding challenge, I program from the Julia Set fractal in Processing (Java).
In part 3 of the Word Counting coding challenge, I implement an algorithm known as TF-IDF (Term Frequency Inverse Document Frequency). The algorithm scores each words relevance for a given document based on its frequency in one document relative to all others in a corpus. This is one possible methods for keyword generation.
In this two part challenge, I cover the Breadth-First Search algorithm is and implement it in JavaScript. My demo application is 6 Degrees of Kevin Bacon (finding the closest relationship between Kevin Bacon and another actor).
In this coding challenge, I visualize the Barnsley Fern fractal with Processing (Java).
Celebrating the 500,000 subscribers milestone, I create a map visualization of Coding Train subscriber locations around the world!
In this challenge, I expand thelinear exampleinto polynomial regression!
This is part 2 (five parts total) of an evolutionary steering behaviors coding challenge. The goal is to create a system where autonomous steering agents evolve the behavior of eating food (green dots) and avoiding poison (red dots).
In this coding challenge, I make a HTML5 canvas doodling application (with p5.js). Users can save and share drawings in real-time with the Database as a Service (DBaaS) Firebase.
In this coding challenge, I implement a Random Walker using the p5.js library. This video is part of my Spring 2017 course Nature of Code at Tisch NYU.
In this coding challenge, I attempt to make 3D Knots using Processing and Paul Bourkes formulae.
In Part 1 of this coding challenge, using p5.js, I create the cells which are going to become our maze.
In this (very long) coding challenge, I implement a genetic algorithm from scratch and create smart rockets (based on a simulation by Jer Thorp). The rockets evolve the best path to a target, moving around obstacles.
In this follow-up to the Frogger coding challenge, I attempt to refactor the code to make it more modular, readable, and scalable.
In this coding challenge, I continue one of my favorite subjects: Algorithmic botany! This video covers the subject of Phyllotaxis, what it is and how it can be used to generate sunflower-like patterns inspired by nature.
In part 3 of this coding challenge, using Processing, I add texture to the 3D objects created inpart 2. The PShape class and createShape() functions are covered.
In this short coding challenge, I demonstrate how to turn an circle (or any shape you want) into a blob and give the edges have a liquidy / blobby / wobbly look. A technique using beginShape() and endShape() along with perlin noise is used.
In this video, I use the p5.js library to create a web-based countdown timer. I discuss the native JavaScript method setInterval() and well as p5s millis().
In part 3 of the Quadtree coding challenge, I apply the algorithm to particle system collisions and test its performance.
In Part 3 of this coding challenge, I look at ways to improve the visual design of the A* Algorithm and invite you to put your own spin on it.
In this coding challenge, I use the toxiclibs physics library to create a 3D cloth in Processing.
In this multi-part coding challenge, I attempt to code the sliding puzzle game 2048 in JavaScript using canvas and p5.js. This first part focuses on the game mechanics.
This is the first in a new series of videos. In this video I attempt to program a star field or warp speed visualization in Processing.
This is part 4 (five parts total) of an evolutionary steering behaviors coding challenge. The goal is to create a system where autonomous steering agents evolve the behavior of eating food (green dots) and avoiding poison (red dots).
In this coding challenge, I create a sphere in Processing using spherical coordinates and triangle strips. This is the 3rd part of a multi-part series on superformulas, superellipses and supershapes.
In this video refine the neural network and genetic algorithm parameters as well as speed of the simulation during the training process.
In this follow-up to the Binary Tree coding challenge, I look at the very beginning steps to visualizing the tree. Make and share your own!
In this coding challenge, inspired by Numberphile I visualize sandpiles with Processing (Java).
This is Part 1 of a two-part coding challenge on Sentiment Analysis with the AFINN-111 word list. In this video, I explain what the AFINN-111 is and how to convert Tab Separated Values (.tsv) data into JSON data. This video is part of Session 8 of the Programming from A to Z ITP class.
In this 4th of July themed coding challenge, I build an HTML5 canvas fireworks simulation from scratch using the p5.js JavaScript library. I also show how to use Processing to create 3D Fireworks.
In this coding challenge, I create a movie recommendation engine using the a nearest neighbor algorithm. In Part 2 of, I iterate through all the users to find the nearest neighbors and list the most similar users.
In this coding challenge, I visualize solving XOR once again, this time with the TensorFlow.js library.
In this coding challenge I attempt to create a chatbot that plays a number guessing game. I use the RiveScript along the JavaScript library p5.js.
In this coding challenge, I attempt to simulate 2D water ripples using Processing (Java).
In this coding challenge, I create a Chrome Extension which adds a p5.js drawing canvas on top of any webpage you visit.
In this challenge, I use the TensorFlow.js library to create an interactive demonstration of linear regression (with stochastic gradient descent!)
This is part 1 (five parts total) of an evolutionary steering behaviors coding challenge. The goal is to create a system where autonomous steering agents evolve the behavior of eating food (green dots) and avoiding poison (red dots).
In this coding challenge, I use Perlin noise to create a two-dimensional flow field with the p5.js library
In this two part coding challenge, I demonstrate how to render geometry with an image texture (making a waving flag). In this first part, I cover the beginShape(), endShape(), and texture() functions and discuss different options like TRIANGLE_STRIP, QUAD_STRIP, and more.
In this coding challenge, I make what a Diastic generator. The Diastic technique is a methodology and algorithm for generating found poetry from a source text. It was developed and used by poet / artist Jackson Mac Low. In this challenge, I generate diastic poems using p5.js.
In this multi-part coding challenge, I attempt to create a simulation of the classic board game Snakes & Ladders (also known as Chutes and Ladders). In this second part, I add the snakes and ladders to the game.
In Part 2 of this coding challenge, I implement sentiment analysis using the AFINN-111 (link below) word list. A single page web app analyzes the valence (positive vs negative) of text as a user types into a text area. This video is part of Session 8 of the Programming from A to Z ITP class.
This challenge is a continuation of thenumber guessing chatbot. In this version, I add the p5.Speech library for a voice interface.
In yet another Pi Day coding challenge, I attempt to generate a pdf Book of Pi with the first 10 million digits of Pi mapped to color. Processing (Java) is used for this project.
In this coding challenge, I attempt to program in JavaScript (using the p5.js framework) a clone of the game Flappy Bird.
In this coding challenge, Im going to use superformulas to create a superellipse in p5.js. This is part 1 of a multi-part series on superformulas, superellipses and supershapes.
This video is Part 2 of a coding challenge where I attempt to make a make a clone of of the popular multiplayer online game Agar.io. In this session, I implement the real-time multiplayer aspect of agar.io using socket.io and node.js.
In this coding challenge, I discuss how to use the newly released White House social media data to make simple data visualization example with p5.js.
In this coding challenge, I explore the generative algorithm Diffusion-Limited Aggregation. The DLA visual pattern is generated from random walkers clustering around a seed (or set of seed) point(s).
In this challenge, I attempt to code the classic game Minesweeper in JavaScript with the p5.js library. This video builds on some previous tutorials related to the Prototypes and multi-dimensional arrays in JavaScript.
In Part 2 of the Frogger coding challenge, I add the first row of obstacles to avoid.
In Part 2 of this coding challenge, I attempt to use a Markov Chain to generate a new name for my YouTube channel. The code reads from a list of name suggestions submitted by viewers.
In this coding challenge, I create a 3D procedural terrain using Perlin Noise and the beginShape() function in Processing.
Part 4 of the Plinko coding challenge! In this final video, I add sound to the simulation, a bell ring each time a particle hits a peg.
In this coding challenge, I attempt to create a Fractal Spirograph with Processing (Java). The visuals are inspired by images and explanation on C. J. Chens blog.
In this coding challenge, I create a movie recommendation engine using the a nearest neighbor algorithm. In Part 1, I demonstrate you how to calculate a similarity score between two data points.
In a previous challenge, I created a clone of the popular online game Flappy Bird. In this coding challenge, I make the game audio-responsive and control the bird by clapping.
In this coding challenge, I attempt to make a chrome extension that looks up a selected words definition using the Wordnik API.
Part 1 of the Plinko coding challenge! In this video I create a plinko simulation in HTML5 Canvas using the Matter.js physics engine and p5.js for drawing.
This is part two of the Breadth-First Search algorithm is and implement it in JavaScript. My demo application is 6 Degrees of Kevin Bacon (finding the closest relationship between Kevin Bacon and another actor).
In this coding challenge, I use use a monte carlo method to approximate the value of Pi in Processing (Java).
Happy Star Wars day! May the fourth be with you! In this challenge I attempt to code the iconic text scrolling/title crawl in Processing (Java).
In this coding challenge, I use a collection of Obama Administrations facebook images to create a photo mosaic of President Obama with Processing (Java).
In this coding challenge, I create a double pendulum simulation in Processing.
In part 2 of the Quadtree coding challenge, I query the data structure for points contained within a rectangular boundary.
In this short addendum to theAnimated Circle Packing challenge, I demonstrate how to combine the circle packing algorithm with looking up pixel colors in an image to create an abstract portrait of a kitten.
I attempt to improve the Neuroevolution Flappy Bird Coding Challenge.
In this coding challenge, I use the p5.js library to make a visual representation of the Reaction Diffusion Algorithm.
In this coding challenge, I implement a Quadtree data structure in JavaScript and visualize it with p5.js.
Watch me take on some viewer submitted Coding Challenges in p5.js and Processing!
In this coding challenge, I continue the discussion on Random Walkers. I implement a random walker using vectors in p5.js, which allows me to vary the distance of each step size. I also implement a Lvy Flight, named after french mathematician Paul Lvy.
This video is Part 2 of a new coding challenge: the classic Atari video game Asteroids! In this video, I use JavaScript and HTML5 canvas with the p5.js library to program the laser functionality and examine collision detection with the asteroids.
In this coding challenge, I explore the concept of a simple particle system and attempt to create a smoke effect with the p5.js library.
In this coding challenge, Im building on top of theSpace Colonization videoand creating a 3D Fractal Tree, using the same algorithm, in Processing
In this second Pi Day coding challenge, I attempt to visualize the digits of Pi.PiTrain
In this coding challenge, I attempt to create rose (rhodonea) curves using trigonometry function and polar coordinates.
In this viewer submitted coding challenge, I attempt to code a Purple Rain Simulator in Processing.
In this bonus super-sized coding challenge, I work through visualizing Islamic Star Patterns in p5.js based onthis University of Waterloo paper
In part 3 of the Maze Generator challenge, using p5.js, I cover steps 3 and 4 of the recursive backtracker algorithm to generate a maze: Removing walls and marking current cell as visited.
In this coding challenge, I attempt to code Conways Game of Life cellular automata simulation in JavaScript using the p5.js library.
In this viewer submitted coding challenge, I take on the task of coding a Space Invaders game to play in browser in JavaScript/HTML and the p5.js library.
This coding challenge is the first in a series on kinematics! In Part 1, I demonstrate forward kinematics in Processing (Java).
In the third part of the Frogger coding challenge, I implement the rows of logs/turtles that the frog jumps onto.
In this coding challenge, I attempt to create a version of the classic one-line Commodore 64 BASIC program in JavaScript using p5.js. This coding challenge is inspired by the book 10 PRINT.
In this coding challenge, I build a word counting (concordance) application using the Processing (Java) development environment. I show one example of visualizing the counts with font size.
In this coding challenge, I attempt to code a p5.js version of the Snake Game.
This coding challenge is a follow up on the challenge 54: Islamic Star Patterns. In this video, I use the Law of Sines to simplify the tiling pattern calculation.
In Part 2 of this A* Algorithm coding challenge, I focus on adding obstacles (walls) to the grid as well as functionality for moving diagonally.
In this video, I implement one possible solution to Golan Levins Circle Morphing challenge.
In this coding challenge, I show you how to code from scratch Metaballs(Isosurfaces) in Processing and how to control them using the Blob Detection method from my previous computer vision video.
In Part 1 of this coding challenge, I discuss the concepts of N-grams and Markov Chains as they relate to text. I use Markov chains to generate text automatically based on a source text.
In this coding challenge, I show you how to visualization the Lorenz Attractor in Processing (Java).
In Part 3 of the Traveling Salesperson coding challenge, I take the lexicographic ordering algorithm apply it to a brute-force solution of the Traveling Salesperson problem. Every single route permutation is checked one by one.
In this coding challenge, I create a movie recommendation engine using the a nearest neighbor algorithm. In this third (and final) part, I use the K-Nearest Neighbor machine learning algorithm to predict ratings for movies I havent seen yet.
In this last coding challenge on kinematics, I wrap all of the code for inverse kinematics into an object and create an array of many tentacle-like creatures. The creatures reach for a bouncing ball (an idea from the Coding Math YouTube channel). All examples are in Processing (Java).
In this viewer submitted coding challenge, I make a 2D Solar System Generator in Processing.
In Part 1 of this multi-part coding challenge, I introduce the classic computer science Traveling Salesperson problem (traveling salesman (sic) for search) and discussing the pitfalls with a brute force solution.
Part 3 of the Plinko coding challenge! In this video, I add a little bit of randomness to the sketch so that the particles path varies. I experiment with the peg size and the disc color as well as tweak the physics settings.
In this coding challenge, I attempt recreate a 3D @beesandbombs GIF with p5.js and the WebGL renderer.
In this coding challenge, I look at extracting font path points from text in p5.js with p5.Font.textToPoints(). I render the text as particles with steering behaviors that react to the mouse.
In this coding challenge, I attempt to implement the Floyd-Steinberg Dithering algorithm and create a image stippling effect on an image (kitten, of course) using Processing.