Wednesday, May 15, 2013

Have an hour to fill with your students?

Something amazing is happening at my school right now: the kids are all abuzz over - WAIT FOR IT - the prospect of a computer science class next year! I mean, yes, there is also talk of prom and all other aspects of teendom, but for the past few weeks there has also been a tangible excitement over coding.

It started when my school decided to hold an "Academic Festival" - one day when we were encouraged to deviate from our curriculum, throw guided practice to the wind, and teach something that we are passionate about. I decided on a one-hour introduction to programming, which was really a thinly disguised pitch for the computer science course we'll be offering for the first time next year. I had my students warm up with a Do Now asking them to identify some of the many ways they rely on coding in their everyday lives, without even realizing it. I used this PowerPoint as a basis for our discussion, which led into this (now semi-viral) video put out by Code.org, and finally some live coding in Python (the Word Smoosher was a big hit). The anxiety I felt prior to this lesson can only be compared to the anxiety I felt nearly every day when I taught in a project-based environment: What if the kids don't find programming interesting? What if the lesson is a flop? What if we speed through the PowerPoint in two minutes flat and they have NO questions and they fall asleep during the live coding???

Of course, that did not happen - not because of anything special I did, but because my students had never before been exposed to the world of coding. In fact, I had to pinch myself at one point, when I announced to one group that there would be a coding class next year and they actually - no exaggeration - cheered wildly. "Okay," I thought. "They're really into it now. But they've never actually tried coding. What if they find it boring/frustrating/uninteresting?" 

I thought I'd have to wait until next fall to get that question answered, but just a couple of days ago North Star was lucky enough to be paid a visit by Jeremy Keeshin, cofounder of CodeHS.com. Thirty-two (out of 74) juniors from across the academic spectrum signed up for an after-school workshop that Jeremy ran to introduce students to some of the basics of coding as well as the terrific online platform for learning coding that he has developed. The program is such that students are able to watch short tutorial videos and work on challenges at their own pace, and Jeremy and I mainly circulated to help students troubleshoot -- what a great model for true differentiated instruction in computer science! In less than an hour, kids were already getting at some pretty big concepts softened only by the cuteness of Karel the Dog and the entertaining challenge names (Mario Karel!): "How can I teach the dog to turn right using ONLY turnLeft() commands?" "What if I want to make Karel move over and over - is there an easy way to do that?" 

When it comes down to it, what I'm feeling right now is probably what every teacher feels at some point - the magical epiphany that "A few weeks ago, my students didn't know [what programming was], and now they're [running home to work on coding challenges] and [saying that they want to study computer science in college]." 

They say that what we do every day changes lives, but some days that just feels especially true. 

Saturday, May 4, 2013

A Fun Twist on the Jigsaw

Like every teacher in the universe, I am constantly searching for review activities that are both engaging and effective. I have played with the idea of a jigsaw before, but have struggled with engagement in my lower-level classes when the students returned to their home group to teach each other.

Nothing much was different about the setup this time - students in my classes sit in groups of 3-4, and so each "home group" got split up and students joined one of four groups, each of which was responsible for mastering a particular review problem. The small twist came when students returned to their home groups. They had about 10 minutes per problem to work through a packet that contained the 4 different problems that the different groups had mastered. However, during the 10 minutes when a student's group was working on the problem that they had already mastered, instead of doing the problem himself and just serving as a "resource" (the approach that had led to disengagement and non-ideal group work in the past), that student actually had to STAND UP and circulate around the group just as I would during independent practice. We modeled what this would look like beforehand, which the "teacher" closely monitoring all other students' work, watching for errors, and asking guiding questions if a student got stuck.

There was something about the physical aspect of standing up that completely changed the dynamic of this activity from a thinly veiled guise for getting students to simply to more practice problems, into an opportunity for each student to delve more deeply into the intricacies involved with actually "teaching" a problem and identifying common errors. For me, it was incredibly fun to watch my students - especially the lower-performing students who don't typically take on a teaching role in class - hover over each other, get frustrated at their peers for not understanding and themselves for not being able to explain something as well as they thought they could, and then ultimately figure out what exactly was confusing their "student."

Overall, I really liked the accountability that was built into this activity. One other nice (and rather selfish) unexpected consequence was that students all commented on how "hard it is to teach something without giving away the answer" -- I couldn't agree more!