Algorithm Animations

If a picture is worth 1000 words, an animation is worth even more! Fully understanding an algorithm can be hard, and it is helpful to be able to reason about it in...

Computer Science Pedagogy

This post is a work in progress where I will collect pedagogical tips about teaching Computer Science distilled from my 15+ years’ teaching experience. They are phrased as advice to teachers, but...

The Modulo Operator in Python

The modulo operator is used in Python programming when you need to find the remainder of integer division. It comes up in many important algorithms, and is represented by the symbol %....

2-Dimensional Lists in Python

2-dimensional lists are an extremely important data structure in Python programming, with many applications. They can be very confusing to begin with, and you should make sure you are confident and competent...