Teaching problem solving through cooperative grouping. Part 2: Designing problems and structuring groups | Synapse