Someone may doubt the use of mathematics in computer science. I’ll be honest, when I was in high school I really thought that I probably didn’t need to study all that math. Most of the times it seems that there is no practical use for it, with some exceptions. I remember thinking ‘I just want to write code! Why I have to study all of this?!’.

Then I started university and the first year, half of the subjects were all about mathematics. So, I started wondering, if I was the only one seeing it that way. Pheraps it would have been useful someday.

Only after those exams, starting with the subjects I liked, I saw its utility. And believe me, there actually is, contrary to what a high school student might believe.

You see, mathematics is really at the beginning of computer science. Starting from Von Neumann and Turing, that are often depicted as fathers of computer science. To me, it often undeservedly covers a secondary and functional role in it. If you think about it, it is actually the base of any scientific subject, but why is that? According to wikipedia:

Formal science is involved in the study of formal systems. It includes mathematics, systems theory, robotics, and theoretical computer science. The formal sciences share similarities with the other two branches by relying on objective, careful, and systematic study of an area of knowledge. They are, however, different from the empirical sciences as they rely exclusively on deductive reasoning, without the need for empirical evidence, to verify their abstract concepts. The formal sciences are therefore a priori disciplines and because of this, there is disagreement on whether they actually constitute a science.

Real-life example

If you were looking for an application of mathematics in computer science, you would discover that it actually has many uses. Functional Programming is based upon lambda-calculus, a formal system in mathematical logic. In Algorithm Analysis you see the expense of resources of an algorithm as a function of the length of the inputs. Graphs and Trees are mathematical structures. There are really a lot of other uses, but you get the idea.

On the other hand, you may want a more personal use of mathematics in the computer science context. Well, you’ll be glad to know, you actually used it from the start.

Oh yeah, mathematics is more of a way of reasoning, and seeing things, in this context. Just like solving a particular programming problem, mathematics needs good abstraction skills, the ability to recognise and use patterns. If you want to be sure that a given algorithm works, you seek for a proof.

The next step

So, do you really have to know math in order to be a good programmer? Well, it depends. If you are a front-end developer or a web developer, you don’t really have to be good at math to program, but surely it would help. Although if you’re into data mining and AI, security or game development then you probably want to have a solid understanding of mathematics.

What do you think? Has mathematics helped you in computer science? Do you think it’s necessary to learn? Or maybe you think it’s completely useless? Discuss in the group