The US Department of Labor has projected that by 2020 there will be 1.4 million computer science (CS) jobs available. The trouble is that there will only be enough graduates to fill 30% of these jobs.
Jay Borenstein, a computer science lecturer at Stanford University and founder of Facebook's Open Academy, writes in an article for TechCrunch that this is not the only problem. He says that today's graduates many times do not have the real-world skills needed to meet the requirements of the available positions. Borenstein adds that being a student of CS and being a real-life software engineer are two very different things.
In the real world:
â¢ Software development projects are larger in the amount of time they take to accomplish and in the size of the project, in general.
â¢ An engineer needs to gain an understanding of a substantial amount of preexisting code bases in order to develop new projects.
â¢ Management and interpersonal relationships can make a huge impact on software design.
â¢ The software user is the one who evaluates the program and the technical merit of the software takes second place.
Borenstein says that open source is the software engineer student's solution. CS students can combine their university CS education with real-world work by connecting to the open source community. He says it is a win-win since students can develop new infrastructure without having to "start from scratch", while having an immediate impact on the ecosystem.
"Beyond the educational benefits of bringing open source into college curricula, there is a spirit to open source that is addictive. We're collaborative beings, and open source is collaboration without borders, at scale, and with focus on changing things," Borenstein says.
He encourages professors to:
â¢ Access the seasoned experts that maintain popular open source projects (Mozilla Open Badge, Ruby on Rails, etc.)
â¢ Emphasize teamwork by having groups of students work on a project which has initiatives assigned by an expert.
â¢ Allow students to make an authentic difference by actually advancing the state of the open source project.
â¢ Let students apply what they have learned, much like a medical student's residency.
The Washington Post has published an Associated Press article stating that computer science makes up most of the "T" for technology in STEM education, and that Virginia schools are encouraging early participation through training for Richmond-area teachers called CodeVA. Its purpose is to show classroom teachers how to incorporate CS and improve Advanced Placement exam participation through Code.org, and, ultimately, to boost the school systems.
Once Virginia's General Assembly voted to allow CS classes to count as science credits toward graduation, instead of just math or elective credits, schools had more incentive to offer CS classes. Computer science graduates are making an annual average starting salary of $61,741 in 2013, and computer engineering average salary of $70,300, according to the National Association of Colleges and Employers.
Code.org is a non-profit with the goal of improving the participation of women and minority students in computer science. The nonprofit is funding teacher training. CodeVA is seeking corporate and private funding sources for children's computer camps. Computer education advocate Rebecca Dovi is convinced that computer science is a big piece of literacy in the 21st century.
"If we can create this pipeline for kids to take these classes and take these jobs, that would be my dream," Dovi said. "Plus, it's fun."
Students who attend school in the Bay Area, have had to petition and deliver sign-ups to have two of the area's high schools offer AP Computer Science. Sharon Noguchi, writing for Contra Costa Times, says that unless schools buy in to the programs and there are a sufficient number of trained teachers, it is difficult to expand CS programs.
California, at this time does not offer a computer science teaching credential. Only after natural attrition of tenured teachers can new course decisions be made. Also, CS is not required for college entrance, so students have to decide between it and other elective courses, like band and art.
Santa Clara University professor Dan Lewis has made a real difference in San Jose Unified, San Jose's East Side Union and San Mateo Union comprehensive high schools. He has trained close to 50 teachers how to teach coding.
At Castlemont, a low-income high school, students won a hackathon with an app they created which showed the safest routes for a student to take to get to school. Students take summer courses offered by the Level Playing Field Institute and Stanford University. Still, these students need hardware and Internet access in their homes.
Nanct UreÃ±a Reid, a math teacher, was a programming and AP Calculus student in high school, which made her feel empowered as a student.
"That opened doors to me," she said. "I'm trying to replicate that for other students."