Stochastic and distributed optimization, with applications to machine learning, deep learning, and federated learning.