On Friday afternoons, Caltech computer science students visit public schools in Pasadena to help third-, fourth-, and fifth-graders learn to code. Their work is part of a recently introduced course in which Caltech undergrads study and practice strategies for teaching programming to children.
"It reminds our students why they were first inspired about computer science," says Claire Ralph, lecturer and outreach director for Caltech's computing and mathematical sciences department, part of the Division of Engineering and Applied Science. "It's an opportunity to give back, another way to have an impact on the field."
As part of the course, which was created in collaboration with Caltech's Center for Teaching, Learning, and Outreach, students meet weekly to discuss, develop, and eventually deliver lessons plans.
"We start with basic concepts and, by the end, students have coded their own games in Scratch [a visual programming language developed for children]," says Caltech senior Anna Resnick, who helps lead the class as a teaching assistant. "A few have even told us they want to be programmers someday."
Each year, members of the Caltech community serve thousands of Pasadena-area students through workshops, tutoring programs, science fairs, and public events. The coding initiative started about five years ago when a Pasadena Unified School District teacher requested Caltech's help with computer science instruction, says Mitch Aiken, the Institute's associate director for educational outreach. Around the same time, a group of first-year students at Caltech expressed interest in teaching coding.
An initial pilot program, in which student volunteers visited schools to deliver programming lessons, proved promising, Aiken recalls. But organizers determined that more students would be able to consistently commit time to the project if it were part of a formal class rather than a volunteer effort.
Now, through an undergraduate computer science course introduced last spring, Caltech students teach coding to schoolchildren using district-provided Chromebooks. The children's lessons are conducted by the Caltech students over about a seven-month period and come at no cost to the schools, which enroll predominantly underserved families.
"I've always loved teaching, helping people understand things," Caltech senior Steven Brotz says. "The kids are all familiar with computer games. We have the chance to help them understand how those games get created."
For participants—undergrads and elementary schoolers alike—the experience can also make computer science seem a little more accessible, Ralph says.
"For Caltech students, it's a good reminder of how far they've come," she says. "It can be easy to underestimate how much you've learned and how much you know. You have to really understand something well to be able to explain it to a fifth-grader."
On a recent afternoon, Alix Espino, a Caltech senior, introduced the week's lesson to third-graders at Jefferson School.
"This week, we're going to work with something called a variable," she told them.
After the lesson, Espino said she hopes the time she spends with younger students encourages them to consider careers in computer science.
"I felt like it was important for me to get involved because there are not a lot of Latinos in tech, and this school is predominantly Latino," Espino said. "I thought I could be a good role model."
A Pasadena third-grader learns to code with help from Caltech computer science undergrads.
Caltech senior Steven Brotz helps a Pasadena student code a simple game in Scratch.