Codes and Curves This paper gives an example-driven overview of algebraic-geometry codes, with attention confined to bivariate Goppa codes. J. Walker's _Codes and Curves_ uses notation that is standard for graduate mathematics, but unfortunately does not discuss decoding; O. Pretzel's _Codes and Algebraic Curves_ gives a full discussion, but using non-standard notation. The current work is a synthesis of the two, extending Walker's work by including a discussion of the Skorobogatov-Vladut (SV) decoding algorithm. First, notation for finite fields is given; then, the engineering problem is defined. Selected concepts from algebraic geometry are introduced, illustrated by examples. The construction and encoding of Goppa codes is described, followed by an exposition of the SV decoding algorithm. Several worked examples are shown. Software implementations of the encoder and decoder are discussed, followed by performance analysis and comparison with other codes. Finally, directions for further research are sketched. John Kerl Master's thesis defense April 20, 2005