Is my problem ready? Problem checklist
- ✅Do you have problem prose?
- ✅Do you have example output in your problem description?
- ✅Do you have appropriate test cases?
- ✅Do you have at least one sample solution? And does your sample solution pass your test cases?
- ✅Is your problem
Do you have problem prose?
Problem prose is the most crucial element in guiding your students to successfully solving any problem. Ensure that you have fully described the problem that needs to be solved, including specifying what students are expected to do in any unusual situations (for example, if the problem expects input, what to do if there is no input).
Do you have example input/output pairs in your problem description?
A couple of simple examples of input/output pairs helps to:
- reduce amount of text required in the problem; and
- give students additional clarification about expected program behaviour.
Do you have appropriate test cases?
Well-designed test cases provide students with the right feedback at the right time, to help them figure out a solution.
See our test case checklist for suggestions of what to test.
Do you have at least one sample solution?
If this is an exercise for students to practice, make sure you provide at least one sample solution! This allows students to check their solution against the optimal solution and understand how they could improve further.
Make sure you confirm that your sample solution passes your test cases!
If there are multiple ways to solve this problem, consider providing more than one sample solution.