Mathspp Blog

A blog dedicated to mathematics and programming!

This blog has a really interesting assortment of articles on mathematics and programming. You can use the tags to your right to find topics that interest you, or you may want to have a look at

You can also subscribe to the blog newsletter.

In how many ways can you place 8 queens on a chessboard?

Today I learned how to write the Quicksort algorithm in a weird functional style.

This article will teach you about the minimax algorithm and alpha-beta pruning, from a beginner's perspective.

This article compares the three main string formatting methods in Python and suggests which methods to use in each situation.

Today I learned about the DARPA network challenge and the power of referral systems.

This is a short article on how I quickly used APL to verify my combinatorics calculations.

Can you make the pyramid point the other way by moving only three coins?

Today I learned you can use pathlib to read the contents of a file.

When you call a function in Python and give it some arguments... Are they passed by value? No! By reference? No! They're passed by assignment.

Today I learned how the rich comparison protocol and, in particular, how eq works behind the scenes.

Can you help these kids trick or treat their entire neighbourhood in this Halloween special?

How can two doctors operate two patients with only two pairs of latex gloves?!

Today I learned that Python 3.5+ supports the operator @ for matrix multiplication.

Today I learned that you can use emojis as variable names in Python if you use pythonji.

Today I learned that Python generators can return a value.

Today I learned about the built-in function vars in Python.

Can you draw 4 triangles in this 5 by 5 grid, covering all dots?

Today I learned that the .join method in Python is a two-pass algorithm, and that's why joining a list comprehension is faster than a generator expression.

Today I learned about the math.nextafter method.

This Pydon't will teach you how to use Python's conditional expressions.