School Visit - April 19, 2013Apr 22, 2013 CS Education Tweet
It's been a long, busy spring filled with teaching and speaking experiences, and I capped it all off last Friday with a visit to a local elementary school.
The school visit was arranged as part of a volunteer program through Central Texas Discover Engineering, an organization that works to encourage K-12 students throughout central Texas to pursue careers in math, science and engineering. Every academic year, they arrange for volunteers from those professions to go into local schools and not only present in a "career day" format, but also lead the students in hands-on, collaborative engineering activities.
I was matched with a 5th grade science class at a school in south Austin, Kiker Elementary, so on Friday, April 19th, I took a couple of local PyLadies members down with me to talk to the kids about the different things we do as programmers.
With three of us presenting, I feel like we had a wide range of different types of career experiences to introduce the kids to. We kicked off with each of us spending a few minutes talking about what we do professionally - the idea was to demonstrate to the kids the kinds of things that can be done with programming. I was the only web developer in the group - one of my compatriots, Simi Shonowo, got a lot of wide eyes when she talked about handling large databases filled with student grades at the University of Texas. But our third presenter, Ashley Da Silva, really stole the show. Ashley is a grad student in theoretical physics, and the kids enjoyed a lively discussion about cool lab equipment and modeling atoms before circling back around to how she uses Python to compile and display her research data.
I was pleasantly surprised at how in tune and interested the kids were. It turns out that the economy in that part of south Austin is almost entirely dominated by big technology companies, so the students are children of technology workers - programmers, app developers, graphic designers. One even described his father as an "administrator who works in the room with all the servers". Needless to say, these kids were quite bright, and all very tech savvy.
Talking about our careers and taking questions took up about thirty minutes of presentation time. The volunteer program also encourages visitors to spend time on hands-on activities. I was afraid we would suffer in comparison to some of the other science presenters. Computer science doesn't seem to lend itself as easily to fun hands-on exercises as some of the other disciplines - no baking soda volcanoes or soap powered boats for us.
We did do the peanut butter and jelly sandwich demo - that one seems to go over well with kids and adult students alike. In case you haven't heard me describe it before, it's an exercise designed to give the students an understanding of how computers think, and how programs work to give specific instructions to computers.
In a nutshell, you go through the steps of making a peanut butter and jelly sandwich with one team member giving instructions and another performing the actions. This is a great one for kids' classes because you can involve the students by asking them to call out instructions. You start out with all the ingredients for making a sandwich - a bag of bread, a sealed jar of peanut butter and one of jam, a plastic knife, and maybe a paper plate (and definitely wet wipes in case everything goes horribly wrong). The demo takes two people - one to interact with the students and guide the exercise, and one to play the part of the "computer" and perform all the steps of making the sandwich as literally as possible. The guide starts by asking the students to shout out the initial steps for making a peanut butter and jelly sandwich. For example, the first suggested step might be "spread peanut butter on the bread", and the person playing the "computer" might pick up the peanut butter jar and run it across the top of the bag of bread. So the steps have to start getting more and more specific, and this goes on with us soliciting directions from the classroom until we have one completed sandwich. (Actually counting the number of steps you took to get there is optional.)
With 15 minutes left to go, we had time for one more demo, a playing card "magic trick" that the kids enjoyed tremendously. I'm not going to try and explain it here - I recommend taking a look at the post where I found it originally, on @katieirenec's blog:
We got through three or four cycles before the kids started catching on - some of the students came very close to figuring out how it worked. Ultimately we had to explain the trick, but once we did that they totally understood it. I'm definitely going to use this fun demo the next time I teach an adult class - I think it's definitely challenging enough.
The one thing I want to add next time is a succinct explanation of how it relates to computer science. I didn't feel comfortable trying to explain parity bits to students who hadn't had any introduction to binary, and that just wasn't something we could do with the time we had left. I was satisfied that the trick at least taught them something about problem solving skills. But for next time, I'd like to come up with a twenty-word explanation that can be given as the clock is running out.
Unfortunately the next time may not be for several months. After we left the classroom, the three of us stood on the sidewalk outside the school laughing about how much fun we'd had and wondering when we could do it again. But this school year is almost over, so it will have to wait - unless I can get us in on some of the summer STEM programs (such as the Girlstart Summer Camps).
A final note: Thanks to everyone who helped me find CS demos that we could do with the kids that did not require computers. One of our other criteria was that it require few or no props, so the playing card trick was ideal. If you're looking for computer science activities for primary school classrooms, I recommend taking a look at:
I also got some great ideas from last fall's Career Day post from Katie Cunningham.