Can We Fix Computer Science Education in America?

The tech industry is one of the few bright spots in a dim economy. So why aren't we teaching kids the skills they need to participate in it?

  • Share
  • Read Later
John Landa / Exploring Computer Science

Students at Gardena High School in Gardena, CA work on a robot in their Exploring Computer Science class.

The tech sector is set to grow faster than all but five industries by 2020. Out of those fields, half of which are related to healthcare, tech pays the best with an average salary of $78,730, according to the Bureau of Labor Statistics.

If technology is the future, however, we are doing a woeful job of preparing our kids for it. Computer science is the only one of the STEM (science, technology, engineering and mathematics) fields that has actually seen a decrease in student participation over the last 20 years, from 25% of high school students to only 19%, according to a study by the National Center for Education Statistics.

(MORE: Reboot the School)

Meanwhile, tech companies are so desperate for talent that — in the face of a worker shortage partly due to the H-1B visa cap —  a company is planning to build an 1,800-person floating city for foreign entrepreneurs in international waters off the coast of San Francisco.

Why the disconnect? If technology is, as the White House says on its website, “an essential ingredient of economic growth and job creation,” why aren’t we teaching kids how to create it?

Take a look at the curriculum of many classes labeled computer science today and you’ll find not much has changed from the days of dial-up modems. Most cover the basics: learning how to type and use Microsoft Word and PowerPoint.

The only serious computing class available to many students is AP computer science and it’s not very popular. Part of the problem is that the course is primarily focused on Java programming.

“Many kids come to high school without any experience in computer science, especially in lower resource schools,” says Jan Cuny of the National Science Foundation. “They’re not really ready to take a year-long course in Java.”

Even if students wanted to dive into programming, the course is only offered in 10% of American high schools. The result? According to the College Board, in 2010, only 14,517 students took the AP computer science test, compared to the 194,784 students that took the AP calculus test and 109,609 students that took the AP statistics test.

Some students are reticent to even take otherwise engaging computer science classes because they don’t count towards graduation requirements. Why? Except for nine states, computer science isn’t considered a math or science course, but rather an elective like woodshop or band.

“When a course is an elective, it’s often marginalized in a couple different ways,” says Cameron Wilson of Computing in the Core, a non-partisan advocacy group that aims to get computer science listed as a core academic subject in more states. “First is that students often don’t have a lot of room in their schedules to take electives because they’re busy taking four years of math, English, science and social studies courses. Second, when a subject is an elective, it often doesn’t receive the same attention and resources at the state and district level that core courses do.”

Why isn’t computer science a core course? According to Wilson, it’s mostly because it’s a relatively new field being taught in an education system that’s slow to change. While policy-makers do understand how big of a role technology will play in students’ lives, in Wilson’s view they often don’t understand the difference between teaching kids how to use technology and teaching them how to create it.

If schools across the country all implemented engaging, core computer science courses, there’s still the problem of finding qualified teachers. According to the Bureau of Labor Statistics, the mean annual wage for a high school teacher is $56,760. Software developers, on the other hand, make an average of $92,080.

That’s a lot of money to leave on the table for a college graduate with a computer science degree. The result is teachers that often have neither a background in computer science or certification saying they’re qualified to teach it. In many states, even if a teacher wants to get certified, there is no path for them to do so.

Tech Repair

If policy-makers want to fix computer science education in this country, they might want to look to Israel. “Start-Up Nation” has the highest density of tech startups and attracts more venture capital dollars per capita than any other country in the world.

It’s also home to what is widely regarded as the world’s best computer science education program. The number of high school students who take computer science is roughly the same as the number who take physics, according to to Judith Gal-Ezer, vice president of academic affairs at the Open University of Israel, who wrote to TIME from Israel.

In the mid 1990s, Israel’s Ministry of Education implemented a clearly defined computer science curriculum with the goal that it “should be taught in high-school on a par with other scientific subjects.” It requires its computer science teachers to earn a minimum of a bachelor’s degree in computer science and official certification in the subject. Students are free to choose from two different two-to-three year tracts, one for students with a casual interest in computer science and a more rigorous one for students with a special interest in it.

Of course, Israel is a country of 7 million people with a centralized education system. The United States is a mammoth hodgepodge of state and local education authorities. But Exploring Computer Science, a joint project between the National Science Foundation, UCLA and the Los Angeles Unified School District, is hoping its model will catch on.

  1. Previous
  2. 1
  3. 2
35 comments
drpage.pagewizardgames
drpage.pagewizardgames

I find this article portrays CS incorrectly, as do most people who aren't computer scientists.  Infact, I can even meet people with CS degrees and they couldn't even tell me what CS actually is.  Instead of making CS in schools a programming class, maybe make it more scientific, as it actually is.  CS isn't glorified programming, it is the study of the scientific nature of computation.  

Tech_Education_Enthusiast
Tech_Education_Enthusiast

There definitely is a lack of Computer Science courses offered to students in a high school setting, especially at public schools.  I have noticed that to fill this gap, STEM summer camps (http://www.internaldrive.com/stem/) that teach kids programming skills have become more and more popular.  iD Tech Camps is one that I personally have experience with.  I have friends who have sent their children, and it sounds like they had a great experience!  Learning AND having fun?  Sounds good to me.  Kids as young as 7 and teens as old as 18 can take classes in various programming languages such as Scratch, Java, and C++.  They can even take classes in app development, which is definitely a skill set that employers will be looking for more and more.  

AntonioDiaz
AntonioDiaz

i wish AP CP was anywhere in the los angeles area.... damn oh a boy can dream can he?...

Bill Mai
Bill Mai

I started teaching IT in the early nineties in a school which had a very aggressive program. We were Mac based back then and students were learning to program with Hypercard, Logo and Filemaker. By the end of the decade we were working with Lego Dacta teaching robotics and Premeir for video work.  Our IB (that's kinda like AP ) had a challenging program that included programing, hardware, and networking. Our elementary students were working with Microworlds, Amazing animations and doing robotics with roamer turtles. Many of our students from this era are today working in ICT and related fields.

All of this came to an end, partly for money and partly for laziness. IT was expensive and doing it right was very expensive, school administrators hate expensive. By 2000 our bugets were going for Microsoft and Adobe products, so our school began teaching the hell out of MS Office. By 2002 I and the other teachers moved on and the students were doing Office and yes Java.

Now it's boring for the kids, it doesn't require much from the staff and it's cheaper than doing it right but in the end it's the kids who are cheated out of a great opportunity.

systemBuilder
systemBuilder

It's not terribly important to have a good teacher or a good curriculum.  In computer science, it's very important to find the kids a peer group, and to use their creativity (like art) to compete with each other, in a peer group.  My jr. high friends and I taught ourselves to program (with an extremely excellent book, targeted to children) in the 1970's, on PLATO, and then we all competed for the next 4 years to write the very best games.  Among the top-7 games on that system, out of 250+ games, 3 or 4 of them were written by us.  That peer group and the desire to "out-do" each other launched our careers, even though only one of us had a parent in the field of computer science or engineering.

baisasa
baisasa

I agree with you but I think part of the issue is that students need to get a nice taste of what CS is with something like Scratch but know if they want to go further they need hard core math.

Math knows no race, gender or socio economic barrier. 2 + 2=4 no matter where you live or where you come from.  Your teachers can't discriminate against you as opposed to English where an essay point of view can be subjective.  But it takes hard work.

I think if kids know that the fun side of CS is at the end of the painful math tunnel they will stick with it.  Kids will sweat in 110 degree heat to be allowed to throw a ball at the game - you need to do a million problems sets to become Gates or Jobs or have the cool CS job.

umbrarchist
umbrarchist

There are too many computer languages and too many crappy computer language books.  But if computers were truly easy to program would that serve the economic interests  of computer programmers.

It looks like the operating systems get in the way more than they help.  It is like architects who don't know Newtonian Physics.

builder7
builder7

Here is how to improve computer science classes and the result set of competent students can result.  Tell American companies to start hiring people from America and paying them an American wage, rather than hiring from India and bringing them over here to work.  American's have no incentive to study for years and accumulate high levels of student loans at overpriced schools to end up unemployed and homeless.  They also do not want to work for 10 bucks an hour under these conditions.  They want to be paid the actual value of their undertaking, which is not to be confused with some sort of labor market.  If companies are not ready to pay Americans what it takes to do what is necessary then we will all be unemployed and dumbed down and homeless in the long run.  Are they prepping us to take over India's and China's place among the poverty stricken?!

AKEK
AKEK

It is so much easier to pass laws, fiddle with curricula and wring hands than it is to teach.  We don't teach engineering in high school, yet we have engineers.  We don't teach in high school (to any significant degree) business, psychology, physics or most any other college major and yet students somehow manage to start at the beginning of these fields as college freshmen and graduate.  I started in computer science back in the computer stone age and took my first CS course as a high school senior, literally not knowing what a computer was.  This idea that the cure is to push these subjects down to earlier grades is false -- easy, but false -- as the last 20-30 years of computerized education bears witness.

Anyone who has taught beginning computer science (as I have) will tell you, the programming language piece is the easy part.  It is the logical thinking and problem solving skills that is hard to teach.  Those skills are, in my opinion, best developed by math, and lots of it.  Uh-oh, math is hard though.  Kids don't like hard stuff, and hard stuff is also hard to teach, and you can't do it by buying more equipment and mandating a new federal policy.  Students have to study and put out.  Mommy and daddy and government nanny can't buy that for you.

Has anyone noticed just how many remedial courses are having to be taught by universities these days?  The three Rs -- let's graduate high school seniors who are really good at the three Rs.  All the rest of it will take care of itself.

Rolf Schlup
Rolf Schlup

 I've made to attempts to venture out down south the U.S. from Canada and it seems more difficult with a TN-1 visa than it's with an H1B visa.  Just because I got my education from various places ( some via correspondence and not on campus ), I don't always have the credentials most employers are looking for.  I have a B.S. in Computer Science and 12 years experience in the field and for the employers I tried for, it's still not enough.  It seems to me that they still only look at credentials and not talent.

Mediha Din
Mediha Din

Very exciting what the teachers of UCLA's Exploring Computer Science are bringing to students in low-income, low-resrouce areas of LA. Keep up the great work teachers!

Jim Perry
Jim Perry

Blaming Java for the lack of interest in Computer Science is like blaming English for the lack of interest in poetry. An exposure to the depth and beauty, and the theoritical and foundational ideas of a topic does more to advance any field than specific training. And it allows students to adapt faster to changes in the field, when they come.

In part, computer science is a love of problem-solving in any medium.  Students who like to play intellectual games, build with legos, take about a mechinical alarm clock, shape clay are all solving problems. These same students tend to embrace computer science as a field.

I always ask advisees, "Why do you want to be a computer science major?"  I find that that the ones who answer that they love to solve problems or love to program succeed.

 

rags17
rags17

ha...!they get to learn java or i must say they at least get an idea of what java is all about! when i was in high school all that i studied is C and C++. Don't think we master those languages all we were expected to do is memorize coding to write fibonacci series and matrix addition.we didn't even have windows XP OS.we didn't know what's .NET,VB,PHP or python . my country's(India :D) education system focuses only on memorizing stuffs.parents and teachers have a single goal...pass your exams with good score and get into a top university.yet you go knocking at your neighbour's door there is always an engineer working in a IT firm. 

DaveZiffer
DaveZiffer

** sigh **  The reality is that you couldn't pay most American students to take a class in computer science. Most kids' interest in computers extends no further than gaming and their use of Facebook. If there were a demand for real computing classes, we'd have them.

Belay Mylast
Belay Mylast

PLEASE don't make this a 'core' academic subject, ie required for high school graduation.   Although many more students should be offered the opportunity to take courses in computer and software design taught by people who do know more about the subject than the students, it's not for everybody.  Yes, we need more quality educated students.  Mandating that all students take a computer science course will result in more of the same old updates to 'keyboarding' that we've seen over the past 20 years.

Neniv Bazi
Neniv Bazi

I took a couple AP Computer Science Honors classes at my school in Arizona when I was a senior in 2008, and they were both horrible in my opinion. We were being taught Java the entire first class and some more Java and HTML the next class. I felt like this was such a waste of time, considering one of the other classes offered at the school (that I took) was Webmaster, which taught more HTML and Flash, among other web design aspects, and another class was Windows Programming, which covered VisualBasic.NET mostly and briefly covered Java. 

The AP CS classes were taught by a wrestling/basketball coach who had absolutely no coding experience, and taught us from tutorials and quizzes found on the internet that many of the other students figured out how to exploit to improve their grades within the first couple of weeks. 

These classes gave college credits to those who could pass the AP tests, and I was one of the few out of a class of over 20 students who even passed.

I definitely felt cheated out of a decent computer science education, but I'm glad I at least had the drive to teach myself. Unfortunately not all students have that.

bhayzone
bhayzone

The article seems to be suggesting the Java programming language as the culprit? Shouldn't it be the way that Java is perhaps taught, or rather the way in which programming languages have generally been taught. I read the LEGO's programming style and it was pretty interesting, but it seems to be one of those specialized type of courses that are offered by only the elite schools. For the remaining commoners, its just classroom programming, computer science algorithms and o-notations.

hokieray
hokieray

Because the kids already know more than any current teacher or administrator about computer science...lol.

Yoshi_1
Yoshi_1

As dear old George articulated several years ago" There's a reason education isn't going to improve in this country: The "owners" don't want that".

All the platitiudes and pompous B.S.  flowing over this and other "educational failure" in America won't change a damn thing. "New normal"? This is the "New sub-normal".  Get used to it and learn to prosper.

Yoshi

Whatnow05
Whatnow05

Really ought to start teaching it in elementary or middle school before even high school.  We dont just dump most kids off into complex math or other subjects why do the same with IT/CS? Which are arguably just as complex. 

Edna_Bucket
Edna_Bucket

Microsoft's British Columbia division was an offshore H-1B/L1 visa mill for "low-grade" testers. The Director of this division told reporters: "It's the guys without a turban who are the standouts":  http://www.sikhchic.com/articl... , as though Microsoft is proud of its exclusionary policies

One of their workers was a British PhD, who they brought to the US on H-1B.

According to this government ruling, they violated H-1B law by forcing him to work for no pay part of the time and Canadian dollars the rest:

http://tinyurl.com/7lhq6yc .

He seems to have lost his job shortly after complaining about it.

This illustrates the H-1B is not a "genius visa" bringing future Nobel prize-winners. It is an indentured-worker visa that allows companies to replace unionized Americans with foreigners having little to no rights. For the first time, there is a net migration of Mexicans out of America, which is an indicator that the US is seen as a sinking ship and it's time to seek better opportunities at home. 

In a decade or two, when India and China have the same technological infrastructure as Japan, this endless supply of indentured workers and cheap outsourcing centers, like Foxconn, will cease and corporations shall have so betrayed home-grown engineers that they have neither cheap foreign labor nor qualified home-grown labor, as American students desert the sciences in favor of degrees in law or business that offer better job prospects.

At that stage, Silicon Valley will shut down and the world economy shall revolve around chips made in Taiwan. Software firms will close down as the Indian workers who once supported Microsoft in droves start their own businesses in India, where local labor remains a more cost-effective option than emigrating to the US. Canada, Europe and Australia will be the first choice for foreign scientists seeking good research opportunities.

Grassley has been good at playing the pseudo-race-card, "The beleaguered American under the yoke of the foreign menace", but he has failed to tackle the issue at its source. Give a company legalized slave labor and they won't give it up. All the Congressional rhetoric in the world won't help, since Microsoft has the same lobbying power as any tobacco company. Microsoft and Infosys are parasites, whose profitability is dependent upon legalized trafficking. 

OlHarley
OlHarley

High School Computer Science in America perfectly reflects the district-by-district inequality and organizational hodgepodge that this story mentions. Some of it is totally wonderful, and a few of its practitioners totally get it as to how to bring in students, and how to bring in girls and minorities -- in their own community.  In some communities, Computer Science teaching, if it exists at all, is a perfectly terrible, slapped together mess. It ain't secondary Computer Science that's broken. It's our society. Until we quit valuing inequity and cranking out winners and losers as if it was our national religion, this isn't getting fixed.  And making it a required core subject is a terrible idea for now. Nobody knows whether Computer Science is a "literacy"  like reading, or a somewhat exotic talent to be cultivated in a context of competition, like pole vaulting. -- Or if it's both, which parts are which. We just don't know. Ed researchers and people with money backing them up just need to start observing what Computer Science teachers and students actually do, and start writing smart papers about how to scale that up.

bhayzone
bhayzone

I'm glad we don't have people like you making decisions at the levels that actually matter, else all of America would be "unemployed and homeless"

You are only hurting your own prospects by believing in the cheap Indian labor story. Once you open your eyes to the fact that the tech worker coming into the US from India earns much much more than the average US wage, only then will you learn to compete better. Until then you have a popular excuse to hide your sorry life behind.

And for the record, US immigration laws require companies to pay foreign workers a lot more than $10/hour, so there goes your dumb excuse for ranting.

OlHarley
OlHarley

 Yes, Advanced Placement is part of the problem. In the early 90s AP muscled in and took over the better computer science classes, and turned them very difficult and very boring, because the point of AP Computer Science is to provide feeder programs for Computer Science majors at elite colleges. Guess where AP Computer Science thrived and guess where it failed -- Places that were already college prep powerhouses feeding elite colleges.  The ironic thing is that Advanced Placement is a bamboo finger trap. If it is a bad match for your program, it goes away, and kills your program, instead of just going away. College Board is really rather evil.

Belay Mylast
Belay Mylast

Coaches should be prohibited from science classrooms, with rare exception.

OlHarley
OlHarley

Yes,  LEGO is fun and effective project based learning. It is also closed source corporate intellectual property, and therefore really expensive. So kids in rich districts get better curricula. Yet another way the rich get richer.

OlHarley
OlHarley

 This isn't as true as it was half a generation ago, but yeah.

hokieray
hokieray

But seriously, computer science grads make way more money than high school teachers.  Simple math people.  Who will teach computer science at high school for way less money?

OlHarley
OlHarley

I followed up on this quote and it is from dear old George... Carlin: "There's a reason for this, there's a reason education sucks, and it's the same reason it will never ever ever be fixed. It's never going to get any better. Don't look for it. Be happy with what you've got... because the owners of this country don’t want that." Yep, that's about right.

builder7
builder7

 You sure are big on ad hominum attacks, or just an outright lack of manners.  I cannot see how you not only could have an education but any responsibility over people.  I don't know what you consider the average U.S. wage, but you can't compare a tech wage with an average wage.  Since tech workers are educated they make more, generally, or they did in the past before the Indian (and other) workers started coming.  I don't know what wage you are talking about, but the Indian tech workers wage has traditionally (for the past 35 years) has been less than an American tech workers wage.  This undercuts American workers, as if you didn't understand that.  I might add also that Indians comprise 25% of tech industry executives because they have a better grasp on reality than many here in the U.S.  For your information, the American worker is the most productive in the world, and has been for a long time.  This is what has allowed the massive expansion of companies, off-shoring, and the U.S. economy.  I don't think that you want to kill the goose that laid all of the golden eggs.  Shoot yourselves in the foot though, if you want, because your way of thinking always leads to worst products.  By the way, why don't you move to India, I am sure that they could use somebody with your attitude!  Finally, the U.S. immigration law doesn't guarantee wages like you are saying, that is the minimum wage law.  It does say that foreign workers need to get paid the prevailing rate for the classification that they get hired for, which can be seen here:  http://www.foreignlaborcert.do....

You also might have mentioned that education is free for anybody and everybody in India and that they learn how to program computers from the first grade of school.  Because they put so much emphasis on education, and for some reason can afford free education and health care for everybody, even though they are very poor for the most part, it behooves me as to why our companies want to use socialist education in their workplaces.  It also shows us the reason that our educational system is not working out for companies, if true!