I have been plugging away at discrete math for a while now. I can say, with no reservations, that it has been worth it. I did not just decide one day to study DM. This all started as an attempt to understand graph theory as it applies to workflow analysis. Books and papers I have read about workflow analysis seem to fall into two broad categories: those that are mostly descriptive in nature and those that are mathematical.

Descriptive workflow writings depict workflows using flowcharts, swim lane diagrams, or analogous representations. These diagrams are accompanied by narrative descriptions of what they represent. Different authors use different ways of representing and describing workflows, making it difficult to compare one author’s methodology with that of another.

When I read Will van der Aalst’s book on workflow management, I found the mathematical treatment of workflow using graph theory to be semantically more precise and easier to relate directly to programming code than the descriptive sources. After reading Steve Yegge’s blog, I realized that graph theory might be the key to creating better workflow algorithms. Therefore, I decided to study discrete math.

The first problem I ran into was trying to find a decent book. I considered the book Yegge mentioned in his blog, Discrete Mathematics and Its Applications, by Kenneth Rosen. Amazon reviews of Rosen’s book stated that it was dense and sometimes difficult to follow. Discrete Mathematics with Applications, by Susan Epps had a reputation for being easier to understand and better for self-study, so I went with it. I am very glad I did. It is one of the best math books I have ever read. The author explains concepts in detail, and in plain English, while introducing formal math notation. Sample exercises occur throughout the narrative, which helps reinforce the points made. Additional exercises appear at the end of each chapter and detailed solutions are given in the appendices. Both books provide online resources for additional study.

I decided to follow a standard curriculum for an undergraduate course. Fortunately, plenty of undergraduate courses materials available via a Google search. MIT Open Courseware has a complete course available online.

Thus far, I have covered propositional and predicate logic, set theory, and functions in depth. Even this limited number of topics has enabled me to understand algorithms better—a major plus. Also, hexadecimal is no longer a pain. Even though I started this quest because of graph theory, so far I have skimmed only a couple of sections on this topic. The chapters on logic are so clear and interesting that I have delayed reading about graph theory in order to do the chapters on elementary number theory, methods of proof, sequences, and induction. Yeah, I know—right? These topics are supposed to be less exciting than watching paint dry, but what can I say? At the current rate, unless life intervenes, I hope to get to graph theory in a couple of months. Not to worry, I am enjoying every moment. In case anyone wishes to join me, below is a list of resources that I have found useful. Enjoy. *Seriously*.

**Resources
**Schaum’s Outline of Discrete Mathematics, Revised Third Edition

Overall, this a good resource for practice questions. However, the logic section seemed too basic.

How to Prove It: A Structured Approach. D Velleman

This is a great book for learning to read and do proofs. The terminology and symbols are very close to those used by Dr. Epps, which made it easy for me to follow. I wrote to Dr. Velleman and he was kind enough to send me an updated problem set for the most recent edition of the book.

Support site for Discrete Mathematics with Applications. S Epps

This site has a range of exercises and links to web resources

Math for Computer Science, MIT Open Courseware

This site provides a complete course text along with syllabus, notes, exams, and problem sets.

The problem for me is that it seems that Susanna Epps’ book is far too basic. Also its exercises seem to be too easy. I couldn’t understand the least bit of what the professor is talking about even after I read her book. Though I’m currently studying as an exchange student in Pontificia University of Chile, therefore language itself is one of the problems, the book still seems to be provide no help at all. It’s such a pain.

The book seems really well-written and easy to follow but after reading it I couldn’t do even one of my assignments. That’s the problem.

Since discovering the Epp book, I have reviewed other discrete math books. Most are about equal in terms of quality. However, the area that the Epp book shines is logic and proof. It provides the clearest explanation of rules of inference, implications, and predicates of all books I have reviewed. For me, it was even better than books specially written to teach proof techniques.

One of the things that I believe makes discrete math difficult, compared to calculus or trig, is that DM is about understanding mathematics and where it comes from.

Did have trouble with any specific topic?