In this paper, an overview of various types of error-correcting codes is present. Three generations of forward error correction methods used in optical communication systems are listed and described. Forward error correction schemes proposed for use in future high-speed optical networks can be found in the third generation of codes.