In the first lecture, we introduce the history and basic concepts of (error-correcting) codes. Codes have been used widely in the mobile phones, compact discs, and the big data storage. They were found by R. Hamming and C. Shannon in the late 1940s. Since then, Coding Theory has become one of the most practical mathematical areas and has interacted with Algebra, Combinatorics, and Number Theory. Our today’s IT would have been impossible without the theory of codes.

In the second lecture, we describe an interesting connection between codes and lattices. They share common properties. We begin with some basic definitions of codes and lattices. Codes over rings have been used in the construction of interesting Euclidean or Hermitian lattices. Given a prime p, B. Fine proved that there are exactly three commutative rings with unity of order p 2 and characteristic p. Using C. Bachoc’s results, we describe that how these rings can be related to certain quotient rings of the ring of algebraic integers of an imaginary quadratic number field. Then we construct Hermitian lattices from codes over these rings. Shaska, et al. have studied the theta functions of these Hermitian lattices. We generalize the results of Bachoc, Shaska, et al. We propose some open problems in this direction.