Discrete Mathematics: An Open Introduction [pdf]

218 simonpure 40 6/10/2025, 1:48:07 AM discrete.openmathbooks.org ↗

Comments (40)

miki123211 · 13h ago
> The entire book is available for free as an interactive online ebook. This should work well on all screen sizes, including smart phones, and work well with screen readers for visually impaired students. Hints and solutions to examples and exercises are hidden but easily revealed by clicking on their links. Some exercises also allow you to enter and check your work, so you can try multiple times without spoiling the answer.

https://discrete.openmathbooks.org/dmoi4/

> The source files for this book are available on GitHub.

https://github.com/oscarlevin/discrete-book/

not-so-darkstar · 12h ago
totetsu · 19h ago
I love Cliff Stoll's introduction to this topic https://www.youtube.com/watch?v=W18FDEA1jRQ
giik · 16h ago
I am yet to find a better introduction than Busby and Kolman's "Introductory Discrete Structures with Applications".

Beautifully written, concise, very accessible with the precise right amount of formalism.

http://books.google.com/books/about/Introductory_Discrete_St...

3abiton · 13h ago
During my research years, we had to grind on Combinatorial Optimization book by Korte and Bygen for the weekly book reviews. Safe to say, it was not an introductory work. Still it was fun seeing the different examples my colleague would bring up during those meetings.
barrenko · 18h ago
This is on my todo list for just after https://slc.openlogicproject.org/.
Jtsummers · 20h ago
Two past discussions:

https://news.ycombinator.com/item?id=41267478 - Discussion on the 4th edition from 9 months ago.

https://news.ycombinator.com/item?id=23214961 - Discussion on the 3rd edition from 5 years ago.

vidro3 · 6h ago
Having just done a discrete math course the best resource has been Kimberley brehms videos on YouTube which follows very closely to a textbook though I can't recall the author at the moment
WhitneyLand · 21h ago
Think this would be a great course for high school or even middle school. No plug and chug that makes it a grind, plus a great intro to proofs and deeper mathematical thinking.
redczar · 20h ago
I taught mathematics for 30 years at the college level. This is a college level textbook and it is not appropriate for either high school or middle school. Very few students at that level would be able to understand this material.
dr_kiszonka · 17h ago
I need to develop more intuition and maturity to understand a few relatively math-heavy engineering methods and ML/DL papers. Would you have any recommendations for not very bright college students? Perhaps something similar to Calculus Made Easy? Also, have you ever taught math using software like Mathematica or SageMath? (I graduated from college a long while ago and don't really have the bandwidth to solve problem sets by hand. I never enjoyed it or learned much from it.)
throwaway81523 · 13h ago
Unfortunately the best way to develop intuition is to solve problem sets :). And for ML to make sense, understanding some probability theory might be more important than understanding calculus. In math heavy papers you'll need calculus and linear algebra too, but it's going to be hard to understand them without a fair amount of prior study. I took lots of math classes and wrote out problem sets, and I still can't read many of those papers.
WhitneyLand · 6h ago
I meant more the subject itself rather than this particular textbook, but I’m curious about your opinion in general.

I came to this opinion after taking it in college and not recalling very much in the way of needed prerequisites, but maybe this is a selective memory…

What are some of the biggest things needed beyond algebra?

vouaobrasil · 19h ago
Not so sure. There are quite a lot of bright high school students that could indeed understand it. Maybe not in general but for a special interest group for sure. The local university had a group covering stuff like this and I found it to be very fun as a high school student, and there were at least 5 people that I went to school with that could easily handle this material (and I didn't go to some special school, either).
chongli · 14h ago
Unless you’re talking about an elite private school where 5 student class sizes are the norm, no, a discrete math course is not appropriate for high school students.

I took an intro discrete math course in second year of university (at a school which is easily top 5 in math and engineering in my country) and I along with most of my peers struggled intensely with it, despite all of us having completed the proof-heavy courses in first year.

On the other hand, I routinely work with high school students who are unable to multiply a pair of single digit numbers without a calculator.

anthk · 15h ago
Discrete Math it's far easier than Calculus with infinitesimals, limits and curves everywhere.

As a programmer with Lisp experienc but not HS-er, I'd say that any kid learning Python would be at home with Discrete Math, or most Elementary kids playing RPG's/JRPG's at home.

chongli · 14h ago
Here’s a sample problem from discrete math when I took it in university:

For any integer n ≥ 0, let Cn be the set of all integer compositions of n with odd number of parts, and each part is congruent to 1 modulo 3. Prove that:

    |Cn| = [x^n] (x - x^4)/(1 - x^2 - 2x^3 + x^6)
Where [x^n] indicates the coefficient of the x^n term in the formal power series generated by the rational function (rational representation of the ordinary generating function).

I doubt many elementary school students would be able to solve problems like this.

rak1507 · 11h ago
Why not? All that is really required is knowing 1/(1-x) = 1+x+x^2+... and a bit of algebraic manipulation.
chongli · 10h ago
And the idea of a formal power series. And integer compositions. And combinatorial enumeration (counting sets in different ways for a proof). And a bit of set theory (cardinality of sets).

There is a whole lot of background stuff here that elementary school students do not have. Way more than what you’ve stated.

rak1507 · 10h ago
You definitely don't need to know any of that background to be able to arrive at the answer. To fully understand everything maybe, but all it takes is:

a = x^1 + x^4 + x^7 + ... = x(1 + x^3 + x^6 + ...) = x/(1-x^3)

a + a^3 + a^5 + ... = a(1 + a^2 + a^4 + ...) = a/(1-a^2)

Substitute + simplify. I don't think this is beyond a (fairly smart) elementary school student.

chongli · 7h ago
The question doesn’t ask for an answer, it asks for a proof. You can’t just write a bunch of algebra and call it a day. You have to justify all of your arguments.
rak1507 · 2h ago
There aren't really any complicated arguments being made, so I don't think a proof would be that involved.
redczar · 10h ago
You obviously have not taught mathematics to high school students.
cyberax · 13h ago
On the other hand, all the analysis really boils down to exploiting continuity and smoothness of functions. Once you get that, the epsilon-delta formulation becomes really obvious. And then you just keep building on top of it, adding layers and layers of abstraction, just like with programming.

With discrete math, there are really no unifying themes.

elbear · 11h ago
I would expect people to be more comfortable with discrete math, because we are more used to thinking of separate things as opposed to things without a boundry, so to say. There are exceptions to the latter, of course, like air, warmth, rain, etc.
anthk · 13h ago
I think of these with analogues with pixel rendering in order to understand integration and diferentiation on an intuitive way.

Once you 'see' how triangles/slopes are drawn on a GB/GBA, you begin to understand limits.

derivative of x^2 = 2x and a neglibile pixel/point that shouldn't be there but it 'exists' to show a changing factor.

briangriffinfan · 14h ago
This is already brilliant! I feel like giving myself a discrete math refresher.
anthk · 15h ago
Another CC book on discrete Math it's Gentle Introduction to the Art of Mathematics.
eabeezxjc · 18h ago
where is Polish translations?