This comes off quite judgmental, and doesn't help me understand your actual point. Could you elaborate on the differences, as you see them?
This comes off quite judgmental, and doesn't help me understand your actual point. Could you elaborate on the differences, as you see them?
In some sense, an undergraduate math education is akin to learning the “standard library” (in the software engineering sense) of higher mathematics. Most courses start with basic abstractions of some mathematical object and repeatedly construct more and more abstractions on top of those. The structure of those abstractions is similar to how you might build a library. A professional mathematician is expected to be fluent in the mathematical standard library, just like how you might expect an experienced software engineer to be fluent in Python’s standard library.
If this analogy is true, people who can learn Python relatively quickly might be able to also learn higher mathematics relatively quickly under the right pedagogical environment.
This was kind of how math classes worked, but without that explicit phrasing. It would certainly make the analogy between the two activities more obvious. I also wonder whether people would have less trouble with quantifiers if they were phrased in programming terms: a proof of "forall x, p(x)" is a function x=>p(x), and a proof of "there exists x such that p(x)" is a pair (x, p(x)). e.g.
Continuity: (epsilon: R, h: epsilon>0, x_0: R) => (delta: R, h2: (x: R, h3: d(x,x_0) < delta) => d(f(x),f(x_0)) < epsilon)
Uniform continuity: (epsilon: R, h: epsilon>0) => (delta: R, h2: (x: R, x_0: R, h3: d(x,x_0) < delta => d(f(x),f(x_0)) < epsilon))
proof of UC => C = (epsilon, h, x_0) => let delta, h2 = UC(epsilon,h) in (delta, h2(_,x_0,_))
So when you're trying to figure out how to do the proof, it's clear what kind of type you need to return and your IDE could help you with autocomplete based on type inference.
The comment below/above sort of explains it, except I'd argue covering it starts/can start/should start much earlier than at university. Basically, the vast majority of most branches of math, especially pure math, involves very little in the way of calculation. And the way math gets taught (and stupid claims about "math brain") means that many kids who aren't in the top few % of "doing calculation" never get to do the classes where it's less important.
LLMs, trained on words/tokens and symbols and logical combinations of them, are proving to be good at math, and bad at calculation/arithmetic. If an LLM went to school we'd never let it train on real math tokens. It would get shoved in the corner as a "model bad at math" because it was a "model bad at arithmetic".