A First Course in Optimization