This course will provide an introduction to the discrete mathematical tools needed to analyze algorithms and systems. Enumerative combinatorics: basic counting principles, inclusion-exclusion, and generating functions. Matrix notation. Applied discrete probability. Finite automata.
This course introduces mathematical tools for the qualitative and quantitative analysis of algorithms and computer systems. It also explores the mathematical theory of discrete structures useful in modeling computational processes and hence in designing the same. Topics to be covered include basic enumeration and counting techniques; recurrence relations; graph theory; asymptotic notation; elementary applied discrete probability. Other related topics will be presented as time permits.
CSE 20 or Math 15A with a passing grade of C- or better. Credit not offered for both Math 15B and CSE 21.
Equivalent to Math 15B. Please see Prerequisites page.
NOTE: Repeat credit process for cross-reference courses: Students may receive credit for CSE 21 or Math 15B. These courses have been cross-referenced, therefore, a petition is not required for using either course when completing major requirements. However, if you fail one of the courses listed about you should take the SAME COURSE for REPEAT CREDIT. If you use another course that is equivalent, the repeat credit is not automatic and you will need to petition for repeat credit.
Every quarter: Fall, Winter, and Spring.