This course provides students with insight, knowledge and skills in solving mathematical problems. The material coverage includes concepts and principles of problem solving as a process, as an approach and as a strategy in understanding mathematical concepts (for example, making diagrams, making lists, guessing and checking, recognizing patterns, etc.) and high-level problem solving strategies that are usually used to solve mathematics olympiad problems, for example, invariant principle, coloring, extreme principle, box principle, and their application in learning. Lectures are carried out using discussion and assignment methods, and presentations.