This program came about when trying to find a solution to work towards that started off easy enough but quickly ramps up in complexity. We landed on a custom program which is loosely defined enough to allow for some freedom in the end solution. The solution is intentionally left feeling incomplete until later steps, this is to encourage new methods to be applied from scratch rather than just refactoring.
The program currently consists of about 8 ish steps. Each step after the first including an assessment and reflection between mentee and mentor. The steps will also be accompanied by an intent and expectation that you, the mentor should be aware of before your mentee begins the problem.
It is recommended to attempt the entire solution yourself as well, although that is up to you.
Freedom of technology is encouraged. When originally writing this solution it was for .Net but the problem can be applied to multiple languages and paradigms. Whatever suits you.
In order to keep your mentees focused, it's recommended to send a copy of the problem statement (and to tailor it if needed) to them, rather than a link to the page itself. This avoids them reading too much into the mentor notes.
Pairing is allowed and some mentees may require it, which is totally fine!