March 26, 2013, 12:49 PM — Consider the following programming test: this data file defines a maze with diagonal walls made up of sections with a length the square root of 2. In 45 minutes, design and implement a solution in Pascal to count the number of enclosed areas and the area of the largest enclosed space. Got it? Ready... set... go!
Image credit: Neil Fraser / BẾ VĂN ĐÀN
If you were able to do it, congratulations! That means you could pass the Google interview process. It also means that you have the programming skills of a Vietnamese eleventh grader.
That's according to Google engineer Neil Fraser, who recently visited schools in that country and came away quite impressed with the commitment to teaching computer science starting at an early age. As he wrote earlier this month, it all starts early. In third grade they learn how to use Windows, in fourth grade they learn Logo commands and loops and by fifth grade they can write procedures.
He witnessed a class of eleventh graders take the above programming test, which he said is on par with some of the questions during a Google interview. Most of the students had no trouble completing the task in the time allotted. He concluded that, “There is no question that half of the students in that grade 11 class could pass the Google interview process.”
While the decision to start teaching computer science at an early age is relatively recent in Vietnam, it already puts them well ahead of the average student in the United States, which Fraser bemoans. In fact, he goes on to paint a pretty bleak picture of computer science education in the United States, saying that eleventh grade students in the U.S. have trouble with HTML tags. He attributes the lack of computer science education in the U.S. to:
School districts not wanting to devote resources away from traditional subjects (e.g. English), so as not to threaten funding
Lack of teachers qualified to teach computer science
Students not wanting to learn computer science and be labeled “geeks”
“The result in America is a perfect storm of opposition from every level,” Fraser writes. “Effecting meaningful change is virtually impossible.”
If by "meaningful change" he means getting to the point where U.S. eleventh graders could pass a Google interview, then, yes, he's probably right. U.S. students are behind their counterparts in Vietnam and Estonia in learning programming. It's not clear that computer science will ever become a required subject in grade school or even high school in this country.
However, I'm not sure that's the end of the world. As I wrote last year, there is indeed a clear gap in this country between the number of computer related jobs and the number of students graduating with the computer science degrees. But there is some good news to report on that front.
Yesterday the Computing Research Association reported that, in the 2011-12 academic year, the number of students at U.S. universities choosing to major in computer science increased by 29%, the fifth year in row of growth. There was also a 20% increase in the number of bachelor’s degrees awarded in computer science, the third year in a row of double digit percentage growth. This shows that, at least for people entering the workforce (which is what's most important, in my opinion), we’re trending in the right direction.
In the meantime, if Google is looking for 17 year old engineers, they know where to look.
Read more of Phil Johnson's #Tech blog and follow the latest IT news at ITworld. Follow Phil on Twitter at @itwphiljohnson. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.