CS33 Discrete Mathematical Structures

The purpose of this course is to understand and use (abstract) discrete structures that are backbones of computer science. In particular, this class is meant to introduce logic, proofs, sets, relations, functions, counting, and probability, with an emphasis on applications in computer science.

At the end of the course, students should be able to:

    1. Understand the notion of mathematical logic & proofs and be able to apply them in problem solving.
    2. Solve problems which involve discrete data structures such as discrete relations and its associated properties.
    3. Apply basic counting techniques and combinatorics in the context of discrete probability.
    4. Demonstrate knowledge of fundamental concepts in graphs, trees and its properties using various modeling techniques.
    5. Solve problems on number theory and its applications.

Syllabus