If you intend on becoming a research mathematician who has to tackle previously unencountered problems that nobody has any clue of how to solve, it may be a good way of preparing you for it.
Not only research mathematicians but basically anyone who’s supposed to research previously unencountered problems. That’s the ability that universities are traditionally supposed to teach.
If that’s not what you want to teach, why teach calculus in the first place? If I need an integral I can ask a computer to calculate the integral for me. Why teach someone who wants to be a software engineer calculus?
There a certain idea of egalitarianism according to which everyone should have an university education. That wasn’t the point why we have universities. We have universities to teach people to tackle previously unencountered problems.
If you want to be a carpenter you don’t go to university but be an apprentice with an existing carpenter. Universities are not structured to be good at teaching trades like carpenting.
Not only research mathematicians but basically anyone who’s supposed to research previously unencountered problems.
Isn’t that rather “problems that can’t be solved using currently existing mathematics”? If it’s just a previously unencountered problem, but can be solved using the tools from an existing branch of math, then what you actually need is experience from working with those tools so that you can recognize it as a problem that can be tackled with those tools. As well as having had plenty of instruction in actually breaking down big problems into smaller pieces.
And even those research mathematicians will primarily need a good and thorough understanding of the more basic mathematics that they’re building on. The ability to tackle complex unencountered problems that you have no idea of how to solve is definitely important, but I would still prioritize giving them a maximally strong understanding of the existing mathematics first.
But I wasn’t thinking that much in the context of university education, more in the context of primary/secondary school. Math offers plenty of general-purpose contexts that may greatly enhance one’s ability to think in precise terms: to the extent that we can make the whole general population learn and enjoy those concepts, it might help raise the sanity waterline.
I agree that calculus probably isn’t very useful for that purpose, though. A thorough understanding of basic statistics and probability would seem much more important.
There an interesting paper about how doing science is basically about coping with feeling stupid.
No matter whether you do research in math or whether you do research in biology, you have to come to terms with tackling problems that aren’t easily solved.
One of the huge problems with Reddit style New Atheists is that they don’t like to feel stupid. They want their science education to be in easily digestible form.
As well as having had plenty of instruction in actually breaking down big problems into smaller pieces.
I agree, that’s an important skill and probably undertaught.
The ability to tackle complex unencountered problems that you have no idea of how to solve is definitely important, but I would still prioritize giving them a maximally strong understanding of the existing mathematics first.
Nobody understands all math. For practical purposes it’s often more important to know which mathematical tools exist and having an ability to learn to use those tools.
I don’t need to be able to solve integrals. It’s enough to know that integrals exists and that Wolfram Alpha will solve them for me.
And even those research mathematicians will primarily need a good and thorough understanding of the more basic mathematics that they’re building on.
I’m not saying that one shouldn’t spend any time on easy exercises. Spending a third of the time on problems that are really hard might be a ratio that’s okay.
A thorough understanding of basic statistics and probability would seem much more important.
Statistics are important, but it’s not clear that math statistics classes help. Students that take them often think that real world problems follow a normal distribution.
If that’s not what you want to teach, why teach calculus in the first place? If I need an integral I can ask a computer to calculate the integral for me. Why teach someone who wants to be a software engineer calculus?
Calculus isn’t as important to software engineering as some other branches of math, but it can still be handy to know. I’ve mostly encountered it in the context of physical simulation: optics stuff for graphics rendering, simplified Navier-Stokes for weather simulation, and orbital mechanics, to name three. Sometimes you can look up the exact equation you need, but copying out of the back of a textbook won’t equip you to handle special cases, or to optimize your code if the general solution is too computationally expensive.
Even that is sort of missing the point, though. The reason a lot of math classes are in a traditional CS curriculum isn’t because the exact skills they teach will come up in industry; it’s because they develop abstract thinking skills in a way that classes on more technical aspects of software engineering don’t. And a well-developed sense of abstraction is very important in software, at least once you get beyond the most basic codemonkey tasks.
The reason a lot of math classes are in a traditional CS curriculum isn’t because the exact skills they teach will come up in industry
To that extend the CS curriculum shouldn’t be evaluated by how well people do calculus but how well they do teach abstract thinking.
I do think that the kind of abstract thinking where you don’t know how to tackle a problem because the problem is new is valuable to software developers.
Not only research mathematicians but basically anyone who’s supposed to research previously unencountered problems. That’s the ability that universities are traditionally supposed to teach.
If that’s not what you want to teach, why teach calculus in the first place? If I need an integral I can ask a computer to calculate the integral for me. Why teach someone who wants to be a software engineer calculus?
There a certain idea of egalitarianism according to which everyone should have an university education. That wasn’t the point why we have universities. We have universities to teach people to tackle previously unencountered problems.
If you want to be a carpenter you don’t go to university but be an apprentice with an existing carpenter. Universities are not structured to be good at teaching trades like carpenting.
Isn’t that rather “problems that can’t be solved using currently existing mathematics”? If it’s just a previously unencountered problem, but can be solved using the tools from an existing branch of math, then what you actually need is experience from working with those tools so that you can recognize it as a problem that can be tackled with those tools. As well as having had plenty of instruction in actually breaking down big problems into smaller pieces.
And even those research mathematicians will primarily need a good and thorough understanding of the more basic mathematics that they’re building on. The ability to tackle complex unencountered problems that you have no idea of how to solve is definitely important, but I would still prioritize giving them a maximally strong understanding of the existing mathematics first.
But I wasn’t thinking that much in the context of university education, more in the context of primary/secondary school. Math offers plenty of general-purpose contexts that may greatly enhance one’s ability to think in precise terms: to the extent that we can make the whole general population learn and enjoy those concepts, it might help raise the sanity waterline.
I agree that calculus probably isn’t very useful for that purpose, though. A thorough understanding of basic statistics and probability would seem much more important.
There an interesting paper about how doing science is basically about coping with feeling stupid.
No matter whether you do research in math or whether you do research in biology, you have to come to terms with tackling problems that aren’t easily solved.
One of the huge problems with Reddit style New Atheists is that they don’t like to feel stupid. They want their science education to be in easily digestible form.
I agree, that’s an important skill and probably undertaught.
Nobody understands all math. For practical purposes it’s often more important to know which mathematical tools exist and having an ability to learn to use those tools.
I don’t need to be able to solve integrals. It’s enough to know that integrals exists and that Wolfram Alpha will solve them for me.
I’m not saying that one shouldn’t spend any time on easy exercises. Spending a third of the time on problems that are really hard might be a ratio that’s okay.
Statistics are important, but it’s not clear that math statistics classes help. Students that take them often think that real world problems follow a normal distribution.
Calculus isn’t as important to software engineering as some other branches of math, but it can still be handy to know. I’ve mostly encountered it in the context of physical simulation: optics stuff for graphics rendering, simplified Navier-Stokes for weather simulation, and orbital mechanics, to name three. Sometimes you can look up the exact equation you need, but copying out of the back of a textbook won’t equip you to handle special cases, or to optimize your code if the general solution is too computationally expensive.
Even that is sort of missing the point, though. The reason a lot of math classes are in a traditional CS curriculum isn’t because the exact skills they teach will come up in industry; it’s because they develop abstract thinking skills in a way that classes on more technical aspects of software engineering don’t. And a well-developed sense of abstraction is very important in software, at least once you get beyond the most basic codemonkey tasks.
To that extend the CS curriculum shouldn’t be evaluated by how well people do calculus but how well they do teach abstract thinking. I do think that the kind of abstract thinking where you don’t know how to tackle a problem because the problem is new is valuable to software developers.