+1 for Structure and Interpretation of Computer Programs (aka SICP, aka “the wizard book”) - this is a legendary programming book. Here is an interactive version: https://xuanji.appspot.com/isicp/.
I also agree on the important algorithmic ideas, with one addition: algorithmic analysis. Just as you can describe the movement of the planets with a few simple equations, and that’s beautiful, you can describe any sequence of steps to finish a task as an algorithm. And you can mathematically analyze the efficiency of that sequence: as the task gets larger, do the number of steps required to finish it grow linearly, quadratically, logarithmically (we hope)? This is a broadly applicable and powerful idea, since pretty much everything (even learning) involves a sequence of steps or process.
Just as you can describe the movement of the planets with a few simple equations
and
algorithmic analysis
Will you make top level comments for both of these, so that people can vote on them? (I can do it, but I figure you should get any karma from the upvotes)
How flattering; I’ve now done so. Also, I very much like your approach to learning math by grounding it in concrete subjects. Many people say they learned calculus best by learning it alongside physics, since calculus appears much more concrete when you look at the velocity and arc of, say, a fired cannonball.
Finally, here’s an excellent article from Barbara Oakley, who learned math starting about age 26 after getting out of the Army. She’s now an engineering prof, and teaches a MOOC called “Learning How to Learn” (I have not taken it, but I have reviewed the topics, and it appears to hit all the correct points): http://nautil.us/issue/17/big-bangs/how-i-rewired-my-brain-to-become-fluent-in-math-rd
+1 for Structure and Interpretation of Computer Programs (aka SICP, aka “the wizard book”) - this is a legendary programming book. Here is an interactive version: https://xuanji.appspot.com/isicp/.
I also agree on the important algorithmic ideas, with one addition: algorithmic analysis. Just as you can describe the movement of the planets with a few simple equations, and that’s beautiful, you can describe any sequence of steps to finish a task as an algorithm. And you can mathematically analyze the efficiency of that sequence: as the task gets larger, do the number of steps required to finish it grow linearly, quadratically, logarithmically (we hope)? This is a broadly applicable and powerful idea, since pretty much everything (even learning) involves a sequence of steps or process.
and
Will you make top level comments for both of these, so that people can vote on them? (I can do it, but I figure you should get any karma from the upvotes)
How flattering; I’ve now done so. Also, I very much like your approach to learning math by grounding it in concrete subjects. Many people say they learned calculus best by learning it alongside physics, since calculus appears much more concrete when you look at the velocity and arc of, say, a fired cannonball.
Finally, here’s an excellent article from Barbara Oakley, who learned math starting about age 26 after getting out of the Army. She’s now an engineering prof, and teaches a MOOC called “Learning How to Learn” (I have not taken it, but I have reviewed the topics, and it appears to hit all the correct points): http://nautil.us/issue/17/big-bangs/how-i-rewired-my-brain-to-become-fluent-in-math-rd