Course Overview
There is no content in this section.
To add content, click on the above link ‘Edit course text’
Course Content
Enrolment options
Latest Courses
Discrete mathematics is a branch of mathematics that deals with finite and discrete objects, such as integers, sets, graphs, logic, and algorithms. It is often used as a foundation for computer science, software engineering, cryptography, data science, and other fields that involve computation and information. In this course the following topics will be covered: Logic and proofs: how to use symbols, truth tables, and rules of inference to reason about propositions, predicates, and quantifiers. Sets and functions: how to define, manipulate, and compare sets, relations, functions, and cardinality. Number theory and cryptography: how to use modular arithmetic, divisibility, prime numbers, and congruences to encrypt and decrypt messages, and to test the security of cryptographic schemes. Combinatorics and probability: how to count and enumerate objects, permutations, combinations, binomial coefficients, and apply the principles of inclusion-exclusion, pigeonhole, and induction. Recursion and recurrence relations: how to define and solve problems that involve recursive definitions, such as Fibonacci numbers, factorial, and Tower of Hanoi. Graph theory and algorithms: how to represent, traverse, and analyze graphs, trees, networks, and their properties, such as connectivity, coloring, Eulerian and Hamiltonian paths, and planarity. Computability and complexity: how to classify problems and algorithms according to their decidability, solvability, and efficiency, using concepts such as Turing machines, halting problems, NP-completeness, and big-O notation.