I taught at a programming camp one summer, and my favourite example of this that I drove several kids crazy with was "above the line, below the line".
Given any input word, I would tell them whether it was above the line, or below the line (which corresponded to acceptable and unacceptable behaviour in camp-speak). I think only two kids figured it out on their own, and each time I challenged them to write a program to categorize words automatically.
I think it's called "above the line" "below the line" because the characters in each of the accepted words don't travel below the "character placement line" that runs along the bottom of every word. I've forgotten the "real name" for this line.
Thus,
toothpaste -> below the line, because of "p"
tooth -> above the line, no characters pass below it.
Generally, if the word contains a y,p,q,g, or j, then it's "below".
Right?
EDITS:
1: TIL the name for this property of a character is called a descender[1]. (And yet I still can't find the name for that blasted line.)
This is the right answer! I think it was made harder in the camp due to "above the line" and "below the line" already having semantic meaning in the context of the camp, most kids didn't expect that to literally be the answer.
There is a similar game that goes like "The king does not like tea but he does like coffee".
The you can ask questions like "Does he like cookies?" (answer: yes), "Does he like cats?" (answer: no)
Curious that the way we play these games is “race to the answer” in fewest tests, and as soon as someone else gets it, the game is over and spoiled for anyone who didn’t.
Is there a good way to play to train for “most confidence before answering” without making it a drudge of endless tests and humhawing?
Making each question a more powerful test would be good, but that’s not what racing to the answer encourages, that encourages guessing the teacher’s password.
What about tests are free, first to answer wins, but a wrong answer or two disqualifies you completely?
We used to play a game in summer camp where one had two sticks and could hand them to the next person 'crossed' or 'uncrossed' declaring as such. The key was it was the persons legs, not the sticks, which determined if one was passing the sticks 'crossed' or 'uncrossed'.
Given any input word, I would tell them whether it was above the line, or below the line (which corresponded to acceptable and unacceptable behaviour in camp-speak). I think only two kids figured it out on their own, and each time I challenged them to write a program to categorize words automatically.
I wonder if hacker news can figure it out :)
"Hacker" -> Above the line
"News" -> Above the line
"chrisweekly" -> Below the line
"functional" -> Above the line
"programming" -> Below the line