I describe the UCLA Math Circle as a Sunday school for gifted kids.

As a lead instructor at the Circle, I guided my cohort of students through topics from UCLA's undergraduate math curriculum, redesigned for their cognitive capacities. Take a look at some of my favorite handouts that we taught!

We also experimented with teaching programming.

I noticed that some students struggled with solving cryptarithms. Sensing an opportunity to deviate from pen and paper, I animated some videos to illustrate how a computational approach to problem solving could automate insight.

Once the children were sold on programming, we decided to teach Python through a series of Colab notebooks. Coordinating access to laptops was chaotic, but well worth the effort to let the kids proceed at their own pace.

After the cohort had developed basic Python proficiency, we launched into a quarter long group project. The goal was to learn the pure math necessary to model the geometry of the game Set, and then program a solver as a class.

Over the course of 10 weeks we covered: groups, finite fields, vector spaces, as well as Python functions and classes. These topics culminated in a handout modeling Set as a vector space, and a class-wide implementation of a solver.

Game driver design doc

TeX for the pure math handouts