Mathematical logic: propositional logic, predicate logic, mathematical reasoning and proof techniques; set theory: sets, relations, partial ordered sets, functions; counting: permutations, combinations, principles of inclusion and exclusion; discrete probability; functions: recurrence relations and recursive algorithms; growth of functions; graph theory: graphs, paths, trees; algebraic structures: rings and groups