Which discrete mathematics book to read for a software engineer? I'm a computer science student, but I lack a good mathematics background. So I decided to start working on that. 
I was searching in the topic and I found that for computer science a good knowledge of discrete mathematics would be good. searching in Amazon for Discrete mathematics I found two books that caught me:-
1- Discrete mathematics and its application (Author: Kenneth Rosen)
2- Discrete mathematics with application (Author: Susanna S. Epp )
The question is: Which one should I read and why?, and if there is a any better suggestions will be appreciated. 
Thank you
 A: Check out the encyclopaedic "Mathematics for Computer Science" by Lehman, Leighton, and Meyer. It is a set of lecture notes (updated each term or so), which covers lots of ground. I assume they will publish it sometime in the future, some parts are still marked as "work in progress." Best of all, it is available for free as PDF.
A: I would suggest the book by Rosen. It is easy to read, has lots of examples and has solutions to some of the exercise problems. It is one of the standard prescribed books for discrete mathematics (at least in CS departments)
A: I've never used Rosen. I've used both the Epp book and the Johnsonbaugh book. Epp is a very nice introductory book. It is geared more towards mathematics than to CS, but it is a nice book if your math is weak. Johnsonbaugh is far more technical, and I think far more relevant to a computer scientist. It is heavy on topics like graph theory, combinatorial circuits, number theory, algorithms, and automaton and formal languages. Johnsonbaugh has more of an applied feel that CS folk who are math averse tend to prefer. I think if you are reasonably mathematically proficient or have practice following algorithms, Johnsonbaugh is really the way to go. 
