Text this: An introduction to continuous optimization :