Computational or Analytical?
Once you can describe a problem analytically, you should be able to solve the problem straightforward. Moreover, bookkeeping of the related variables is rather easy, enabling you to model your problem in an rather easy fashion. (During my undergraduate courses, I used to check my assignents by Excel). However, implementing such a strategy in software involves a certain amount of problem directed programming - i.e. your code may be valid for a given problem only.