Algebraic and Geometric Methods in Coding Theory