Public schools

Chicago Is Making Coding Education Mandatory. Is That a Good Idea?

A school computer science program developer explains the pros and cons.


"No DDoS attacks until you finish your HTML exercises."

"Just make it a requirement."

That's what Chicago Mayor Rahm Emanuel said the government should do to make education in computer coding and programming available to public school students.

"You'd be amazed to if you make the goal, how much all the other choices will be made to get to that goal," he told people attending a tech event in October sponsored by the Washington Post.

Emanuel wants the federal government to make the same mandate he is attempting to implement back in his home city. Chicago Public Schools is rolling out computer science classes at all levels of education, and the goal is eventually to require some mandatory computer science education in order to graduate from high school.

Should we bristle at the idea of yet another inflexible government mandate in public education or commend Emanuel for recognizing how important computer education is for today's students as they prepare to enter the work force?

It's interesting to note that Emanuel's advocacy falls on the side of what parents say they want and in opposition to what administrators think is in demand. An August poll by Gallup and Google found that 90 percent of parents see computer science education as a good use of school resources, and 67 percent, like Emanuel, want it to be a mandatory core subject. But only 8 percent of school administrators realized or thought that parents wanted it as a priority. A Gallup director called it "shocking how huge the disparity is between the demand we're seeing in this study and what's actually happening in schools."

We are seeing louder, more obvious pushes for computer science education in schools. This isn't about how to teach kids to use computers; it's about teaching kids the basics of coding and programming technology, teaching kids to build things like web sites and apps and even to program robots. Adults, regardless of whether they have kids, have probably heard of's push for computer science education in schools and President Barack Obama's endorsement of its aims. On Monday, Microsoft unveiled a tutorial program to help kids learn introductory coding with the assistance of the beloved Minecraft game.

It's very easy to make a compelling argument that coding education ought to be available to students in all schools—public, charter, private, or otherwise. But it's also very easy to be unsettled by Emanuel's suggestion of adding yet another mandatory core education requirement in order to graduate high school, particularly a demand made via a federal order.

And that's not necessarily even what computer science educators want. To learn more about the development of computer science education, Reason interviewed Julie Flapan, director for the Computer Science Project at UCLA's Graduate School of Education and Information Studies. This program is responsible for the development of the Exploring Computer Science curriculum that has been used or adapted for use in school districts in Los Angeles, Chicago, Washington, D.C., and elsewhere.

For Flapan and Exploring Computer Science, the mission isn't mandates so much as it is simple access in public schools.

"Computer science has historically been at the advanced placement level," Flapan says.  "It appealed to students who already had exposure to computer science and already showed an affinity to math and science." When they examined the demographics, there was a very obvious gap in who was studying computer science, and women and minorities were being left out. To the extent schools that served poorer students had computer education at all, it was focused on the student as a computer user, teaching data entry and how to use Microsoft Office, Flapan says. It's at schools with better resources where students can go beyond basic computer use to learn actual programming and data analysis.

The mission of Flapan's program is to change that attitude and make computer science education more available to minorities and female students and to counteract stereotypes that push students away from learning the subject.

"We wanted to develop a computer science course that opened all students up to the ideas of what computer sciences are," she said. "We felt all kids should have this exposure. It shouldn't be just kids who have access to summer camps or after-school programs."

And there are practical, marketplace considerations as well. It's not just about providing equal access, but trying to adapt education for what the American economy is evolving into. There's a huge educational emphasis on STEM-related fields—science, technology, engineering and mathematical occupations. Flapan notes that within these fields, half of all the jobs are actually going to be in computing.

"At the rate we're going right now, by 2020, we have a projection of about 1.4 million more [computer science-related] jobs, but only about one-third of our students are being educated to meet those needs," Flapan says.

To be clear, though, this push is absolutely not about operating on an assumption that all high school students are bound for college, at least not at UCLA's Computer Science Project. Part and parcel of trying to end stereotypes about who should be learning computer science and coding is not assuming these students are all on some sort of college computer engineering track. Some may finding coding education in secondary school a helpful precursor for vocational training or entering into the job market.

"The idea is, there are many different pathways for students to pursue," Flapan says. "If they don't know what the pathways are, they won't be able to pursue them. Not everyone has a linear pathway. Some may want to go straight into the workforce. We're preparing students for both college and career."

An adapted version of the Exploring Computer Science course is what the Chicago Public School system intends, eventually, to make mandatory. The curriculum for Chicago's version of Exploring Computer Science is available online here (pdf). Adapted with the assistance of folks at several Chicago colleges, the course starts with basic computer education and training with Microsoft Office software, then shifts to using computers to solve problems, web design (where students will learn how to create web pages), introductory computer programming, data analysis, and even basic robotics.  

Numbers for the 2013-14 school year for Chicago had 4,377 students enrolled in this course at 30 schools. Chicago currently has 112,007 secondary school students enrolled. Assuming each student will have to take a single course, enrollment is going to have to increase seven-fold to 28,000 students per year.

That's a lot of program scaling, and it's not as though teachers can simply be shifted from some other course to computer science. As a field of education in public schools, Flapan notes, computer science is still relatively new, and there's a significant amount of professional development needed. Furthermore, computer science is a constantly evolving field. The classes then will have to be flexible and adjust to wherever the technology goes in the outside world. If any of today's parents got any sort of computer science education in school at all, it was likely at a time where schools had Apple II computers using floppy discs. School districts can't just implement a computer science program, dust off their hands, and move on.

As such, when asked about whether Emanuel's suggested mandate was a good idea, Flapan sees both good sides and bad. On the good side, because her program is devoted to increasing access to computer science to female students and minorities, requiring a class to graduate would eliminate a lot of barriers. "When we leave it up only to students, parents, or teachers, we reinforce certain stereotypes over who could be good at computer science," she says.

But while Emanuel may flippantly declare "choices will be made to get to that goal" to wave away concerns about program scaling, it's a serious issue for computer science educators. This may be why, as Flapan explains, there is not a consensus among educators about making classes mandatory. Just because every high school in the country is ordered to provide computer science classes doesn't necessarily mean they'll be any good and that students will learn from them. Imagine trying to learn introductory computer programming from a barely-trained teacher who just lectures from the text.

"You want to make sure of a level of quality," Flapan says. "You want to have a structure in place to make sure schools can put it in their master schedules. There's a whole infrastructure we need to put into place. It's a tough one."

Chicago's Public Schools, despite having a disastrous debt situation and a massive pension liability problem, is pushing forward with this experiment. The unanswered question is whether the program will be scaled properly, get the infrastructure and training experts say they need, and whether those kids will actually get the computer science education their parents say they want them to have.