This year in the Intro to Programming class we are trying logic groups. This past summer Robert Luciano presented this at the UVA Tapestry workshop. He's also written about it here. This summer he gave several example puzzles which can be found in the zip file on the Tapestry site.
The idea is you put the kids in groups and present them with various logic puzzles. Getting them off the computers and collaborating to solve puzzles helps build problem solving, which is at the core of what we do.
This is our third week with the groups and so far the kids are really enjoying it. I have seen some kids that do not normally get very active with class activities get very involved in the puzzles. We are on a block schedule - so we do it the first time I see them each week, either Monday or Tuesday.
Today's puzzle came from this site: Brain Food It is #1, the elevator problem.
** Update - this particular puzzle stank. One kid had seen it before, and the rest of the groups got super frustrated. We're going to try again on Wednesday with the latest edition of Bits and Bytes from the NSF. This latest issue has some great puzzles and tie ins with computer science curriculum.