Foundational and theoretical aspects of algebraic coding theory are
discussed with the concentration in the classes of cyclic and negacyclic codes over
finite chain rings. The significant role of finite rings as alphabets in coding theory
is presented. We surveys results on both simple-root and repeated-root cases of
such codes. Many directions in which the notions of cyclicity and negacyclicity
have been generalized are also considered. The paper is devoted to giving an
introduction to this area of applied algebra. We do not intend to be encyclopedic,
the topics included are bounded to reflect our own research interest.