This course covers the computer science applications of fundamental mathematical structures. Topics include logic, set theory, function, relations, algorithm, recursion, recurrence relations, principle of counting, graph theory, trees, and Boolean algebra. Students will be expected to complete projects for each topic involving formal proof techniques, mathematical reasoning and/or programming.

Prerequisite: [CSC 111 and MAT 301] or departmental approval

**Course Credit:** 4