Degree Level Course
Discrete Mathematics
This course introduces the mathematical foundations essential for computer science and data science. It begins with sets, functions, and sequences, establishing the language used to describe computational structures. The course then develops formal reasoning through propositional logic, predicates, and proof techniques, enabling learners to construct rigorous arguments. Induction and recursion are explored as fundamental tools for defining and analyzing discrete structures and algorithms. Building on these foundations, the course covers counting principles and combinatorics, including permutations, combinations, and the inclusion–exclusion principle, which are widely used in algorithm design and data analysis. Relations and their properties, including equivalence relations and partial orderings, are studied to understand structured data and hierarchies. Graph theory introduces basic concepts of graphs and trees, central to modeling networks and dependencies. Finally, algebraic structures such as semigroups, monoids, and groups are presented to provide a deeper understanding of symmetry and structure in computation. Overall, the course equips learners with the ability to model problems formally, reason precisely, and apply discrete mathematical techniques to real-world computational challenges.
Course ID: BSMA3001
Course Credits: 4
Course Type: Elective
Pre-requisites: None