When information is transmitted, errors are likely to occur. Coding theory examines efficient ways of packaging data so that these errors can be detected, or even corrected. The traditional tools of coding theory have come from combinatorics and group theory. Lately, however, coding theorists have added techniques from algebraic geometry to their toolboxes. In particular, by re-interpreting the Reed-Solomon codes, one can see how to define new codes based on divisors on algebraic curves. For instance, using modular curves over finite fields, Tsfasman, Vladut, and Zink showed that one can define a sequence of codes with asymptotically better parameters than any previously known codes. This monograph is based on a series of lectures the author gave as part of the IAS/PCMI program on arithmetic algebraic geometry. Here, the reader is introduced to the exciting field of algebraic geometric coding theory. Presenting the material in the same conversational tone of the lectures, the author covers linear codes, including cyclic codes, and both bounds and asymptotic bounds on the parameters of codes. Algebraic geometry is introduced, with particular attention given to projective curves, rational functions and divisors. The construction of algebraic geometric codes is given, and the Tsfasman-Vladut-Zink result mentioned above is discussed. This book is published in cooperation with IAS/Park City Mathematics Institute.