Discrete Mathematics: Methods and Challenges