In this paper, a new controller combining the fuzzy control and the traditional nonlinear control technologies is proposed to solve the problems of ship handling. The back-propagation algorithm is employed to find a reasonable adjustment between the fuzzy controller and traditional nonlinear controller so as to minimize the tracking error of the closed-loop system. We will show that the problems of course keeping, course changing and course tracking can be solved by our proposed controller.