Part I. Fundamental Concepts and Algorithms 1. Introduction to distributed optimisation and learning 2. A control perspective to single agent optimisation 3. Centralised optimisation and learning 4. Distributed frameworks. consensus, optimisation and learning 5. Distributed unconstrained optimisation 6. Constrained optimisation for resource allocation 7. Non-cooperative optimisation Part II. Advanced Algorithms and Applications 8. Output regulation to time-varying optimisation 9. Adaptive control to optimisation over directed graphs 10. Event-triggered control to optimal coordination 11. Fixed-time control to cooperative and competitive optimisation 12. Robust and adaptive control to competitive optimisation 13. Surrogate-model assisted algorithms to distributed optimisation 14. Discrete-time algorithms for supervised learning 15. Discrete-time output regulation for optimal robot coordination