product design coursework a level pdf problem solving with algorithms and data structures