Programming for Mathematicians (Universitext)