Welcome

Welcome to Aaron and Algorithms, where we discuss formal computer science and how it comes up in academia, industry, and interview questions.

Interview Questions

I enjoy doing those online interview puzzles through leetcode and codewars. I also use those in some volunteering I do: I give practice interviews, or go over data-structures-and-algorithms material, with a focus on these sort of questions. The blog posts here are basically my notes as I work to solve them, and I try to collect my favorites to draw on when my students ask for a question exercising a particular topic. My list-of-favorite questions can be found here.

Academia

I spent some time in grad school and particularly liked teaching, and a got a lot of joy out of seeing my students have those “aha” moments as they understood trickier parts of the curriculum, like the FFT algorithm or dynamic programming. I also enjoy exploring, in my own ways, some aspects of computation. I have a lot of old notes and projects I’d like to include here

Lambda Calculus in Prolog

It’s neat that we can have such different fundamental models of computation that ultimately all reflect the same underlying ideas. The classic “certificate” of this commonality is showing that they can emulate, and in turn be emulated by, a Turing machine. What if we do something different? My brief notes are here, and the full notes here.

SAT solver

A central problem in computer science. It has so many rich dimensions: complete solvers, randomized solvers, theoretical interest, industrial interest—I aways enjoy returning to it. My brief notes on my attempts and experiences implementing a complete solver, can be found here.

This site is a work-in-progress

I have more to say! Expect this page to be updated. Obviously there aren’t even the links, yet.