DISCRETE MATHEMATICS
Course Description
This course covers the mathematical topics most directly related to computer engineering. It places emphasis on providing a context for the application of the mathematics within computer engineering.
Course Objectives
This course aims at:
(i) Explaining the core principles of mathematical logic and its applicability to computer engineering. Utilize symbolic logic and truth tables to prove equivalence and formulate statements into symbolic form using logical connectives and quantifiers.
(ii) Identifying and employ different proof methods, including direct proofs, proofs by contradiction and mathematical induction.
(iii) Presenting abstract notions and reasoning through the introduction and manipulation of basic ideas from theory of sets, functions and relations.
(iv) Describing main counting techniques including the Inclusion-Exclusion and Pigeonhole principle and employ them to solve problems of combinatorial nature.
(v) Discussing basic concepts of Elementary Graph Theory, and apply Kruskall’s algorithm for finding minimal spanning trees in related problem situations.
Learning outcomes
Upon successful completion of the course, students should be able to:
a) State and prove appropriate theorems explain how a theorem applies to specific examples,
b) Apply the concepts and techniques of the syllabus to solve appropriate engineering problems,
c) Understand and apply appropriate algorithms,
d) Use mathematical and other terminology appropriately to communicate information and understanding.
e) Use ideas and techniques from discrete mathematics (mainly focus on Set theory, Boolean Algebra, Mathematical Logic, Methods of Proof, Graph theory and Automata), which are widely used in Computer Engineering.