Concepts in Discrete Mathematics