Combinatorics: Basic counting techniques. Principle of inclusion and exclusion. Recurrence relations and generating functions. Pigeon-hole principle, Ramsey theory. Standard counting numbers, Polya enumeration theorem. Graph Theory: Elementary notions, Shortest path problems. Eulerian and Hamiltonian graphs, The Chinese postman problem. Matchings, the personal assignment prolem. Colouring or Graphs. Number Theory: Divisibility Arithmetic functions. Congruences. Diophantine equations. Fermat’s big theorem, Quadratic reciprocity laws. Primitive roots.