This subject offers an interactive introduction to discrete mathematics oriented toward computer science and engineering. The subject coverage divides roughly into thirds: Fundamental concepts of mathematics: Definitions, proofs, sets, functions, relations. Discrete structures: graphs, state machines, modular arithmetic, counting. Discrete probability theory. On completion of 6.042J, students will be able to explain and apply the basic methods of discrete (noncontinuous) mathematics in computer science. They will be able to use these methods in subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems.Interactive site components can be found on the Unit pages in the left-hand navigational bar, starting with Unit 1: Proofs.
A. Slivkins. (2019)cite arxiv:1904.07272Comment: The manuscript is complete, but comments are very welcome! To be published with Foundations and Trends in Machine Learning.
M. Raginsky, and I. Sason. (2012)cite arxiv:1212.4663Comment: Foundations and Trends in Communications and Information Theory, vol. 10, no 1-2, pp. 1-248, 2013. Second edition was published in October 2014. ISBN to printed book: 978-1-60198-906-2.
G. Peyré, and M. Cuturi. (2018)cite arxiv:1803.00567Comment: new version with corrected typo in Eq. 4.43 and 4.44 (minus sign in front of f, g now changed to +).
R. O'Donnell. (2021)cite arxiv:2105.10386Comment: First edition originally published April 2014, in hardcover book format by Cambridge University Press, and electronically on the author's website. This arXiv version corrects 100+ typos and errors, but is otherwise essentially the same.