An Elementary Introduction to Coding. The Concept of Coding. Binary Linear Codes. General Linear Codes. Reed-Solomon Codes. Recursive Construction I. Universal Hashing. Designs and the Binary Golay Code. Shannon Entropy. Asymptotic Results. 3-Dimensional Codes, Projective Planes. Summary and Outlook. The Theory of Codes and Their Applications. Subfield Codes and Trace Codes. Cyclic Codes. Recursive Constructions, Covering Radius. OA in Statistics and Computer Science. The Geometric Description of Codes. Additive Codes. Algebraic Curves. Introduction. Applications to Coding Theory.