It’s first period at Harlem’s Cristo Rey high school, a private Catholic school for motivated low-income kids. In a third floor classroom, 10 sophomores and juniors stare into their wide Apple monitors and puzzle over what line of code they need to add to their rudimentary computer programs in order to make their names appear in a gray block between the word “’Welcome” and an exclamation point.

Their teacher, Kevin Mitchell, 29, is a software engineer and volunteer at the tiny nonprofit startup, ScriptEd, which provides coding instruction in underserved high schools in New York City. Mitchell, a calm figure with an easy smile, suggests his students write a line of code: a word bookended by some simple punctuation. The students diligently attempt to implement it on their own.

For some, the code works on the first try. Welcome Jorge! Welcome Sonya! Around the room, a few other students make low groans—unexpected results. “Did you forget your curly brackets,” queries Mitchell, referring to the punctuation that looks like this “}” Other students have gotten no results at all.

Byron Acosta, a junior at Cristo Rey, seems satisfied when his name pops up. Before he took this class, Acosta says he didn’t know anyone with the skills he was learning in class. Even though he’s a self-described “English and history guy” he jumped at the chance to learn some basics. So far, he likes it. And he’s absorbed Mitchell’s Golden Rule: “You have to be specific in your language,” he offers. “One typo and you can mess everything up.”

Mitchell walks among the students, troubleshooting. Writing code is like giving commands, he tells the students. “The computer can’t know what you don’t tell it.”

To an observer, the class seems to move slowly but the students aren’t restless—they’re in a dynamic relationship with a technology, struggling to figure out who will come out on top.

It’s a battle that Maurya Couvares, co-founder of ScriptEd, and a lot of other savvy people, think more high school students will need to engage in. “Coding will be the key to innovation in the future but many students, but especially low-income students, aren’t exposed to it,” she says. Tech moguls including Bill Gates, Google’s Eric Schmidt and Meg Whitman from Hewlett-Packard agree with her. They’ve thrown their weight behind Code.org, a new nonprofit whose “learn to code” videos have gone viral. They say that coding, programming and computer science will be the language of the 21st century. "In a world that's increasingly run on technology, computer science is a liberal art that every student should be exposed to, regardless of their path in life,” says Code.org’s Hadi Partovi.

Labor economists say Partovi might be right. By 2020, the U.S Bureau of Labor Statistics is projecting that 778,000 computer jobs will be created. “That is substantial growth that is expected to outpace the growth of the overall economy,” says Martin Kohli, a chief regional economist there. Jan Cuny, who oversees the National Science Foundation’s CS10K initiative, a $40 million program aimed at getting more computer science teachers in high school classroom, says those projections are low. She estimates that 1.4 million jobs—and 60 percent of the STEM jobs of the future—will require computing skills.

They are good jobs too. In 2012, according to the BLS, the average salary for a computer programmer was about $80,000. (By comparison, the average wage for American workers is $45,800.)

But as the need for workers with computer science skills is exploding, the number of young people with those skills is actually dropping. According to a federal study of high school transcripts, 25 percent of high schoolers took a computer science class in 1999. In 2009, the last date for which this data is available, only 19 percent of high schoolers had learned to write code. Not surprisingly, the percentage of college freshmen who indicate they want to major in computing has declined by 70 percent over the last decade.

To be sure, computer science is thriving in some high schools. On the west coast, the High Tech High Schools (their slogan: “You can play video games at HTH, but only if you make them here”), the brand new Academy for Software Engineering in New York City and selective high schools in major cities throughout the nation have a strong CS curriculum. But those schools are the exceptions rather than the rule. Most high schools haven’t figured out what a solid computer science curriculum should look like, who should teach it and which students should take the courses.

Part of the problem is that while industry titans and economists say computer skills are central to our economic viability, computer science is marginalized by high school administrators. Only nine states have made computer science courses count as a graduation requirement. In the majority of high schools computer science is considered an elective—like home economics or shop. For many kids who are keeping their eye on college, computer science is an afterthought.

Schools that offer computer science often restrict enrollment to students with a penchant for math and center the coursework around an exacting computer language called Java. And students frequently follow the Advanced Placement Computer Science curriculum developed by the College Board—a useful course but not for everyone. “What the computer science community has been slow to grasp is that there are a lot of different people who are going to need to learn computer science, and they are going to learn it in a lot of different ways,” says Mark Guzdial, a professor of interactive computing at the Georgia Institute of Technology and author of the well-respected Computer Education blog, “and there are a lot of different ways people are going to use it, too. ”

Over the next five years, with support from the National Science Foundation, an equally rigorous but more wide-ranging and widely applicable course called “Exploring Computer Science” is expected to take a place beside AP computer science. It’s about time, says Guzdial. “Giving students a course that will provide them with the computer skills they need—not to become a programmer but to easily interface with computers in their own fields, “ he believes, will help stoke flagging enthusiasm for the subject by appealing to a broader range of high school students and align education with useful career-centered computer skills.

Getting different kinds of computer science classes in high schools may be particularly effective in widening a field dominated by white and Asian men and getting more students of color to develop computer skills. In a survey of 1400 Georgia college students enrolled in introductory computer science classes, Guzdial found that 44 percent of the students who come from underrepresented communities (Black, Hispanic, Native American or multi-racial) had taken some computer science in high school, compared to 27 percent of the white students. White students, it seems, were more likely to take a risk and sign up for a college level course in a subject that had only heard about. If you want to encourage a more diverse workforce in computer science, he says, “Early experience counts.”

But hurdles remain. As it is, schools struggle to find qualified teachers to instruct students in AP computer science courses. Finding educators to teach Exploring Computer Science will be a formidable task. Adults who have computer skills readily command salaries that are double those of a starting teacher. Computer whizzes with a yen to teach also face Kafka-eque certification requirements. (For example, there are states that require computer science teachers to take a “methods” course in computer science but then have teacher colleges that don’t offer such a course.)

Dr. Chris Stephenson, executive Director at the Computer Science Teachers Association, says ultimately it’s up to parents to lobby principals and school boards to invest in the kind of rigorous, wide-ranging instruction students need. But first, she says, parents need to understand just how little their kids know. Most parents, she says, wrongly assume their children “know about computers” because they are so adept at using technology. “But being a consumer of technology—using a device—is using someone else’s code. What we need for tomorrow is students who know how to adapt computers to their own use and for their own interests,” says Stephenson.

Back in Harlem, Cristo Rey junior Byron Acosta says that while he enjoys learning code, he won’t major in computer science in college. He plans to study political science or history and with luck, end up as a lawyer. “By the time I get to be a lawyer, you may need some computer science skills.” If that happens, he wants to be ready.

Peg Tyre is a journalist and the best selling author of two books about education, The Trouble WIth Boys and The Good School. She is also director of strategy at the Edwin Gould Foundation, which invests in organizations that get low income kids to and through college.