A collection of practice problems that can be used with check50
- Background
- Understanding
- Specification
- Hints
- Testing
- How to Submit
- What the problem is practicing. (Base the problem around the lesson, not the lesson around the problem.)
- Unique name.
- Relatable problem or story.
- Understanding section with example inputs and outputs.
- Proofreading for clear communication, including to non-native speakers.
- Program demos?
- Hints that give the resources to solve the problem / guide in the right direction but not exactly what they need. If multiple methods can solve it, give them a link to the documentation. Suggest what they can learn without promoting a "best" idea.