Hacker News new | ask | show | jobs
by alphazard 284 days ago
I wouldn't recommend a traditional calculus course to anyone. There's no reason to do derivatives or integrals by hand, and that's most of the course. The practical applications of running differences and running sums can be taught to people with minimal programming experience and without algebra.

I've never done an integral by hand as part of any productive activity. Monte carlo integration and loops for multiply-and-add have proven incredibly useful. Why not teach those directly?

6 comments

I'm early into Calc II right now (MathAcademy's equivalent of it), having started 6 months ago at a D-student's level of Algebra II, and I'm curious what the "right" calculus to learn would be.

It's pretty clear to me as I work through problem sets that I'm never going to do any of this hand-computation in reality, in the same way that nobody computes eigenvectors by finding the roots of a characteristic equation. It's still fine by me, for 2 reasons: (1) because I'm doing this to replace the New York Times Crossword with something productive, and it's great for that, and (2) because every time I get annoyed at like messy trig derivatives with double-angle substitutions and stuff, I instead pivot to learning how to solve it with Sage Math, and so I get better at that instead.

But if there's a smarter sequence, I'm super interested!

For a more conceptual introduction leaning on using computers, whose goal was getting STEM students up to speed to understand the context of work in their various fields, you might enjoy https://www.science.smith.edu/~callahan/intromine.html

For something more traditional, take a look at textbooks by Piskunov, Courant, or Apostol. Spivak's Calculus has excellent problems if you are looking for something more abstract and rigorous (probably better after a first course). https://archive.org/details/n.-piskunov-differential-and-int... ; https://archive.org/details/ost-math-courant-differentialint... ; https://archive.org/details/calculus-tom-m.-apostol-calculus... ; https://archive.org/details/introductory-calculus-book-colle...

Finally, if you want a strategy for those tricky integrals, per se, take a look at Schoenfeld's "Integration: Getting it All Together", https://files.eric.ed.gov/fulltext/ED214787.pdf ; some results of teaching the solution of integrals by this method were presented in https://www.jstor.org/stable/2320344

Neat!
I'm gonna push back and claim that learning calculus the traditional way is still worth doing.

Not only will you be even more capable of picking up solving things numerically, but you'll also have the prerequisites for studying physics or probability or machine learning or Knuth's Concrete Mathematics. It opens doors to new intellectual vistas.

Solving things analytically (when possible) also can reveal more about the nature of the problem than doing so numerically, and can give the same satisfaction as finding an elegant solution in code.

You can definitely go an entire programming career without ever using it, but if you ever do run into a problem it solves, having this tool available to you is only a benefit.

We're not at odds! I think all I'm saying is that when manually working out integrals gets frustrating, there's a learning-mode escape hatch to just figuring out how to solve them in something like Sage; when the frustration subsides you go just get back to doing the manual stuff. When I'm in Sage I'm still learning stuff. I'm never abandoning analytical work.

I would feel real weird if there were things (in Calc II problem sets) I could solve in Sage that I simply couldn't do by hand.

I don't feel weird that there are things I can do, but will get wrong a bunch of times if I try to do them, and can quickly bang out in Sage. That seems fine to me. For a lot of these subjects, I don't care about automaticity, just intuition.

It's like a lot of linear algebra: being able to quickly do things by hand is kind of silly, because for real world problems (at least in data science) hand solves aren't even really feasible. But learning to do it by hand is important for building intuition.

Oh sorry I wasn't pushing back against you specifically haha. Just those pushing the idea that learning calculus the traditional way is useless since we have computers.

I've been going through Math Academy with a IPython REPL open, too, and I've noticed that I need to avoid using it unless the problem specifically tells me to use a calculator or the implicit skill review in the problem gets skipped. Even writing little functions for myself to one-shot a problem means I'm missing chances to actively recall the steps.

Actually, given what you've said, you'd probably enjoy working through Sanjoy Mahajan's books on Fermi problems and estimations (the books are CC-licensed you can just download them): https://mitpress.mit.edu/author/sanjoy-mahajan-9006/

Iverson's Calculus course (using J) does this: http://www.jsoftware.com/books/pdf/calculus.pdf

Also College Math with APL: https://archive.org/details/APL_books/Introduction%20to%20Co...

Actually, Iverson et al. wrote dozens of math textbooks using array languages!

Many times you can speed up your code and boost accuracy by using higher order methods. What you describe, if I understand it rightly, is 0th order.
So much mathematical modeling is based on systems of differential equations. It's difficult to understand the conceptual approach without some basic understanding of calculus.

You CAN model predator-prey dynamics or disease spread using Monte Carlo techniques, but you can't read the historical literature without some grasp of differential equations.

Differential equations is kind of the same situation. The important intuitions are more likely to come from repeatedly applying a function to an input and seeing where that takes the simulation, than by doing DiffEQ practice problems.

There will always be some brilliant people that breeze through a hard course, and effortlessly acquire the intuition, and then wrongly attribute their understanding to the course. That doesn't help the rest of us, who are much more likely to build intuition by guessing about the outcome of a program and then checking if we are right.

Weird. Calculus is fun.
not to anyone? really?