Discrete Mathematics For New Technology by John Taylor & Rowan Garnier