Error Correction Coding: Mathematical Methods and Algorithms