The purpose of this paper is to give you a chance to show your knowledge of huffman encoding.

Start with a background section to explain what Huffman coding is and how it works. Then expand to discuss various applications or variations on the main algorithm. For instance, what is Adaptive Huffman Coding? How does Huffman coding relate to MP3 files? How does Huffman encoding compare to arithmetic encoding? Who is David Huffman and what does he have to do with this? What about Claude Shannon? How might Huffman coding relate to games? (Hint: save files, network synchronization.) Etc.

Some places you might find of interest are:

Other references you can find via Google or your favorite search engine.

This assignment is (Level 4).

Add (Level 3) to write an arithmetic encoder and compare its results with those of the Huffman program developed in the book.