Learn discrete mathematics in four months
Four months at about seven hours a week — roughly 120 hours — takes someone with high-school algebra to the level of a first university discrete math course: proofs, logic, sets, induction, counting, graphs and basic probability. You'll need to do the problems. Watching proofs is not the same as writing them.
4 months · ~120 hours · pass an MIT 6.042J final under exam conditions
1.Book of Proof — Richard Hammack
The hard part of discrete math isn't the content, it's that it's suddenly all proofs. Hammack, a mathematician at Virginia Commonwealth University, wrote the clearest introduction to proof-writing there is, and gives it away. Work chapters 1 through 10: sets, logic, counting, direct proof, contrapositive, contradiction, induction. Do the odd-numbered exercises — solutions are in the back — and write every proof out in full sentences. When induction feels mechanical, you're ready to move on.
Free PDF; print edition ~$20
Book of Proof →2.MIT 6.042J — Mathematics for Computer Science
MIT's discrete math course, taught by Albert Meyer and Adam Chlipala, with the full free textbook by Eric Lehman, Tom Leighton and Meyer — one of the best discrete math texts at any price. Use the Spring 2015 version on OpenCourseWare: short lecture videos, reading assignments and in-class problems. Cover well-ordering, state machines, number theory, graphs, relations, counting and discrete probability. Skip a chapter only if Hammack already made it easy.
Free
MIT 6.042J on OpenCourseWare →3.The 6.042J problem sets and exams — on paper
This is where you actually learn it. Do every problem set from the same OCW course, on paper, before opening the solutions. Give each problem a real 30 minutes before you look; struggling productively is the point. In the last two weeks, sit a past midterm and final in one timed sitting each. If you score above 60% on the final without notes, you have a working command of discrete math at the level most CS programs expect.
Free; a stack of paper
6.042J syllabus and assignments →If this doesn't fit you
If MIT's pace feels brutal, replace step 2 with Oscar Levin's free Discrete Mathematics: An Open Introduction and Trefor Bazett's discrete math playlist on YouTube. Levin is gentler and has plenty of worked examples; Bazett explains each topic in ten-minute videos. You'll lose some depth in probability and number theory and gain about a month of sanity.
Why this path
Most people meet discrete math in a course using Rosen's thousand-page textbook and drown in topics before they can write a proof. Proof-writing is the bottleneck, so this path fixes it first with Hammack. Then 6.042J supplies a rigorous, CS-oriented tour of every topic you'll need for algorithms, cryptography and interviews. Both are free, both are excellent, and the MIT problem sets are what turn reading into ability.