A good background in algebra is required. In particular students are expected to know how to solve linear and quadratic equations, and be able to manipulate algebraic expressions. Basic knowledge of elementary functions and their graphs is also desirable. Students without the assumed knowledge should check with the topic coordinator as to the background required, as there will be no additional assistance to compensate for missing background.
This topic includes: Basic Logic (propositional logic, truth tables, tautology, contradiction, logical equivalences, predicate logic, quantifiers, valid arguments); Proof Techniques and Elementary Number Theory (nature of proof, direct/indirect proofs, mathematical induction, proofs by contradiction, existence and constructive proofs, counterexamples, divisibility, factorization theorem, quotient-remainder theorem); Functions, Relations, Sets (set theoretic proofs, functions, cardinality, partial order relations), Basics of Counting (addition/multiplication principle, permutations and combinations, pigeonhole principle, binomial theorem); Recursion (method of iteration, second-order linear homogeneous relations, recursive definitions); Elements of Cryptography (modular arithmetic, congruence relations, Euclid's lemma, Fermat's Little Theorem, Chinese Remainder Theorem, RSA cipher); Graphs and Trees (paths and circuits, Euler and Hamiltonian circuits, matrix representations, Dijkstra's shortest path algorithm, isomorphism of graphs, spanning trees, minimum spanning trees, Kruskal's algorithm). Variety of applications of the covered material will be discussed throughout the topic.