This tutorial on polar coding will start by describing the basic information polarization concepts. This will be followed by polar code constructions and a description of the successive cancellation decoding algorithm. Some performance results, comparing polar codes with state-of-the-art codes used in the standards, will be given and the practical potential of polar codes will be discussed. Finally, a number of more recent results as well as some open problems will be presented. The tutorial is intended for graduate students as well as specialists in the field. Familiarity with basic notions of information theory and elementary knowledge of martingales will be assumed.