Sets, standard sets, universal sets, set notation, ways of describing sets, cardinality, subsets,
proper subsets, the power set of a set, Venn diagrams, union, intersection, set difference,
complement of a set, disjoint sets, the definition of a partition, product sets.
The multiplication
principle, bits, binary strings, the number of elements in the power set,
the number of binary strings of length n, the addition principle,
the principle of inclusion-exclusion for 2 and 3 sets, permutations, combinations.
Sequences, defined both recursively and by general term.
Sigma (summation) notation, conversion from Sigma notation to long notation and vice versa.
Number systems, conversion between number systems, the Division Algorithm.
Factors, divisors, multiples, rules for the 'divides'-relation, units, composite numbers, primes, a basic primality test. Linear combinations, gcd, Euclid's algorithm (forwards and backwards). They must know that the numbers that can be written as linear combinations of m and n are precisely all the multiples of the gcd(m,n). Prime factorisation, the Fundamental Theorem of Arithmetic.
Functions, with emphasis on discrete functions. The floor and ceiling function. 1-1, onto, bijections, inverses.
Basic propositional logic: propositions, negation, and, or, contradiction, tautology,
truth tables, rules of logic, if-then statements, truth table for p implies q,
the quantifiers 'for all' and 'there exists', the contrapositive statement of p implies q.
Proof: what it means to be 'well-defined', direct proof, using the contrapositive statement to prove
a statement, proof by contradiction, proving biconditional statements, proof by counterexample,
proof by induction, using induction to prove a conjectured general term for a sequence defined by
a recurrence relation.
Solution of linear homogeneous recurrence relations with constant coefficients.
Terminology: Graph, edge, vertex, loops, parallel/multiple edge, simple graph, vertex v incident/not incident with edge e, vertex v adjacent/not adajcent to vertex w, digraph, arc, connected graph, components of a graph, spanning trees. Ways of representing graphs: Diagrams, adjacency lists, adjacency matrix, incidence matrix. The Handshaking Lemma (including proof). Isomorphisms of graphs: be able to prove whether two small graphs are isomorphic or not. Special graphs: The complete graphs, bipartite graphs, trees, cycle-graphs. Paths, cycles, Euler cycles, Hamiltonian cycles. Weighted graphs: Dijkstra's algorithm for finding the shortest path between two vertices in a weighted graph, Prim's and Kruskal's algorithms for finding minimal spanning trees.