Several months ago, Lee and I decided to volunteer with Citizen Schools. We taught a small class of sixth and seventh graders how to program a video game in Scheme. While it was a large time commitment and, at times, a struggle, it’s something that I am happy to have done and would encourage others with flexible hours to explore. For those who have not been following along, I tracked our progress throughout the 10-week apprenticeship:
Becoming a Citizen Teacher
Slowly (but surely) getting to WOW
Citizen Schools, Week 4
Night before WOW
Citizen Schools celebrations
I have spent most of my volunteering hours working with students; as the son of an educator, I cringe when I hear about how poorly the US does on math and science tests (which, unfortunately, is quite often). After working for several years with Boston Latin Academy in an event-coordinator role, I was interested in finding something inside the classroom just to get a glimpse of what it was like.
It was hard. There is no doubt that the students we had were very bright, but getting them to focus was quite difficult. We constantly questioned our ability to teach them effectively. We worried about losing control of the class, which was usually on the brink of chaos. On some Mondays the thought alone of facing them made us exhausted. And we were only doing this 90 minutes a week with a small class, getting to the school around 230pm, not waking up every weekday at the crack of dawn to teach for several hours. Teachers most certainly deserve that summer break of theirs.
Of course, the challenges made the rewards all the sweeter. We savored the times when students volunteered to answer questions, showed off accomplishments to us and to each other, and worked together to solve problems. They really hit their stride towards the end of the class, when every session was spent adding new functionality to their video games. We were happy to see them perform spectacularly at the end-of-term events, where they explained the inner workings of their code to friends, teachers, and strangers.
One of the things that I’ve realized is that it is incredibly easy to make excuses for everyone, especially the students. This one is having a tough time at home, that one had a rough day at school, this other one didn’t really want to be put in this class in the first place. It has the potential to be a huge demotivator for the teacher – at times it can seem too hard to overcome the baggage that the students are dragging around. But regardless of what was going on, I came to realize that we had those students for 90 minutes a week, and no matter what was going on in their lives it was our duty to try our hardest to teach them something. I imagine that it takes an incredible amount of willpower and energy to do this full-time, and I definitely appreciate more the teachers that I have learned from.
Overall I think that the Citizen Schools program is a very good one. Aside from teaching students how to behave properly be encouraging the demonstration of certain core values, it also addresses two problems of education: the disconnect between concepts learned in class and their application to real world problems as well as the one between a classroom and its local community. Bridging these gaps will give students interesting problems to think about and also make students aware of local career opportunities. In theory it should make their classroom studies more relevant to the world outside, and hopefully more interesting to them.
We have met several passionate educators (who have become good friends) – Emmanuel Schanzer, who developed the Boostrap curriculum; Alex Stryker and Kevin Ingram, who helped us maintain order in our classroom; Chris Conroy, who scrambled every week to make sure our classroom was equipped with everything we needed; and Brent Holsinger, who also provided a lot of support. Everyone gave us a lot of valuable advice and feedback, and it was great to have so much help.
We made it. Two Mondays ago we had the Online WOW! at the MIT Media Lab. Students explained how their games worked to event attendees in a science fair-style setup. One of our students, John, participated in a web videoconference with some students from a classroom in California and got to show off his game to them. This past Monday was our last class, during which we reflected and celebrated by handing out game CDs and playing the Wii.
Last Wednesday we had the Gavin WOW! We got to see some of our students in the contexts of their other apprenticeships, like dance and TV production. Of course, there was also a lot of game-playing and explaining as well. Overall I was quite impressed by how much they retained, and I really enjoyed seeing the students take pride in their work as they showed off their games.
Will post some final thoughts in the days to come. It has been a great experience all around, and at least one student is intent on continuing work on his game, which we count as one of our successes.
So the instruction part of our Citizen Schools apprenticeship has come to an end. Tomorrow evening at MIT we are holding an event for some of the technology apprenticeships across the city. Our students will get to demonstrate their games and explain basic concepts via some posters that they created last week.
The last few classes have been quite good, except for the week before spring break when only four students showed up. We enjoyed giving a lot of attention to the students who did show up, but we had to catch everyone else up over the next few weeks. The key thing that Lee and I have found very effective (suggested by Emmanuel) is trying to maintain a good deal of structure within the lessons, giving them one small milestone at a time rather than open-ended tasks.
There have been a lot of opportunities for the students to work on their games, and for the most part they have been more engaged than at the beginning of the class. Instead of covering function definitions and boolean logic, they’ve had fun drawing character graphics (using rectangles, circles, and triangles as primitives), moving characters around, and implementing collision detection. Of course we’ve had the occasional straggler who isn’t at all interested in exploring what can be done given their game framework, but overall things have been very positive. Students have been excitedly showing each other what they’ve done.
One thing that amuses me to no end: We have two students who we’ve assigned to work together. They have been paired together just about every week that they attend class. But without fail when they walk into the room and see their notebooks together, each will try to move to another workstation, and they complain (pretty loudly) about not wanting to work together. This is not all that surprising considering that most of our other partnerships don’t exactly demonstrate good teamwork; partners regularly antagonize each other. The thing about these guys, though, is that once they get down to work they actually help each other, looking over what’s being typed, making suggestions, and answering each other’s questions. It’s really great to see.
Thursday was Take Our Daughters and Sons to Work Day. I didn’t have a daughter or son to bring to work, but I did end up running an activity session for eighteen children aged 8 to 11. The topic was the Internet, and we covered the differences between analog and digital data, simulated a simple packet-routing scenario, and discussed the pros and cons of having a centrally regulated Internet. I was really happy to see the students point out two of the best things that the Internet has going for it: 1) free access for all and 2) no censorship. Pretty cool to see these guys so far ahead of where I was technology-wise at their age.
At this point we look forward to the surprises that every Monday brings. This past week, we got two brand new students, and a student who had supposedly been dismissed from the program for behavior issues was back in class. We shuffled our pre-arranged seating to accommodate the changes as students were finding their seats. The new students were great – they picked up the material quickly and worked well together.
The class went reasonably well – we covered boolean functions (AND and OR). Students are still struggling with writing functions; it’s a pretty big leap in abstraction that they haven’t quite mastered yet. Fortunately, disruptions were kept to a minimum so that we could focus on teaching the content.
I think that I’ve become more comfortable with the idea of not trying to befriend all of the students. I gave out my first strike of the year, and I’ve definitely tried to not humor students who are obviously trying to push the behavior envelope.
I’ve always had a lot of respect for teachers, but the last three weeks have boosted that respect to stratospheric heights. We’ve done the first three lessons of our Citizen Schools Scheme curriculum, covering numbers, strings, graphics, and booleans. The students on the whole are very bright and eager to learn, but challenges are posed by the non-ideal classroom setup (it’s the school’s “library”/computer lab), frequently disruptive students (hitting each other and calling each other names), and a challenging curriculum full of abstract concepts.
We try to address challenges from week to week. For example, our seating strategy has changed (and hopefully improved). During week 1, we left the chairs more or less as they were in the room, so of course students came in and sat as far apart as possible from each other. Before week 2 started, we laid out the chairs beforehand, two chairs to a computer for partner work, but we made the mistake of letting students choose their seats and partners (leading to a lot of “Well I don’t want to work with X!”). Today we put students’ notebooks where we wanted them to sit but created a bad pairing, leading to day-long trouble. Now we’ve figured out a few rules about how to best arrange the students to maximize cooperation and learning while minimizing disruptions and are eager to try them in Week 4.
Behavior problems aside, it’s hard to keep students engaged, especially when it isn’t clear how
(+ 1 2) is related to the video games they play at home. In trying to make the link between simple code and games more tangible, today’s lesson included a screenshot from StarFox to introduce simple graphics and a monster from Doom 2 to introduce booleans. After all, who cares about booleans – unless they’re the only thing saving you from this wretched beast. The images definitely captured everyone’s attention, so it’s something that we’ll be including with every lesson. I was surprised that one of the students recognized both games since they were way before his time.
While it has been frustrating at times, we’re always eager to get back into the classroom to try out new techniques.The Citizen Schools staff (including Emmanuel, who co-taught with me while Lee was away this week) have been amazing, spending a lot of time exchanging ideas over the phone and in emails. We’ve learned to roll with the punches and have been embracing both the successes and failures (opportunities) in the classroom.
And to think, we have it so easy compared to full-time teachers – we only teach 90 minutes a week from a great curriculum prepared by someone else and an in-class Team Leader to help with discipline.
Citizen Schools is a nonprofit middle school after-school program that was started in Boston 12 years ago. Since then it has grown to include 2,000 students and 24 campuses. The core of the program relies on Citizen Teachers: these are volunteers who come in to teach a class, which can be on just about anything: past classes have included finance, photography, oceanography, astronomy, and quilting. The class is taught in 10 once-a-week sessions that are structured to reach a “Wow!”: a tangible end goal that the students can be proud of assembling. All of this is fit into a structure that teaches students important life skills and values.
This semester Lee and I are teaching a class on computer programming. It’s based on an existing curriculum composed by Emmanuel Schanzer that teaches Scheme programming with the Wow! being a computer game. So far we’ve been very impressed by the support for volunteers: we’ve attended two hours of Citizen Schools training (where we learned about the philosophy behind Citizen Schools), two mornings of curriculum training with Emmanuel (to familiarize ourselves with the curriculum and to discuss teaching strategies), and a meeting with our CS campus director. We were assigned to a Team Leader, who is present in all of the classes to handle classroom discipline and help us with our weekly lesson plans.
Today we had our first interaction with students at the school. All of the Citizen Teachers got an opportunity to pitch their classes (called apprenticeships – there is a lot of CS vocabulary) to the students. We delivered our pitch to three different groups of students, getting a great response from each group. After all, who doesn’t like video games? Of course, we tried to highlight other aspects of our apprenticeship. We emphasized the development of problem solving skills by giving the students a situation puzzle. Overall it was successful except for the class where someone blurted out the answer about 30 seconds into the exercise. During the closing ceremonies, “Fred,” the character in our puzzle, was given one of two student shout-outs, much to our delight.
It was a lot of fun to be in the classroom again. The students are in for quite a surprise when they find out that most of the apprenticeship will be spent playing with parentheses, doing lots of math, and paying close attention to detail. Hopefully we can keep them entertained and teach them something while we’re at it. Class starts on February 26.
Through my work with Boston Latin Academy, our office’s partner school, I’ve gotten to know Cathleen, our regional corporate community relations program manager. A few weeks ago she told me that there was an opportunity to speak to some high school students, so I decided to do it. It turned out to be the Research Science Institute (RSI) summer program at MIT, which puts 75 rising high school seniors into a six-week research internship. I found out that one of my college friends actually participated in the program.
I had dinner with a handful of students and the director of the program and talked for an hour about software engineering, Adtech, the Semantic Web, and the process of learning to program. It was quite fun until I realized that I was 10 years older than the students. High school is now officially A Long Time Ago.
Our summer internships are starting to wrap up as well. We have about a week and a half until our demos are to be shown. Queso is coming along. I’ve been spending a good amount of time working, which explains the recent lack of posting on my blog.
As I was lining up for the Chinatown bus to come back from New York last weekend, I saw the young lady in front of me holding a Cambridge IBM printout cover sheet. Turns out that her boyfriend is working upstairs with CUE for the summer and is going to MIT in the fall. He’s actually going to be joining the Simile group, which does Semantic Web research. It’s a small world.