As to how to implement this directly I'm not entirely sure, as it takes a while to process the information, but the algorithm should be pretty straight forward if you know about tries . It seems from point 7 that you do not?
As @wds said, tries help. The core idea with Huffman decoding is that the bits of the code seqence should be used to "walk" the trie, taking a left when the code has a 0, and a right for a 1, until the code word ends. Then you will be in the trie node storing the replacement data for that code.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.