This could sound as a very obvious question but I’m tempted to ask it because I have mixed feelings about that: Is it math really necessary in Computer Science?

I am asking myself this question since I started to work at my current job because I have found challenging things here that, at glance requires some sort of math knowledge (Functional programming, for example). When people here starts to talk about Distributed Systems, Consensus algorithms, Algebras and so on you start to realize that these topics, requires you to have a good understanding of maths.

This sounds obvious for everyone that read this, but before you start the witch-hunting, I’ll give you some context about the question and the reason of why am I asking that.

CS teaching is disconnected from maths

At least here in Colombia!

I mean, the majority of universities here that teaches CS have professors that are theoretical and academic mathematicians but they don’t have any kind of experience with our field of study, in consequence:

  1. You, as a student, were taught to know what a differential equation is, its properties and the methods for solving it. But what is the application of the concept in your field? You don’t know, and having this kind of frustration makes you to see maths as a “filler” subject, a non important one.
  2. The software industry here in Colombia is very dependent of the enterpise, so Enterprisy software is one of the main focus here. That means: the previous argument is reinforced. You studied a degree full of maths for 5+ years and then “you don’t need it” because most customized software systems doesn’t requires a great notion of maths.

Maybe you are wondering now about the quality of my education or that I don’t deserve to call myself a “professional”. If I am taking the risk of asking that question is for highlighting the fact that I have seen the issue with almost every colleague with I’ve spoken or worked with, no matter their alma mater (public, private, cheap, expensive).

If you, during your studies, focus on the academic or investigative path you will find a real application of different math areas you’ve learned, otherwise you wont connect the dots.

Cultural context

If I am here talking about why am I wondering this is because the question makes sense in our cultural context.

What does that mean? Remember that Colombia has lots of problems but the principal one is the corruption that permeates every corner of this country.

And so, leaving politics aside, how does maths and corruption correlates? Very simple (pun intended): our real and life-changing problems would need the power of technology and maths for making a bold statement, or even better, a solution for a common life problem. You name it: traffic optimization for a city like Bogotá? weather simulation and forecasting for designing better prevention plans and better urban development?

Two problems of many that affects our reality. This kind of things are treated patching the system rather than making it again from scratch, because it doesn’t work. And one very strong reason of that almost everyone could give you is: “there’s no money to do that and there’s other priorities right now”.

Having said that, our industry is focused on other problems, more alike to how organizations are making profit or solving their business needs. That’s why I say that here in Colombia the software industry is greatly driven by the enterprise software.

I can discuss more issues about our culture and how that affects the way we perceive this issue, but that’s not the intention of this post.

So, you are saying that…

… the focus of our CS education are aligned with one specific branch of our science?

Could be, or, at least, that’s my interpretation. And that branch of our career don’t need the use of maths in an everyday basis to solve its problems. That’s why lots of developers doesn’t see maths role in their everyday lifes.

Pushed to the fence

I am developing my point of view on this matter, but really I have conflicting versions of the answer to the question that I want to address here and that’s why I exposed some (cultural) context, wondering if it is the same in other countries.

Now, then? I think about a post (verbatim, the original link is dead) that Alexander Torrenegra wrote some years ago mentioning issues about our flawed CS education. It is worth mentioning it, but I think that it doesn’t compliment this conversation because it is one of the issues of a broader problem.

Let me get this straight: I decided to write this lines because this is athing that I continue wondering about, seeing different perspectives, different answers and debates about this. For that reason I leave the topic open for further discussion.

Last, but not least, this post of Julia Evans, shared by one of my co-workers a few days ago added more fuel to the fire and was the ultimate reason for retaking this issue.

For summing up, I know that I’ve mentioned some issues for which I think that software developers here don’t give maths their real value and also the industry don’t seems to be conscious about that.

With more questions that answers right now, do you think that is math really necessary in Computer Science?