This is a self-contained introduction to algebraic curves over finite
fields and geometric Goppa codes. There are four main divisions in the
book. The first is a brief exposition of basic concepts and facts of the
theory of error-correcting codes (Part I). The second is a complete
presentation of the theory of algebraic curves, especially the curves
defined over finite fields (Part II). The third is a detailed
description of the theory of classical modular curves and their
reduction modulo a prime number (Part III). The fourth (and basic) is
the construction of geometric Goppa codes and the production of
asymptotically good linear codes coming from algebraic curves over
finite fields (Part IV). The theory of geometric Goppa codes is a
fascinating topic where two extremes meet: the highly abstract and deep
theory of algebraic (specifically modular) curves over finite fields and
the very concrete problems in the engineering of information
transmission. At the present time there are two essentially different
ways to produce asymptotically good codes coming from algebraic curves
over a finite field with an extremely large number of rational points.
The first way, developed by M. A. Tsfasman, S. G. Vladut and Th. Zink
[210], is rather difficult and assumes a serious acquaintance with the
theory of modular curves and their reduction modulo a prime number. The
second way, proposed recently by A.