Covers basics of convex optimization, online learning, time-varying optimization, online first-order methods, learning problems over networks, zeroth-order methods, bandit optimization, projection-free methods, distributed methods for online convex optimization. Application domains considered in the course include Machine Learning, Signal Processing, and Data-driven Control. Specific application examples include the Internet of Things, recommendation systems, power systems, sensor networks, and transportation systems. Previously offered as a special topics course. Recommended prerequisite: ECEN 5448.