Mathematics for programmers (early draft)