The maniacal cackle of Red -- one of the most recognizable of the Angry Birds -- can be heard periodically springing from laptops around the classroom. One student pumps her fists in celebration after successfully completing a challenge; another sighs in frustration.
And Los Altos High School math teacher Daniel Oren is totally cool with it.
That's because his students aren't playing a game so much as they are programming one. The students in Oren's third period Algebra 2 class are all working in Blockly, a "visual programming editor" designed to introduce the uninitiated to the basic concepts that underpin computer coding. In between exercises, the kids watch videos touting the virtues of learning to code and the benefits of pursuing a career in computer science.
'Hour of Code'
It's all a part of the first Computer Science Education Week -- a national effort organized by Code.org, a non-profit organization "dedicated to expanding participation in computer science education."
According to Code.org, computer science is not taught in 90 percent of American public schools. "Fewer students are learning how computers work than a decade ago," a press release from the organization claims that's in spite of the fact that technology and computers are a driving force in the economy and have permeated most aspects of daily life.
Even at Los Altos High School, located in the heart of Silicon Valley, computer programing courses were non-existent just two years ago.
"It's a big deal," said Principal Wynne Satterwhite about Computer Science Education Week, which is alternatively being billed as "The Hour of Code," because students are supposed to spend at least one full hour learning about computer programming during the week. "We're very excited about this, and we think it's a great opportunity for our kids."
Satterwhite is also optimistic that the school's recently introduced courses on computer science will continue to gain traction in the coming years. "It's been a great experience for the kids," Satterwhite said. Los Altos offers two classes, Introduction to Computer Science, which was started this year, and AP Computer Science, which was added two years ago.
It wasn't easy to get the two classes into the high school's course catalog, Satterwhite said. For years the school tried to introduce computer science classes, but they never took off. "I really don't know why," the principal shrugged.
Jane Broom, director of community affairs at Microsoft, said she has a few ideas as to why public high schools have had a hard time getting computer science programs up and running.
According to Broom, there are several "big systemic issues that make it difficult for schools to offer computer science courses."
In many school districts, computer science classes are considered electives and don't count toward a student's required math or science credits. That means a student interested in taking a computer science course would have to carve time out of an already busy schedule to take a class that isn't going to count toward what he needs to graduate. "It's a huge deterrent," Broom said.
Funding also poses a challenge for some districts. The hardware, software and infrastructure needed to teach computer science classes is expensive. And because of what Broom identified as a bureaucratic error in federal law, computer science classes aren't counted under the STEM -- or science, technology, engineering and math -- category of courses.
Further adding to the challenge, she said, is the fact that it's hard to find high quality math and science teachers. "Frankly, it's that much harder to find people teaching computer science."
Help from alumnus
Broom's colleague at Microsoft, Kevin Wang, is acutely aware of these issues, and has been using his position in the company to make a difference.
Wang, a Los Altos High School alumnus, founded Microsoft's TEALS program to address the dearth of computer science education in public schools. TEALS, which stands for Technology Education and Literacy in Schools, helps identify and place technology professionals in schools to work as part-time teachers in order to help schools and districts learn how to teach computer science.
It was Wang who first approached Satterwhite about the TEALS program, and it would have been hard to get the introduction to computer science class up and running without him, the principal said.
"We do hire great teachers, but it's hard to hire someone who is super competent in (computer science)," Satterwhite said. "I think Kevin was instrumental in helping us get good people in to help us get this program off the ground."
Niki Mohajer, a sophomore, said she was glad that her school is now offering computer science courses. She has been coding using Java and HTML on her personal Tumblr page for a while, and she said that she has found learning to code is empowering.
"I like it because it makes me feel like I know what I'm doing," Mohajer said, standing outside of Oren's classroom. "It seems so complicated for other people, but it's really not. It makes sense to me. It makes me feel like I'm in the know, like I know what technology is about."
Mohajer's classmate, Izzy Phan, said that she felt she was beginning to grasp the logic behind the code in the brief amount of time she had spent that day working with the Blockly program in Oren's classroom.
The program uses a graphical interface of several puzzle-like pieces. Each piece functions as a directive -- such as turn left, turn right, or move forward. Oren's students advance through the Angry Birds-themed game by dragging and dropping the pieces in the appropriate order and then clicking a "run" button, which executes the commands of the puzzle they've compiled. If they've put their blocks together in the correct order, then their Angry Bird avatar will negotiate the level successfully, and then it's on to the next stage.
Students can then compare their arrangement of puzzle pieces to the actual code their puzzle represents.
"When you see the code it looks really confusing, but when you see the blocks and you simplify it, it makes it less daunting," Phan said. Spending an hour working in Blockly, Phan said she can "see where the commands come from."
And that is exactly the point, according to Satterwhite. "I think coding scares a lot of people," she said. "Our idea is to expose kids to a lot of simple code -- to have the kids realize that a lot of the stuff they rely on and a lot of what they do is computer-based, and it's not too hard."