Basics of combinatorics with emphasis on problem solving. Provability, pigeonhole principle, Mathematical induction. Counting techniques, generating functions, recurrence relations, Polyas counting formula, a theorem of Ramsey.