Resources
Everything worth your time
We do not follow a single source. Lectures are built from the textbooks and course sites below; each week page links the parts that matter that week.
Guides
Books
- Discrete Mathematics and Its Applications, 8th ed. Kenneth H. Rosen Main textbook. Chapter numbers on the week pages refer to this book.
- Discrete and Combinatorial Mathematics: An Applied Introduction, 5th ed. Ralph P. Grimaldi
- Mathematics for Computer Science ↗ Eric Lehman, Tom Leighton, Albert Meyer (2018) Free online.
- A Course in Discrete Structures ↗ Rafael Pass, Wei-Lung Dustin Tseng Free online.
- Building Blocks for Theoretical Computer Science ↗ Margaret M. Fleck Free online.
- Book of Proof, 3rd ed. ↗ Richard Hammack Free online. Excellent for proof writing.
- How to Prove It Daniel J. Velleman
- Proofs from THE BOOK, 6th ed. Martin Aigner, Günter M. Ziegler For the curious: the most beautiful proofs.
Other great courses
- BBM 205 Introduction to Discrete Mathematics ↗ Hacettepe University, CENG The course we follow most closely.
- 6.042J Mathematics for Computer Science (video lectures) ↗ MIT OpenCourseWare Full lectures, notes and problem sets.
- CS103 Mathematical Foundations of Computing ↗ Stanford University Superb on logic, proofs and cardinality.
- CS 70 Discrete Mathematics and Probability Theory ↗ UC Berkeley
- CSE 191 Introduction to Discrete Structures ↗ University at Buffalo
- CSE 191 class notes (older version) ↗ University at Buffalo
- CS381 Introduction to Discrete Structures ↗ Old Dominion University
Tools
- GitHub Codespaces ↗ VS Code in the browser, opened straight from your lab repository. Our lab editor; free within your personal GitHub quota.
- Classroom 50 ↗ Where you accept labs and see your autograded scores.
- cs50.dev ↗ Harvard CS50's free VS Code in the browser. Great for the exploration notebooks and practice; the graded labs use Codespaces.
- Python documentation ↗ itertools, sets and dictionaries are your friends this term.
- Truth Table Generator (Stanford) ↗ Check your hand-made truth tables.
- Graph Online ↗ Draw graphs and run classic algorithms visually.
- Lean 4 Natural Number Game ↗ Prove theorems with a computer, like a puzzle game.