Error Correcting codes are used to ensure integrity, accuracy and fault-tolerance in transmitted data. These are categorized as Block Codes and Convolutional Codes. This report primarily focuses on decoding of Block Codes, whereas Convolutional Codes have been discussed and guidelines given for their decoding. Different techniques have been developed for correction of errors from the received data. Instead of using traditional error correcting techniques, Artificial Neural Networks have been used because of their adaptive learning, self-organization, and real time operation and to project what will most likely happen on the analogy of human brain. A Back propagation Algorithm for the Artificial Neural Networks has been simulated using Matlab for decoding block codes. The Simulator is trained on all possible code words to detect/correct the errors. Block Codes have systematic structure whereas Convolutional Codes are produced sequentially in which every coming bit produces some output from the encoder depending upon the input and the past state of the encoder. Therefore, same algorithm cannot be implemented on either. An approach has been developed for decoding Block codes using Artificial Neural Networks and an error vector has been calculated for updating the synaptic weights during the training.