Computing ComponentsProbem Solving and Algorithm Design