Note also a recent survey paper about Huffman Coding, Computing Surveys, 2019, to appear.
Source code: shuff-1.1.tar.gz, February 2002, written by Andrew Turpin, aht@csse.unimelb.edu.au. A small bug was fixed in February 2002 to make the current version shuff-1.1.
Manual page PDF, 7 kB/Postscript, 12 kB/Source, 4 kB.
A suite of arithmetic coding routines is also available, see http://people.eng.unimelb.edu.au/ammoffat/arith_coder/.
Another paper -- "In-Place Calculation of Minimum-Redundancy Codes", Proc. 1995 Workshop on Algorithms and Data Structures, Kingston, Ontario, August 1995 (LNCS volume 955), pages 393-402 -- describes how to efficiently calculate Huffman codeword lengths. A further technique appears in the "Managing Gigabytes" book, described below.
An alternative book that includes coverage of compression methods at a higher level, and also information retrieval techniques (read: web search engines) is Managing Gigabytes: Compressing and Indexing Documents and Images by Ian H. Witten, Alistair Moffat, and Timothy C. Bell, Morgan Kaufmann, San Francisco, 1999.
Really, if you can't do the assigned programming project without resorting to the web to look for free code, then you shouldn't be doing the subject.
Mandatory disclaimer: This page, its content and style, are the responsibility of the author and do not necessarily represent the views, policies, or opinions of The University of Melbourne.