I have been a software programmer for over six years and I'm from a non-mathematical background. Though I had some limited exposure to discrete mathematics in my college years it didn't leave any significant impact on me; but now I have been finding many topics on discrete mathematics to be very interesting, especially combinatorics and I'm interested in learning more of it.

However few people I had approached told me that I need to first master calculus in order to take on discrete math, as they say that's how it is taught in universities, is this true? do I need know calculus to appreciate discrete math? (Also, can anyone point me to any books on combinatorics for beginners)

  • 2
    $\begingroup$ In short, no. You do not need calculus to approach discrete math. $\endgroup$
    – davidlowryduda
    Aug 12, 2013 at 20:52
  • $\begingroup$ Any book entitled "mathematics for computer science" is good. $\endgroup$
    – user5402
    Aug 12, 2013 at 20:53
  • $\begingroup$ Agree with @mixedmath. I'm originally a compsci, but more recently I've learnt maths / calculus. I loved discrete mathematics when I did my compsci degree, and I can safely say that having done calculus now at degree level, it's not relevant to discrete mathematics. $\endgroup$
    – TooTone
    Aug 12, 2013 at 20:54
  • $\begingroup$ If you can read German, I can recommend "Diskrete Mathematik für Einsteiger" from Beutelspacher (ISBN 978-3-8348-1248-3). No university-level math is required to understand this book. $\endgroup$ Aug 13, 2013 at 10:44

1 Answer 1


What is termed discrete mathematics is largely independent of calculus. In fact, to appreciate calculus properly, one might need some logic and set theory which is often part of a course in discrete mathematics together with other topics like combinatorics, graph theory and elementary number theory. For a good elementary text in combinatorics, I recommend Principles and Techniques of Combinatorics by Chen Chuan Chong and Koh Khee Meng.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .