Ask HN: How or where to begin learning mathematics from first principles?
As I've become more skilled with programming and electronics I have felt myself begin to near a wall. My knowledge of and skills in math is relatively poor and all the interesting things that make up the more advanced programming and electronics pursuits seem to be heavily based on math.
When I butt heads with these more advanced topics I find I resort to scouring the internet to cobble together pieces of various tutorials and guides. While it does feel good in a way to hack together limited understandings to make satisfactory solutions I'm beginning to feel less like a hacker and more like a hack. The knowledge I gain is shallow and I don't think my tactics will get me much further.
Instead of working backwards from implementation I would like to start from the beginning and learn math the proper way. Unfortunately most of the resources I find online seem to more focused on teaching me how to solve math problems. I have no interest in solving specific math problems on a test, I'm not going to school and I doubt I will ever take a math test again in my life. I want to work up from first principles and gain the tools to reason about the world mathematically and understand the cool things that are currently out of my reach like antenna design, machine learning, electromagnetism, cryptography etc.
Unfortunately I so know so little I have no idea how where to start. What websites are helpful, what books I should buy, etc. I was hoping someone here could share. Thank you.
128 comments
[ 6.3 ms ] story [ 213 ms ] threadhttp://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to-mat...
world.mathigon.org
mathworld.wolfram.com
good luck!
http://khanacademy.org
I personally preferred khanacademy to my math teaching at school and it's been handy during my degree.
For more advanced stuff i've found Stanford's online courses (https://www.youtube.com/user/StanfordUniversity/playlists) and MIT OpenCourseWare (http://ocw.mit.edu/index.htm) to have the best material for Physics
The courses available on Khan Academy help you visualize the math and gain a better understanding on the 'why' (reasoning) while also teaching you the 'how' (application).
There's sufficient math courses available to teach you everything from pre/primary school arithmetic to first year university/college level calculus/linear algebra.
http://www.leancrew.com/all-this/2012/12/khan/
I've also been involved in teaching similar material as Dr. Drang and agree completely with his critique.
I've come across students who've had similar sloppy teaching and had to re-teach material so they could unlearn what they'd learnt and get a proper foundation for moving forward. Consistently, they would have very poor assignments for the first few weeks until they had that foundation.
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
A Transition to Advanced Mathematics by Douglas Smith (Author), Maurice Eggen (Author), Richard St. Andre (Author)
ISBN-13: 978-0495562023 ISBN-10: 0495562025 Edition: 7th
It shows up on Abebooks which could help with the price. It's a small book, exceedingly well-crafted and worth every nickel.
I'm only 20 years old and hopefully I have a long life ahead of me so I'm not too worried about how long it takes, I just want to get on the right track.
Thank you on the book recommendation, that looks like it is exactly the type of resource I was looking for!
@smtucker I'm also a math noob, and I'm a half way through Udacity's "College Algebra" (free) course:
https://www.udacity.com/course/viewer#!/c-ma008
There is also a good introductory class on Statistics:
https://www.udacity.com/course/viewer#!/c-st101
After these classes, hopefully, reading "Transition to Advanced Mathematics" will not be a pain.
More good advice at http://scattered-thoughts.net/blog/2014/11/15/humans-should-...
http://www.amazon.com/gp/richpub/syltguides/fullview/20JWVDE...
http://www.amazon.com/gp/richpub/syltguides/fullview/R1GE1P2...
http://www.amazon.com/Mathematics-Content-Methods-Meaning-Do...
Covers something like three years of an undergraduate degree in mathematics. Lots of words - but that text is used to develop an understanding of the concepts and images. Considered a masterpiece. An enjoyable read.
(with a good answers regarding Khan Academy, Polya "How to Prove", lamar.edu, math.stackexchange.com, universityofreddit.com, lots of online curriculums from different universities, curricula aimed at data science (Prob/stats, linear algebra, calculus). These're good listings of resources for precalc and for data science:
http://www.reddit.com/r/math/comments/2mkmk0/a_compilation_o...
http://www.reddit.com/r/MachineLearning/comments/1jeawf/mach...
http://www.zipfianacademy.com/blog/post/46864003608/a-practi...
______________
The threshold question are,
- can you locate like minded folks to bootstrap a study group, or tutor(s) who are willing to devote time?
- (if you're in US/Canada) how about community colleges by you, in a lot of places they're still well funded and will efficiently pull you up to first year college calculus and linear algebra, and maybe further
- What level of high school / college math did you last attain, because reviewing to that level shouldn't be too stressful. At least, in my very biased view of math education.
Do plenty of exercises in every chapter, and read carefully. Count on about an hour per page (no joke). Plenty of math courses have their problem sets published, so you can google a course which uses your chosen book and just do the exercises they were assigned.
If you don't feel comfortable with basic algebra and other high school math, there's Khan Academy, and some books sold to homeschoolers called Saxon Math.
If you haven't had a course in calculus before, maybe you should skim a more intuitive book before or alongside reading Spivak. I don't know of any firsthand, but I heard Calculus for the Practical Man is good. Scans are freely available online (actually, of all these books) and Feynman famously learned calculus from it when he was 12.
If OP wanted a more softer approach, Spivak's Hitchhiker's Guide to Calculus is probably a better option first before going full Spivak.
I tried to include some good high-school level math resources.
A discrete math text will drill you over a lot more basic proofs involving set theory that would help in understanding his construction.
Frankly there's something about the presentation in "discrete math" books that I find much more confusing and difficult than Spivak, which is just talking logically about numbers and their properties.
http://en.wikipedia.org/wiki/What_Is_Mathematics%3F
http://en.wikipedia.org/wiki/Concrete_Mathematics
The first one is the general book about math. It's a classical book.
The second one is Donald Knuth's book written specifically for computer science guys.
I have the impression that it is mostly a book that teaches you techniques of how to solve recurrences. Am I wrong?
Each chapter in the book is written in essay style, authors gave you very curious math pearls, and teach you how to think by using these examples.
The Art of Problem Solving series of books are uniformly excellent.
Another area of math that you need to know for C.S. related activities is linear algebra. To get started I'd recommend reading 'Coding the Matrix' by Phillip Klein.
[1] => https://www.youtube.com/playlist?list=PLoROMvodv4rNMsVRnSJ44...
It starts from a few basics which most people would be comfortable with post calculus, and builds up to the most important theorems in linear algebra. It's probably not the book for you if you are actually interested in linear algebra algorithms.
Once I was immersed in it for a while, I started getting into more CS related mathematics: things in computation theory, programming language theory, category theory--and I would spend a lot of time reading networks of wikipedia math articles from basically random starting points inspired by something I read. Didn't understand much to start with, but I'm glad I did it and I find them indispensable now.
I think it's of the utmost importance to go into it with an understanding that you SHOULD feel lost and confused for quite a while--but trust in your mind to sort it out with a little persistence, and things will start coming together. If you find yourself avoiding math, finding it unpleasant and something you 'just can't do,' check out Carol Dweck's 'Self-Theories.' Good luck!
I'm actually in a related situation in which I'm competent in analysis (bachelors in physics) but I struggle with all the category theory inspired design patterns in functional programming.
Every book/article I've tried to read is either far too mathematical and so is disconnected from programming or is too close to programming and lacking in general foundations (ie: a monad is a burrito).
I would greatly appreciate any suggestions!
The book How to Prove It helped me tremendously. Get a good book on abstract algebra. Maybe start with Herstein, then progress to Dummit and Foote and, maybe eventually, to Hungerford. This is the kind of math that will help you reason about data sets. It's foundational in mathematics and it also happens to be very applicable to computer science.
After that, you will have a strong basis for branching out to more specialized branches of mathematics that may have more relevance to the types of problems that you're solving.
http://www.amazon.com/Functional-Programming-Scala-Paul-Chiu...
Another book that I think is great is 'Getallen: van natuurlijk naar imaginair', but its in Dutch.
There are a lot of layers of mathematics, the deeper you get, the more difficult it becomes. But for normal applications (like antenna design, machine learning, electromagnetism, cryptography etc), you don't need to get to the deepest level, which are mostly proofs for a formulation of the whole mathematics framework.
Seriously though, 'Euler: The Master of Us All' by William Dunham was the book that got it going for me. Good mix of history, narrative and mathematics. Really great read.
As an aside, it's absolutely fascinating to learn how much we don't know about maths.