Pseudocode

Not all algorithmic thinking occurs in front of a monitor with a keyboard at hand. In fact, it is often the case that the more complex an algorithm is, the more benefit...

Why Learn Python?

Why should you learn Python? There is a lot of talk about Python these days. It has become an extremely popular programming language. This article will take a look at some of...

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 %....