Problem Solving And Critical Thinking For Designers