Viliam_Bur comments on Rationality Quotes April 2014 - Less Wrong

8 Post author: elharo 07 April 2014 05:25PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (656)

You are viewing a single comment's thread. Show more comments above.

Comment author: Nornagest 19 April 2014 10:31:38PM *  0 points [-]

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.

Comment author: ChristianKl 19 April 2014 10:47:57PM 0 points [-]

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.