This page lists some of the talks/guest lectures I've given, along with the lecture slides as a PDF.
A survey of the algorithms from my Darts, Dice, and Coins article.
An overview of the "Evil Hangman" assignment for the Nifty Assignments panel.
An exploration of two classic problems - the "odd ball" problem and iteratively listing permutations - using specialized number systems.
An introduction to graphs and graph searches.
An introduction to the smoothsort algorithm.
An introduction to algorithmic analysis, big-O notation, and sorting algorithms. Part one of two.
Continuation of Part One. Mergesort and recurrence relations. Quicksort, along with runtime analysis. Introduction to hybrid sorts, including introsort. Concludes with a brief foray into bogosort.
An introduction to template metaprogramming in C++, including applications and theoretical results.
A quick tour of the STL and C++ outside of Stanford's CS106B class.