One text I'd recommend highly, and it will give you a very solid foundation in Discrete Math, and more, is Graham, Knuth, and Patashnik's Concrete Mathematics: A Foundation for Computer Science.
From the description available at the link above:
This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills - the skills needed to solve complex problems, to evaluate horrendous sums, and to discover subtle patterns in data.... Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics....
...The book includes more than 500 exercises, divided into six categories. Complete answers are provided for all exercises, except research problems, making the book particularly valuable for self-study. Major topics include: *Sums *Recurrences *Integer functions *Elementary number theory *Binomial coefficients *Generating functions *Discrete probability *Asymptotic methods