This is an introductory graduate-level course on computational optimization and it is assumed that students have had undergraduate level training in multivariable calculus, linear algebra, and MATLAB programming. The topics to be covered in this course include: formulation of optimization problems, non-gradient and stochastic search techniques, gradient-based optimization algorithms for unconstrained and constrained problems, numerical methods for sensitivity analysis, surrogate modeling, surrogate-assisted optimization frameworks, applications of optimization algorithms to design, parameter estimation and control.