While the algebraic theory of error-correcting codes has traditionally taken place in the setting of vector spaces over finite fields, codes over finite rings have been studied since the early seventies. However, the papers on the subject during the seventies and eighties were scarse and may have been considered mostly as a mere mathematical curiosity since they did not seem to be aimed at solving any of the pressing open problems that were considered of utmost importance at the time by coding theorists. There are well-known families of nonlinear codes over finite fields, such as

Kerdock, Preparata, Nordstrom-Robinson, Goethals, and Delsarte-Goethals codes [12], [14], [15], [23], [25], [30], [34], [7], that have more codewords than every comparable linear codes known to date. They have great errorcorrecting capabilities as well as remarkable structure, for example, the weight distributions of Kerdock and Preparata codes are MacWilliams transform of each other. Several researchers have investigated these codes and have shown that they are not unique, and large numbers of codes exist with the same weight distributions [19], [20], [21], [22], [2], [10], [37].