While I wouldn’t go so far as to say that coding is the new literacy, I believe that society should and will be placing a higher emphasis on coding than other specialized skills that currently take priority such as foreign language or music. In that vein, I would argue that if students are required to take foreign language or fine arts classes, they should also be required to take at least one computer science class. As the world becomes more and more inundated with technology, it is important for basic comprehension (or “tech literacy”) to exist in society.

There are arguments on both sides of the aisle about Computer Science 4 All. The argument in favor of CS4All is pretty simple. As computers and technology become more and more widespread, they begin to influence more and more aspects of work and life. In order to best prepare students for this growing field, it is important to gain exposure and experience with it from a young age. If schooling exists to provide students with the knowledge necessary to succeed in life, it is becoming difficult to deny that programming knowledge will be helpful or even required in the future. As Tasmeen Raja writes in “Is Coding the New Literacy?”, “exposing today’s third-graders to a dose of code may mean that at 30 they retain enough to ask the right questions of a programmer, working in a language they’ve never seen on a project they could never have imagined.” Computers and program is here to stay, so society needs to stay on pace to work with and take advantage of them.

On the other hand, many people are arguing that CS4All is not a needed or beneficial program. They would point out that many private tech companies are pushing for CS4All education to increase the worker pool and drive salaries down. Basal Farag argues similarly in “Please Don’t Learn to Code”, saying, “I would no more urge everyone to learn to program than I would urge everyone to learn to plumb.” He purports that coding is a specialized skill that is required by one subset of worker and that knowing how to code doesn’t make anyone a good programmer or engineer. Essentially, coding should be seen as a trade as opposed to a foundational skill.

Ultimately, it may be difficult to introduce Computer Science courses in high school and elementary school, but transitions are always difficult. The question know seems to be less of an if and more of a when, and how. To fit CS4All into the typical K-12 curriculum, I would position the course as required “special subject” in middle school. This would be a class that meets once a week to go over the fundamentals of computational thinking and CS fundamentals. Then in high school, I would like to see one CS class required for graduation, with more electives available. It could be compared to the foreign language sequence typically required where students need to study Spanish or French or Latin for at least two years but have the option of going on for another two years after that. One final obstacle that may stand in CS4All’s way is the idea that not everyone can program. As the study “The camel has two humps (working title)” points out (and University statistics back up), many Computer Science intended majors drop quickly because of the difficulty they have with coding. The study goes as far as to suggest that a portion of the population is simply unable to learn how to code. I would disagree with that conclusion, with the counterargument that a portion of the population hasn’t been taught how to think. In “The Perils of JavaSchools”, Joel Spolsky refers to his Intro to CS class that teaches all of the fundamentals of Scheme on the first day, and how that is preferable to learning Java. I think that many students need to take a step back and learn how to computationally think before they can learn the language or learn the concepts. That is the role these elementary programs can and should play, allowing for increasing innovation in the future.