Life, the Universe, and JavaScript

A half-day workshop that uses modern JavaScript to explore Conway’s Game of Life, complex numbers, fractal geometry and the Mandelbrot set.

For centuries, human beings have built machines to explore the world around us. We’ve built microscopes that have revealed a hidden world of wonders too small to see with the naked eye; we’ve sent satellites and probes into deep space to explore the most distant reaches of our universe… and in the last few decades, we’ve used the power of digital computers to explore another hidden world; a world of mathematics and information.

Dylan Beattie’s talk “The Art of Code” has been presented at conferences all over the world and had over half a million views on YouTube. In this workshop, Dylan will show you some of the code and algorithms used to create the examples and visualisations used in that talk.

What You’ll Learn

Conway’s Game of Life

You’ll learn how to implement Conway’s Game of Life in JavaScript, using the HTML Canvas API to render the Game of Life directly in your web browser. We’ll look at how to load and run classic Game of Life patterns - gliders, glider guns, spaceships - and how to use those patterns to build simple logic gates and circuits.

We’ll also look at how you can use advanced programming techniques like bit fields and bitwise arithmetic to build high-performance implementations of Conway’s Game of Life.

Fractal Geometry and the Mandelbrot Set

In the second part of the workshop, you’ll learn about imaginary numbers, complex arithmetic - and how this mathematical curiosity holds the key to one of the most astonishing objects in nature, the Mandelbrot set. We’ll implement a library in JavaScript to do arithmetic with complex numbers, and then use this library and the browser canvas API to draw the famous Mandelbrot set, and explore the relationship between the Mandelbrot set and the family of related shapes known as the Julia sets.

Prerequisites

You’re very welcome to just join the class, watch and ask questions, but you’ll get more out of these workshops if you write your own code and see how it all works for yourself. You’ll need a computer with a web browser, and a text editor - if you don’t have a favourite editor, I recommend installing Visual Studio Code. All the examples will be written in plain JavaScript, and should run just fine in any modern web browser.

About the Trainer

Dylan Beattie is a software developer, musician and international keynote speaker. With over 20 years experience working in the software industry, Dylan has spoken and taught at over 100 software development conferences all over the world. He's the founder and director of Ursatile, established in 2020 to provide high-quality workshop training for software professionals. He was CTO at Skills Matter in London from 2017-2019, and throughout 2020 he's been working with NDC Conferences to virtualise their events in the wake of the coronavirus pandemic.

Dylan is a Microsoft MVP for Developer Technologies, and the creator of the Rockstar programming language. You can find him online at dylanbeattie.net or on Twitter as @dylanbeattie

Upcoming Course Dates

No public dates are currently scheduled.

If you'd like to run this workshop for your team or at your conference, please get in touch

Alternatively, join the mailing list to find out when new course dates are announced.