This is an inefficient Backpropagation implementation suitable for learning how deep learning works. It was written to be readable, rather than efficient, in order to convey the essence of the Backpropagation algorithm without the usual shortcuts one must puzzle over in a typical implementation. No background in Calculus should be required to understand this code, although it would not hurt.