Slowpoke's comment really resonated with me, so perhaps I can provide some concrete examples.
8 years ago, I graduated from my Software Engineering degree at Swinburne University in Australia. As part of my degree I had to sit through 3 years of engineering maths.
In our first programming tutorial we were taught how to write a program to display “Hello world”. It was immediately obvious to me why we might want to write a program that displays messages on the screen and what sort of problems this would be useful for solving.
In our first maths tutorial we were taught how to add, subtract and multiply complex numbers. To this day, I still do not understand why I would need to do that. Where do my complex numbers come from? What do they represent? When I add them together, what does the answer mean? The only problems that I can apply my maths education to, look exactly like those on the tests: what is (-3.5 + 2i) + (12 + 5i) ?
It is possible that in my job I am besieged daily with problems that I could use complex numbers to solve. But if so, I am totally incapable of recognizing them!
Fourier series were a particularly egregious example – the subject started, when the lecturer came in and wrote up 3 boards of dense maths, and said something along the lines of “… and this is the formal derivation of a fourier series!” It was as if somebody had tried to teach programming by explaining the algorithm a complier uses for translating source code into machine code. Then expecting the students to just figure out how to write actual useful programs, all by themselves! I believe this is what Slowpoke was talking about when he said: “The problem, as I still see it, is that nobody fucking tells you why. They throw it at you and expect you to deal with it. No further explanation - "It's math, we ain't gotta explain shit."
The way we were taught fourier series particularly hurt. Years later, I found out by myself, that the things are actually incredibly useful. As it turns out, that there are these things called fast fourier transforms, that programs use all the damn time, to do fantastic stuff!
So, to give a very concrete example of how maths education in universities could be improved: If only the first lecture on fourier series had instead explained what they are used for, and why they were so important that we were going to spend 5 weeks on them. Then perhaps I would have had a much better understanding of what they are and how to use one. It helps so much, to be able to think as the lecture is writing boards filled with formulas: “Shit! Now I can use this to do X!”
Thanks for taking the time to listen. It’s such a shame that maths is being taught this way, because mathamatics is both so very useful and very important…
Edit: Actually I reflection I sat through 3 years of maths, not 4