Mathematics for Computer Science (6.042J)
About this course
Mathematics for Computer Science is the discrete math course at MIT that underpins algorithm analysis, cryptography, and the theoretical foundations of computing. It covers mathematical proof techniques, number theory, graph theory, probability and counting — the mathematical machinery that algorithm proofs, data structures analysis, and cryptographic systems depend on.
This is the course most self-taught developers identify as the largest gap in their CS background — they've learned to build software but haven't been exposed to the mathematical reasoning that proves why algorithms work or bounds their performance. Tom Leighton and Albert Meyer teach it with the rigor of MIT's undergraduate CS curriculum while keeping concrete examples that connect the math to real computer science applications.
What you'll learn
This course includes
Compare alternatives for Mathematics for Computer Science (6.042J)
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 40 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeCompletely free, openly licensed — no certificate
- Duration
- 34 hrs
- Level
- Intermediate
- Certificate
- Price
- FreeFree lecture materials; some versions paid
- Duration
- 50 hrs
- Level
- Advanced
- Certificate
- Price
- FreeFree lecture materials; some versions paid
- Duration
- 50 hrs
- Level
- Advanced
- Certificate
Instructor
Taught by Tom Leighton (MIT professor and co-founder of Akamai Technologies) and Albert Meyer, MIT Professor of Computer Science — both known for connecting mathematical theory to practical CS.
Requirements
- Basic algebra and some programming experience recommended
- No prior proof-writing or discrete math experience required
Who this course is for
- Self-taught developers who want the discrete math background formal CS degrees provide
- CS students supplementing coursework with MIT-level materials
- Software engineers preparing for algorithm-heavy technical interviews