We looked at a number of fundamental issues in this field, including the capacity of Neural Networks to both learn and compute, and online learning algorithms using stochastic gradient algorithms. For example, we studied the role of depth, which is now a critical parameter in Deep Learning. We showed how depth plays a critical role in determining the size of a network, and also in ensuring the emergence of certain patterns.