Discrete Mathematics for Computer Science (An Example-Based Introduction)