Solving problems in different ways is more beneficial than having students solve many problems in the same way.
All problems should be standards-based.
Problems should be enterable for all students. Students should be able to apply basic skills to get started.
Students need high quality problems to solve and real-world relevant contexts, because students learn by connecting new ideas to prior knowledge. Link prompts/tasks/open-response questions to real-world applications.