The purpose of this course is to understand and use (abstract) discrete structuresthat are backbones of computer science. In particular, this class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.