I was not a very studious high school student. I was only interested in classes that let me do things with my hands like ROTC and Shop classes. Now that I am a college student, I am left pondering how to reach students that were like me to introduce computer science in bite sized chunks. Instead of focusing on technical aspects of computer science that might be intimidating to a young student, I want to focus on how a computer programmer thinks. I decided that giving students a birds eye view of how a UML works similarly to a blue print, and introducing ideas such as abstraction in a way that they can wrap their head around.
Students would be shown UMLs of items they could build in their shop class room. The different methods and fields would be parts for assembly with generic items that they all share in common in abstract classes. They would be instructed to read the UMLs and sort a pile of parts into their proper "classes". They can then use these sorted parts to make the items. The idea is to get students to see that programming is nothing to by shy around and that it involves everyday thinking like they do in their classes already.
Scenario of proposed activity
I've always been the same kind of student; someone who likes to work with their hands. That's one of the things I love about computer science!
I think many CS majors might have the same challenges breaking down concepts in programming...