>Logic is important, but that is mostly orthogonal to any course of math instruction I've ever been exposed to.
I think that's the issue the author intends to address: computer scientists not having been exposed to a mathematical treatment of logic.
>you may go weeks without using any math that an elementary-schooler couldn't perform
If by "math" you mean "arithmetic and basic algebra," yes. If in "math" you include logic, induction, abstract algebra, graph theory, combinatorics, etc., then you're using math every time you write any code at all, whether it's ensuring you don't write any cyclic dependencies, making sure you correctly handle all return values, or making sure an algorithm doesn't require quadratic time or worse before you implement it. You need math if you want to know that your custom comparators won't cause a sort routine to blow up, to recognize certain possible sources of bugs in unsafe languages, and most of all to recognize and assess the validity of potential optimizations.
I mean, one can program with just a basic grasp of boolean logic and high-school algebra, but they'll have a hell of a time of it.
Naturally, it depends on the school, but the Software Engineering degree I have is heavy on Engineering, then progressing towards software. Lots of physics and math in the first two years, then two years mostly focused on modeling, covering compilers, relational algebra and similar core architectural subjects, progressing towards a final year focused on team management. Boundaries aren't as clear cut as I describe, but this is the progression. It is engineering, which happens to focus on software development.
I suppose that my negative reaction is mostly because, generally, calls for more math in learning a subject results in additional semesters of calculus or differential equations, which would be of doubtful use in my experience developing software.
> then you're using math every time you write any code at all, whether it's ensuring you don't write any cyclic dependencies, making sure you correctly handle all return values, or making sure an algorithm doesn't require quadratic time or worse before you implement it. You need math if you want to know that your custom comparators won't cause a sort routine to blow up, to recognize certain possible sources of bugs in unsafe languages, and most of all to recognize and assess the validity of potential optimizations.
For the most part, I view this as simple bookkeeping. Probably I've been doing this for too long and have just internalized it.
Programming also isn't computer science.
>Logic is important, but that is mostly orthogonal to any course of math instruction I've ever been exposed to.
I think that's the issue the author intends to address: computer scientists not having been exposed to a mathematical treatment of logic.
>you may go weeks without using any math that an elementary-schooler couldn't perform
If by "math" you mean "arithmetic and basic algebra," yes. If in "math" you include logic, induction, abstract algebra, graph theory, combinatorics, etc., then you're using math every time you write any code at all, whether it's ensuring you don't write any cyclic dependencies, making sure you correctly handle all return values, or making sure an algorithm doesn't require quadratic time or worse before you implement it. You need math if you want to know that your custom comparators won't cause a sort routine to blow up, to recognize certain possible sources of bugs in unsafe languages, and most of all to recognize and assess the validity of potential optimizations.
I mean, one can program with just a basic grasp of boolean logic and high-school algebra, but they'll have a hell of a time of it.