1,525 karma · joined July 31, 2022
Btw, I also liked Hubbard and Hubbard.
Another book I liked was Computer Systems: A Programmer's Perspective at https://csapp.cs.cmu.edu/
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.
Programming Languages A: https://in.coursera.org/learn/programming-languages
Programming Languages B: https://www.coursera.org/learn/programming-languages-part-b
Programming Languages C: https://in.coursera.org/learn/programming-languages-part-c
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.
To quote from the syllabus of the course:
" 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."
Dive into Deep Learning: https://d2l.ai/
I have tried finding this. Couldn't even find on libgen.
More like this:
Here is a tool you can use to perform these many tasks in these many situations. Now that you have seen how it works, let us investigate why it works and where does it come from (maybe with a bit of history). Because stories are always easier to remember.
Fiction: Jurassic Park by M Crichton. Just for the world build up and writing
Non-Fiction: The Machinery of Life by David Goodsell. I fell in love with biology again after reading this book. The wonderful illustrations make the book come alive.
Can you discuss a bit more on this choice?