A design tool for aerodynamic shape optimization is developed by coupling a CFD solver and a gradient-based optimization package. The aerodynamic solver is a parallel viscous Navier-Stokes solver with a Spallart-Allmaras one-equation turbulence model to account for turbulence. The optimization package contains three optimization algorithms: the modified method of feasible directions, sequential linear programming and sequential quadratic programming. The developed tool is used to obtain minimum drag airfoils subject to a minimum lift requirement. The results show a 20% reduction in drag with respect to the initial airfoil. The same optimization problem is solved using the three optimization algorithms. The sequential quadratic programming algorithm is found to outperform the other two algorithms, even though they all converge to a similar solution. Finally, the developed design tool is used for the preliminary design of a set of airfoils for an airfoil aircraft.