Mathematical reasoning: introduction to logic, propositional and predicate calculus; negation disjunction and conjunction; implication and equivalence; truth tables; predicates; quantifiers; natural deduction; rules of Inference; methods of proofs; use in program proving; resolution principle; Set theory: Paradoxes in set theory; inductive definition of sets and proof by induction; Relations, representation of relations by graphs; properties of relations, equivalence relations and partitions; Partial orderings; Linear and well-ordered sets; Functions: mappings, injection and surjection, composition of functions; inverse functions; special functions; Piano postulates; Recursive function theory; Elementary combinatory; counting techniques; recurrence relation; generating functions. Graph Theory: elements of graph theory, Planar Graphs, Graph Coloring, Euler graph, Hamiltonian path, trees and their applications Mathematical reasoning: introduction to logic, propositional and predicate calculus; negation disjunction and conjunction; implication and equivalence; truth tables; predicates; quantifiers; natural deduction; rules of Inference; methods of proofs; use in program proving; resolution principle; Set theory: Paradoxes in set theory; inductive definition of sets and proof by induction; Relations, representation of relations by graphs; properties of relations, equivalence relations and partitions; Partial orderings; Linear and well-ordered sets; Functions: mappings, injection and surjection, composition of functions; inverse functions; special functions; Piano postulates; Recursive function theory; Elementary combinatory; counting techniques; recurrence relation; generating functions. Graph Theory: elements of graph theory, Planar Graphs, Graph Coloring, Euler graph, Hamiltonian path, trees and their applications