A course in algebraic error-correcting codes. (2020)