E.g., there can be a course on compilers that teaches automata theory. There can also be a course that just jumps in and codes a compiler. Both courses teach different, but valuable skills. Now, having a course “Compiler for Artists” where you’re taught such useful gems as “a compiler translates between human-level languages and machine code,” not so much.
Both have their place.
So, yeah, in the real world, it doesn't work out so good.
I eventually learned to appreciate that Caltech never taught how to use formulas, but instead taught where the formulas came from. I recall a class on jet engines (really, an awesome class!), where the prof spent the entire lecture deriving the formula for a jet engine's performance. It was breathtaking. I knew where every term came from. I finally understood how the damned thing worked. All those other handwavy explanations mystified me.
If I was just handed the formula, it wouldn't have meant much of anything to me.
- get you used to the general feel of the topic
- make you practice proving things
The specific theorems students prove are not really the point.
Right, that's why they should skip the calculus and start students directly on Real analysis. Then they might actually have some use for what they prove in the class.
dae STEM has got to be one of the most exhausting memes on the internet. Hell, I’m 3/4 of the letters and even I find this aspect of our culture insufferable.