Mathematics for Computer Science (MIT 6.042J)
by Tom Leighton, Marten van Dijk · MIT OpenCourseWare
Discrete mathematics for computer science with an emphasis on definitions and proofs: logic, induction, sets and relations, graph theory, modular arithmetic, asymptotics, counting and discrete probability. 25 lecture videos, problem sets and exams with solutions build fluency in writing proofs.
More resources on Discrete Mathematics
Discrete Mathematics and Its Applications
Standard undergraduate discrete mathematics textbook covering logic, proof, sets, functions, algorithms, number theory, counting, relations, graphs and trees, with thousands of exercises. Its relations chapter develops equivalence relations, partial orders, closures and matrix representations to a level suited to computer science study.
Art of Problem Solving Discrete Math
The Art of Problem Solving wiki's entry point for discrete mathematics, defining the field and branching into combinatorics, graph theory, set theory, number theory, and abstract algebra. Written for competition students, with links into AoPS problem archives.
Discrete Mathematics: An Open Introduction
A free, open-licensed undergraduate textbook covering counting and combinatorics, sequences and recurrence relations, symbolic logic, proof techniques including induction, and graph theory, with many worked exercises. Readers build the discrete foundations needed for computer science and upper-level mathematics.
Algorithmic Aspects of Machine Learning (MIT 18.409)
Designing machine learning algorithms with provable guarantees: nonnegative matrix factorization, topic models, tensor decomposition, sparse recovery, dictionary learning and learning mixture models. Moitra's detailed lecture notes, which read as a complete monograph, and problem sets teach rigorous analysis of learning algorithms.
Theory of Computation (MIT 18.404J)
Sipser's course on automata, computability and complexity: regular and context-free languages, decidability, reducibility, the recursion theorem, time and space complexity, NP-completeness, hierarchy theorems, probabilistic computation and interactive proofs. 25 lecture videos, slides, problem sets and exams support rigorous proof-based study.
Dynamic Systems and Control (MIT 6.241J)
Analysis and control of linear time-invariant systems modeled by ordinary differential equations: state-space models, input-output response, feedback interconnections, stability and performance. Provides lecture notes, the full open textbook, and problem sets with solutions for designing controllers with guaranteed properties.