Topic outline

• General description

This course aims at introducing students to the logic involved in the study of computer science and various techniques of mathematics proof, especially reasoning. Students will be introduced to Boolean algebra and relevant theories, and its applications in the design of digital circuits using logical gates, to number theory and its applications in encryption, to relations, their representation and types, including equivalence relations and partial ordering, to the concept of the algorithm, types of algorithms and different ways to represent them and algorithm complexity calculation, to graphs, their properties and some basic algorithms as finding the shortest path, and finally to trees, types of trees including binary research trees, decision trees, Hoffman coding and some algorithms of minimum cost. Intended Learning Outcomes - Understand logic, propositional logic and its negation, direct and indirect proofs, and mathematical induction - Identify Boolean algebra, Boolean function and its simplification and realization using digital gates - Identify Number theory and its applications in encryption -Identify relations, their representation and types, equivalence relations and partial ordering - Understand the basic concept of algorithms, types and d algorithm complexity calculation - Identify the basic properties of graphs, and some basic algorithms as finding the shortest path - Identify trees, types of trees, binary research trees, and some algorithms of minimum cost.