Fundamentals of Discrete Math for Computer Science by Ben Stephenson & Tom Jenkyns