Sets, Logic and Maths for Computing (Undergraduate Topics in Computer Science)