Math teacher seeking patterns.

Python Challenge

What is the Python Challenge?
The Python Challenge is a set of riddles that require a little bit of Python programming to be solved. The solutions are entered by changing the address of the page (URL). You get used to the idea pretty fast after solving the first few levels.

What’s the purpose of the Python Challenge?
I’ve written the challenge in hope that it will provide an entertaining way to explore the Python Programming Language. It is a way to demonstrate the great power of Python’s batteries.

It’s very much like Project Euler mixed with an online scavenger hunt. You put your answer to a question into the web address, and you get the next part of the riddle. Awesome.

Post navigation

3 thoughts on “Python Challenge”

Last semester, I offered Python Challenge as a “test” in my no-grades Intro course. It was open-internet, with collaboration encouraged through the class IRC channel. I wrote a small Python script that took screenshots every N seconds and then stitched those together into a video, which I watched later that week. (I also tried doing it as a Quicktime Screengrab, but the 45 minute period generated a 1.5GB video file, and that was a pain to deal with).

It was an amazing tool. Not only did most of the students find the puzzles interesting, but I got to watch every student’s process as they moved from the initial WTF?, through to experiments at the interpreter, fudging with their own syntax, asking questions in IRC, then to success and back to WTF!?

I think I’m sold on that evaluation technique in general, but it’s a particularly good match for Python Challenge.

The goal of the video was to have a record of their process, without trying to hover over shoulders or interrupting their concentration. A video record meant that no resources were off-limits. They could pore through StackOverflow questions, or even look at the PythonChallenge forums (if they thought to look for them). But the resources they used were as much a part of what I could evaluate as their answers.

The problem with gimmicky puzzles like that is that the answer must be some small token, and easily shared. By making the “product” a video of their work session, rather than a screenshot of how far they progressed, I hoped to make clear that I wanted to watch their coding process. As a result, even though some of the stronger coders immediately blew through the first two puzzles, the IRC channel was full of hints and discussion, but no direct answers of “winning” URLs.