Discrete Mathematics for Computing