Why do Computer Science degrees contain a high proportion of mathematics? About 17 years ago I attended a top 10 UK university to study for a degree in Computer Science.

Mathematics had never been a particularly strong point for me. However I (just) had the required A-Level qualification to be accepted for the course without any issue. 

After two terms I dropped out and switched to another top 10 UK University to study for an Information Technology degree. The reasons I dropped out from the former were simply because I found the Mathematical lectures unbelievably difficult. The university did not (in my opinion) provide good support to people who weren't strong in this area. However I also never understood why this level of mathematics was being taught in the first place.

I recently looked at some lecture notes provided on the former universities website for the current year. And sure enough, the level of complexity seems the same.

When I switched to doing an Information Technology degree part of my logic was that the outcome would be a more practical/useful set of skills to actually develop software, along with the logical thinking required (which in my view requires little mathematical knowledge). For me this has worked well as I've had a good career as a software developer since graduating. I've never found any of my work requires much maths, beyond that of a GCSE/A-level level of complexity. 

Interestingly, looking on LinkedIn, a huge number of people at the former university went on to be software engineers or similar roles. The salaries at the organisations these people work seem commensurate to the role I am currently in.

Given this, I'm wondering what the end-goal and purpose of teaching that complex maths is on CS degrees? I understand some people will go into roles working with hardware, or even producing software where there are complex mathematical elements. But this seems to be in the minority - by a very big margin - in terms of what people actually end up doing. I have also spoken to people about careers they've gone into as opposed to just looking on LinkedIn etc.

It seems to me that CS courses are teaching skills which - whilst relevant - are not as relevant as they might once have been. If this is the case then why has nobody addressed it? It seems absurd.

My experience of this is based on two top 10 UK universities but having looked at some others (in the UK and USA) this seems to be a general case.

If people are going into roles which require that level of mathematical knowledge, what are those roles? Because I can't see a lot of evidence of this actually happening after people have graduated.
Oxford University’s overview of their CS degree says it all:

Computer Science is about understanding computer systems and networks at a deep level. Computers and the programs they run are among the most complex products ever created; designing and using them effectively presents immense challenges. Facing these challenges is the aim of Computer Science as a practical discipline, and this leads to some fundamental questions:

How can we capture in a precise way what we want a computer system to do?

Can we mathematically prove that a computer system does what we want it to?

How can computers help us to model and investigate complex systems like the Earth’s climate, financial systems or our own bodies?

What are the limits to computing? Will quantum computers extend those limits?



In other words, the language of computer science is math, not C++. If you were looking for vocational training in computers then CS Is probably an inappropriate choice.