This document introduces discrete mathematics. Discrete mathematics develops mathematical thinking and problem solving abilities, and is particularly relevant for computer science students. It involves the study of discrete, distinct objects rather than continuous ones. Topics covered in discrete mathematics include set theory, relations, functions, logic, orders, combinations, graph theory, and finite state automation. Discrete mathematics can be used to solve problems involving sorting lists, finding shortest paths, combinations, and encrypting messages.