Proposal for new puzzles and lessons


#1

Right now, you’re creating new lessons and their puzzles yourselves.

Instead, why don’t you have contests for experienced programmers (“designers”) to create puzzles for you.

For each puzzle, you’d fully describe what the goal is and what the restrictions are, to include your internal standards. You’d provide a template for the designer to provide everything, prefilling any items you’ve already decided on:

  1. The puzzle name.
  2. The high-level description.
  3. The instructions overview.
  4. The detailed instructions.
  5. The Explainer.
  6. An optional hint.
  7. The example solution.
  8. The hidden starter code.
  9. Conditions to check for and provide a message, including success.
  10. The list of buttons to use.

You can publish all of the accepted submissions, and you’d give people time to try them; the score would be based on how much assistance you provided to the designer, how well people learned the lesson, what percentage of people needed assistance, and how well any adjustments reduced the need for assistance.

To make it interesting for everyone, you’d handicap the winners (the handicap would wear off a bit for each contest) so that they’d need to have significantly better submissions for later puzzles in order to be accepted for testing.

This has several advantages for you:

  1. Instead of spending time in the weeds of creating each individual puzzle, you can work on higher-level stuff such as new lessons, new capabilities, supporting other programming languages, and supporting other human languages.
  2. You should be able to get new puzzles out much faster, possibly even fast enough to keep nearly everyone coming back daily.
  3. You could spend more time on lessons, focusing on things which are in demand, such as the details of defensive programming, etc.

You might consider tracking the use of various features and listing them on a personal scoreboard, tracking how well each feature seems to have been learned, and also how confident you are in the score. Perhaps you can arrange for people to get college course credit once they meet a certain threshold.

–Scott.