hamming encoder/decoder
Encoder: receives a "binary" dataword, and inserts proper parity bits
Channel: a pseudo-channel, which give you the option of inserting a random one bit error in the encoded dataword
Decoder: decode the message and checks and corrects any one bit error that occurred
main function is in the decoder
Pending Update: seperate Encoder Channel and Decoder to be stand alone