This course builds the mathematical foundation of computer science. It introduces the elements of mathematics like sets, functions, relations that form the basics of almost the entirety of computer science. It gives a clear understanding about the formal statements and their proofs and the counting techniques. The course develops the concept of algebraic structures and how they are used in defining mathematical applications. All the topics are illustrated with a handful of problems to make the course interesting as well as easy to understand.