A First Course in Optimization Theory