On a balmy Californian Saturday afternoon, 14 kids, 8 boys and 6 girls, are figuring out the profit and loss of a lemonade stand. There's no real money involved, nor is it a real lemonade stand. And they're doing this using the programming language Java on their laptops.
With lines of code projected on a screen, these children listen intently in a conference room at the Mountain View Public Library, as part of a four-week course on programming. It's free to anyone who wants to attend, regardless of where they live.
Forming Stronger Support for Computer Science
Although it started initially as a high school project, MathAndCoding is now a full-fledged program and a registered 501(c)(3) nonprofit. It has trained more than 470 students seventh grade and up in 13 libraries throughout Silicon Valley.
It was recently recognized by the City of San Jose for raising awareness of computer science among teens. Students bring their own laptops to a public library, and receive instruction from high school-aged instructors. Think of it as a private-public partnership that leverages the hardware in libraries, running on the software of young programmers' dedication.
Vineet Kosaraju, 16 and a rising senior at the Harker School in San Jose, California, started the program two years ago with classmate Nikhil Cheerla, when they found computer science courses at school lacking and wanted to share their knowledge and enthusiasm with others.
Further up north in San Francisco, headquarters to numerous tech companies big and small, the Board of Education recently approved a measure to expand computer science courses from preschool to 12th grade.
While school funding and resource allocation to these programs may be controversial in other school districts, it is unsurprising and maybe even mundane here in Northern California. On any given Saturday, there may be up to three classes taught by MathAndCoding volunteers in different libraries in the area.
The Power of Kids Teaching Kids
Kosaraju's father, like many parents in this region, has been working in the technology sector for a while. He saw the potential of Java as a language and tried to expose Vineet to it. Java, meanwhile, has become an important language for app development, particularly for smartphones running the Android operating system.
Although there are many free and fee-based online programming courses online, Kosaraju contends that sites like Khan Academy or Coursera are more formal and geared mostly towards adults. "It's definitely easier for us to connect with the kids, since the age gap isn't that big. We also know how to make it fun for kids and keep them interested."
MathAndCoding also runs a class on visual programming, in which children from the third to seventh grade learn basic concepts like input/output, conditional statements ("if-then-else"), and looping. Kosaraju says he has had parents enroll kids as young as first grade.
The Challenges and Rewards of Coding
Dara Woo, 16, and also a rising senior at Monta Vista High School in neighboring Cupertino, is a fellow teacher. She echoed Kosaraju's sentiment about the benefit and necessity of extra help. In fact, Woo confides that she had to drop out of her programming class in school. "It can be intimidating at times, when it feels like everyone else in class already knows the stuff."
Fortunately, she kept at it and ended up joining a summer immersion program with Girls Who Code, a New York-based nonprofit that runs summer programs throughout the U.S. It provides girls interested in STEM with "skills, exposure, and mentorship" to programming and technology in general.
One can argue that Woo's continued participation and interest in programming is testament to the success of Girls Who Code. "Programming is fun, and even though it can be frustrating sometimes and you feel like pulling your hair out, … once you get it, it can feel very rewarding in that you've achieved something and feel rewarded."
In addition to sharing her love and enthusiasm for programming, Woo sees it as an opportunity to gain teaching skills and help others, girls especially, overcome those initial difficulties she experienced. For Kosaraju, MathAndCoding is an opportunity to learn the many aspects of running an organization, such as building curricula and doing outreach.
Some of this outreach work is undertaken by the hosting library, such as updating web content and putting up flyers for patrons. Once the Mountain View Public Library started running its programs, it became easier for MathAndCoding to sell other libraries on the idea.
When asked whether he'll be a programmer in the future, Kosaraju is unsure. "As [Facebook CEO] Mark Zuckerburg has said, programming is an important skill to learn in this day and age, and not limited to programmers. Many CEOs need to know programming as well." It is unknown how many of these students will end up being programmers, or even be remotely involved in the tech sector. But if any of their future lemonade stands do as well as Zuckerberg's, then MathAndCoding will have certainly done its part in fostering hard work and discipline from early on.
In Part 2 of this blog series, we talk to Karin Bricker, library manager for youth and outreach services at Mountain View Public Library, about her experiences as representative of the first library that worked with MathAndCoding to get this program started.