CS 102 introduces a number of topics in the mathematical foundations of computer science: logic, sets, functions, relations, basic number theory, proof methods, combinatorics, probability, recurrence relations, graphs, and models of computation.


Prerequisites: CS 101 (or concurrently)
Suggested course(s) to take next: CS 201, CS 202

Discrete math is a course required for the math major at many other colleges, but a hidden treasure at Middlebury. This course provides a solid foundation of problem solving, working primarily with integers.
-- Amy Bigelow '05

Courses like mathematical foundations of computing opened my eyes to the vast array of different applications & fields of computer science.
-- Mutuku Mulwa '06

Any self-respecting computer scientist should know about sets, proofs, functions, combinatorics, graphs, trees, state machines, and probability. In this course, you get all that and more.
-- Prof. Huang