Problem Solving In Computer Science