This is a homework for simple neural network implementation. It uses sparse auto-encoder in pre-training phase and simple forward and backward propagation for training.