The gist of this is really the Backpropagation algorithm [1]. It appears as though everything else is a means to detect when to stop. One of the clearest walkthroughs I've seen online is a short series of very short videos by Stephen C Welch [2] [3]. If you're interested in this space, start with him.
[1]: http://en.wikipedia.org/wiki/Backpropagation
[2]: https://www.youtube.com/watch?v=bxe2T-V8XRs
[3]: http://nbviewer.ipython.org/github/stephencwelch/Neural-Netw...