Logic and Discrete Mathematics: A Computer Science Perspective