Understanding Discrete Mathematics and Its Applications