I need to learn how to do Lempel–Ziv–Welch compression using pen and paper for my algorithms and data structures class. Unfortunately we have only a couple of examples in our book of how it is done. I'd like to practice compressing and decompressing text using it, but I need to find a way to check if I'm right doing it right or wrong.
So I'm looking for some preferably free/open source program which can compress and decompress LZW for Windows or GNU/Linux. Programs without binary distributions are fine too.