"My gut feeling says that students never learned strong reasoning skills and mathematical induction."
This quote from the linked article resonates with me quite a lot. I see people trying to understand recursion in code and not getting the hang of it.
CMU is one university where it's CS curriculum teaches functional programming after a rigorous course on Pure Mathematics Intro - https://www.math.cmu.edu/~jmackey/151_128/welcome.html. The functional programming course (15-150) materials are not public, but they use SML and uses heavy use of induction proofs and recursive implementations.
The other line of programming pedagogy argues that only simple high school algebra is enough to teach programming via recursion. I am talking about How to Design Programs: https://htdp.org/ and now the DCIC book: https://dcic-world.org/. They argue that looking at the data and its inherent structure is enough.
The above two approaches are mostly polar opposites of each other. I want to know what other HNers think about this.
It will surely make you a great programmer if you haven't dabbled with functional languages before. Even if you have, it still makes a great course only for the teaching style of Dan.
Stick to a specific set of tools YOU are comfortable with. Don't go with the newest fad. What matters are your skills and concepts. Not what tool you use. A skilled craftsman can use very basic tools to build impeccable creations while a naive one with the latest fancy tools can create junk. So don't jump editors, just learn the one you are comfortable with and do is in much depth.
Math -
Don't look for the golden trick. Just solve more and more problems and you will eventually get good at recognizing patterns.
" Our learning objectives are straightforward. After taking the course, you should be able to:
- Remain vigilant for bullshit contaminating your information diet.
- Recognize said bullshit whenever and wherever you encounter it.
- Figure out for yourself precisely why a particular bit of bullshit is bullshit.
- Provide a statistician or fellow scientist with a technical explanation of why a claim is bullshit.
- Provide your crystals-and-homeopathy aunt or casually racist uncle with an accessible and persuasive explanation of why a claim is bullshit.
We will be astonished if these skills do not turn out to be among the most useful and most broadly applicable of those that you acquire during the course of your college education."
No. But the way Calculus is taught in the US university freshmen, this book looks like a rigorous introduction to Analysis, even though it is not. It is just a sensible introduction to single variable calculus without hand wavy arguments.
https://www.coursera.org/learn/program-code