Pre-Introduction to Programming
There’s an idea in Computer Science Unplugged (which is free!) about introducing students to sorting algorithms using weights that all look the same. Asking the students to put the weights in order forces them to do the same type of one-by-one comparisons that constrain computers. I’d like to do something similar as a fun way of welcoming them back, but with a bit of a social element and some movement. So my idea is to have one student from each row of students (I’ve got them arranged 6 in a row) put the others in order, with movement only allowed when the student in control says, with the only move allowed being a swap of two students (so, this is in-place sorting) and keeping track of the number of moves it takes. I’ll start out with something simple like height. Maybe I’ll make it a competition between the rows.
When it’s the next student’s turn to be in control of their row, I’ll have them randomize their order. And as they’re all strategizing how to game the system, I get to drop the twist on it: now you’re sorting in alphabetical order by last name. Next time it’s by birthday. Then by shoe size. Then alphabetical by first name. Then by homeroom room number.
That’s a lot of excitement. We’ll wrap up with some writing in our online forum in which I’ve posted the image above. It’s linked to the Wikipedia article but I won’t mention it. Bonus for the intrigued. I just ask them to respond to the following questions: How did you get your row in order when it was your turn? What did you notice about the ways other people got the row in order? What made it hard or easy? How do you think today’s activity relates to our class?