Surprises in Puzzle Video Games (pdf) (video)

Presented at the University of Alberta’s Undistinguished Lecture Series in Winter 2022. I talked about how surprising behavior can emerge within simple systems in computers, and how these ideas are applied to game design in the puzzle video games, The Witness and Baba is You.

How to win two-player impartial games using number theory (video)

Presented to AlphaStar Academy students in Summer 2020 on two-player impartial games that can be analyzed with strategies involving number theory. I taught the winning strategies so that you can beat your friends at these games, and also showed how these ideas were also used in DeepBlue, the chess program which beat Garry Kasparov at chess.

Cellular Automata Presentations (pdf) (pdf2)

Two talks from my summer research project in Summer 2020. The goals of these talks were to see how cellular automata could be used for a wide range of applications, with a specific emphasis on their applicability in heuristic search.

Gradient Descent Towards Neural Networks (pdf) (video)

An introduction to neural networks for a handwritten digit recognizer using the MNIST data set from April 2019. Practical examples of the code were also given using Tensorflow’s Keras.

Welcome to Undergraduate Artificial Intelligence Society (pdf)

A talk I gave to a new student group I founded in October 2018, with the goal of making everyone excited about artificial intelligence. The talk was well attended and ran two times, and the student group is still around today. Check out their activities at