andrew_lih's picture
Associate Professor of Journalism, American University; Author, The Wikipedia Revolution

I do not propose we should do away with the study of change, the area under the curve, or bury Isaac Newton and Gottfried Leibniz. However, for decades now, learning calculus has been the passing requirement for entry into modern fields of study, by combining the rigorous requirements of science, technology, engineering and math. Universities still carry on the tradition that undergraduates are required to take anywhere from one to three semesters of calculus as a pure math discipline. This is typically learning complex math concepts uncontextualized, removed from practical applications and heavily emphasizing proofs and theorems.

Because of this, calculus has become a hazing ritual for those interested in going into one of the most needed fields today: computer science. Calculus has very little relevance to the day-to-day work of many coders, hackers and entreprenuers, yet poses a significant recruiting barrier to fill in sorely needed ranks in today's modern digital workforce. And for what reason?

This is particularly urgent in the area of programming and coding. Undergraduate computer science programs are starting to bounce back from a dearth of enrollment that plagued them in the early Internet era, but it could do a lot more to fill the ranks. Some of this is due to a lingering view that computer science is an extension of mathematics, from an era when computers were primarily crafted as the ultimate calculators. 

Calculus remains in many curricula as more of a rite of passage than for any particular need. It is one way of problem solving and it is a bellwether for the ability to absorb more complex ideas and concepts. But holding it up as a universal obstacle course through which one must pass to program and code is counterproductive, yet the bulk of computer science programs geared towards undergraduate education require it. Leaving in this obtuse math requirement is lazy curricular thinking. It sticks with a model that weeds out people for no good reason related to their ability to program.

This gets us to ask the question: What makes for good programmers? The ability to deconstruct complex problems into a series of smaller, doable ones. A proficiency to think procedurally on systems and structures. The ability to manipulate bits and do amazing things with them. 

If calculus is not a good fit for these, what should replace it? Discrete math, combinatorics, computability, graph theory are far more important than calculus. These are all standard, necessary and immensely relevant fields in most modern computer science programs, but they typically come after the calculus requirement gauntlet.

People are finding other formal and peer-learning methods to pick up coding outside the higher education environment: meetups, code-a-thons, online courses, video tutorials. Moving past the calculus would bring these folks into the fold earlier and more methodically.

Relaxing the calculus requirement does not mean we turn universities into trade schools. We still want our research scientists in training and our Ph.D. candidates in STEM to know and master calculus, linear algebra and differential equations. But for too long, calculus has served as a choke point for training digital-savvy self-starting innovators. 

Clemson University experimented with moving calculus further down the curriculum, not as a prerequisite, but as a class in sync with the need for it in other STEM classes. Its 2004 longitudinal study showed, "a statistically significant improvement in retention in engineering" when it reconfigured its approach to introducing math in later semesters. We need more of these experiments and more radical curricular thinking to get past the same prerequisite model that has dominated the field for decades. Sadly, the structure and administration of academia makes it hard to do this.

How can so many people be interested in coding and programming, yet not be served by our top institutions of higher learning? We have not evolved with the times by treating computer science largely as a STEM discipline, instead of thinking of it as a whole new capability that cuts across every field in academia. The sooner we evolve beyond STEM-oriented thinking, the better.