Coding and Compression Algorithms