Yesterday's 7th grade robotics lesson was one of the best I've had. The key was finding a balance between showing them how to do things and giving them choices. I've been frustrated in the past with my short class time (43 min.) and have felt forced into feeding them all the code they need and pre-building robots becasue it seems that they have just enough time to take that and make it work.
What was different yesterday was giving them the pieces they needed with photographs of a simple hoisting mechanism (a switch to press, motor to turn a spool with a string attached to a hook) and the most exciting part, three possible ways to use "waituntil" or "if" or "ifelse" to direct the switch to activate the hoist. While they all used the first option and didn't explore the differences in the commands, what worked really well was that every group came up with a different way to do it, some using two switches, one for up, one for down, and some wrote a procedure to make it go up, then downloaded another procedure to make it go back down. The latter is obviously less effective, but for a unique, student-created solution, it was very exciting to see.