principles of problem solving method of teaching