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.
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?
One of the present authors had embarked on a series of books called
The Art of Computer Programming, and in writing the first volume he
(DEK) had found that there were mathematical tools missing from his
repertoire; the mathematics he needed for a thorough, well-grounded
understanding of computer programs was quite different from what he'd
learned as a mathematics major in college. So he introduced a new
course, teaching what he wished somebody had taught him.
So yes, there are practical applications. And recurrences are a recurring theme, but there's more to it than just that.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.
Precalculus, Coursera, https://www.coursera.org/course/precalculus
"Precalculus Mathematics In A Nutshell", George F. Simmons, http://www.amazon.com/Precalculus-Mathematics-Nutshell-Geome...
"The Hitchhiker's Guide to Calculus", Michael Spivak, http://www.amazon.com/Hitchhikers-Guide-Calculus-Michael-Spi...
Let me tell you a dirty secret about mathematics textbooks: almost all of them are highly flawed and incomplete dialogs between the author and the supposed reader. The reason for this: the first and foremost purpose of almost all mathematics textbooks is to organize the AUTHOR'S conception of the subject (not the student's!), for the primary purpose of TEACHING a course on the subject. In other words, the book's primary purpose is NOT to be read directly. A given mathematics textbook represents a model of the way in which the author (casually) BELIEVES students of your level might try to reason about the subject, whereas in reality, the author has so long ago advanced beyond your level that s/he cannot even remember how difficult it was when s/he first learned the subject.
If you attempt to read most mathematics texts directly, outside the context of a university course (and without having already gained a true understanding of mathematics), you will almost certainly reach a stage in your reading in which you have internalized a certain amount of verbiage (say, some theorems, maybe a proof or two, and some light discussion, with the pretense that the abstractions introduced are 'useful' for some unknown reason). Certainly, you are asked to do some problems at the end of the section, and this is in fact a somewhat reliable way to reach some kind of personal discovery, and hopefully at least some mild enlightenment about just what the section was really about. (A good textbook will have highly instructive problems; however, the difficulty is, it is virtually impossible to know just how worthy of your time they will be before you spend hours working on them.)
However, even at university, I almost NEVER resorted to reading the textbook: careful attention paid to the lecture, copious notes, regular attendance of office hours, and most of all, intense thought about the problems SPECIFICALLY given (and hopefully invented) by the lecturer were all that I was ever inclined to pursue (and all that I ever needed to succeed). If I read the textbook at all, it was only ever sought as a reference, or to fill in the gaps of a lecture which I failed to understand completely. Which is precisely the reason most math texts read so poorly: they are supplementary material for university courses.
Despite vouching for it, I do not recommend you only read Pugh--at least not right away, and not from cover-to-cover. If you must start from scratch, please start with Spivak's "Calculus", which is similarly excellent in directly addressing the pedagogical needs of an autodidactical learner. Please note that by far the most thing to learn when studying mathematics is something that is impossible to encapsulate in any specific result; I am talking about "mathematical maturity". If you only do a one or two problems in all of Spivak, but spend several hours thinking deeply about a specific aspect of a problem or passage that leads you to have new, creative thoughts, you will have learned more than you could have by merely working through it in a mindless fashion.
If you do intend to make it through a significant chunk of Spivak, be prepared to spend an enormous amount of time at it. There are many, many difficult problems in it. In addition, you should be spending time and effort not only writing down the steps of your proofs, but trying to come to grips with the very definitions you are working with. In mathematics, definitions and assumptions are most important--and they are certainly more important than clever tricks. This is why graduate students in mathematics have to learn their subjects over again--most undergraduate subjects do not do a precise or complete enough job of completely stating all definitions needed to make the theory entirely clear.
The greatest mathematician of the 20th century, Alexander Grothendieck (who recently passed away), was as productive as he was because of his uncanny skill in inventing definitions of mathematical objects which put the problem in a broader context. Raw mathematical power is available to mathematicians to the extent that they allow the context of ANY given problem which they attempt to expand in their mind, until it connects with the relevant intuition. Once this inspiration strikes, the answer becomes easy. To Grothendieck, solving a problem was more a test of his ability to create a useful theory, than an end to itself. This speaks volumes to the value of thinking abstractly and creatively, rather than just trying out hoards of problems and expecting things to magically line up in your brain, hoping for an answer to pop out. There are generally two kinds of problems in mathematics: those which simply require organizing the essential definitions and required theorems until the answer is obvious, and those which need a fundamentally new idea. In neither case will you be able to 'plug and chug'. A great deal of harm is done to students of mathematics in grade school, because the subjects are invariably taught by non-mathematicians, in a highly non-mathematical way--in fact, in a way that is antithetical to the very core of the subject. Please google and read Paul Lockhart's essay titled "A Mathematician's Lament" to see if you really understand just what mathematics is (or if deleterious notions from your schooldays are continuing to blind you from the simple beauty of pure mathematics). I will add as well the recommendation that you read G.H. Hardy's essay, "A Mathematician's Apology".
Learning mathematics is so incredibly difficult for the novice because it is almost impossible to teach this process. One must fail over and over again. I cannot lie: mathematics will be probably be difficult and unnatural for everybody except those who allow themselves enough time to commit to thinking freely and creatively about it, until a point of 'accelerating returns' is reached. Attempting to proceed directly to applied problems will invariably fail. The counter-intuitive truth about applied mathematics is that studying pure mathematics is in fact far more practical than attempting to think about the problem directly. This is because an understanding of pure mathematics gives you the ability to CREATE. Alfred Whitehead said: "'Necessity is the mother of invention' is a silly proverb. 'Necessity is the mother of futile dodges' is much nearer the truth."
I'll also leave you with a relevant quote from the great expository writer and mathematician Paul Halmos: "What does it take to be [a mathematician]? I think I know the answer: you have to be born right, you must continually strive to become perfect, you must love mathematics more than anything else, you must work at it hard and without stop, and you must never give up."
And another, in which he tells you how you should read a mathematics text: "Don't just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?"
I have heard professional mathematicians express themselves the difficulty that even they have in maintaining the attention span required to read a traditionally written, unmotivated mathematics textbook. One such mathematician said that he skipped directly to the theorems, and attempted to discover a proof for himself. This is another secret to mathematics: it is always better to invent proofs yourself than to read the ones given in the text. This may be counter-productive in the early stages of your learning, but it is something you should continuously challenge yourself to attempt. If the first steps of a proof do not come to mind automatically, cover up the proof given in the text, except for the first few words. Then try to prove it again from scratch, with the knowledge that the objects being used in just that initial part might be part of one possible proof. Repeat as necessary, until you have either discovered a proof for yourself, or you have uncovered the entire proof given in the text. In either case, you will have thought long and hard enough to never forget the definitions and ideas needed to write the proof you end up with, even if you forget the proof itself. Later, you will only remember the essential idea. Then, it is an excellent exercise to attempt to work out the details again.
I was working through the first couple of chapters in Spivak's Calculus recently, and was struck by 1) what a great book it was, and 2) what a time commitment it would take to complete it properly! If I could choose a book to take to a tropical island for a year, Spivak might be it. But is it worth spending hundreds of hours working through Spivak and Pugh from the standpoint of developing a professional skill? For someone like OP already out of college and wanting to learn to think mathematically to apply it to programming/electronics, is working through these books as a basis to pursue further mathematical studies overkill? Or worth it?
Now, if he wanted only to get good at the software realm, I'd recommend a more superficial understanding of calculus, saving time to study discrete math and CS (that are mostly the same thing in different languages).
Anyway, I'd also recommend algebra to both specialities, to be learned at the same time as calculus and discrete math. It'll make the learning easier.
It's certainly not the case that Spivak and Pugh are the only books out there which help you develop the "mathematical maturity" that will allow you to apply mathematics creatively in other areas. For a mathematics major in college, real analysis probably is the optimum choice of subject. (Not every mathematician directly needs real analysis, but almost all would undoubtedly say that the subject shaped his or her thinking, even if only to provide a setting to learn about writing rigorous proofs.)
That said, for someone who doesn't intend study a great deal of 'traditional', mathematics, but perhaps wants to learn about computer science and applications of mathematics to engineering problems, there certainly are more direct ways to spend the time it would take to read all of Spivak or Pugh. While learning real analysis is a great foundation for subjects that involve calculus or topology (for example, convex geometry, which has applications in optimization), there are other options too. Two subjects which are also good at introducing mathematical thinking, while at the same time being essential in many computer applications, are linear algebra and number theory. One specific number theory text doesn't come to mind. Linear algebra texts vary in emphasis. I can vouch for "Linear Algebra Done Right" by Axler, but there are many others which more heavily emphasize the applications (and there are many, many applications of linear algebra).
I am sure that there are websites (or courses, or maybe even published books) designed to introduce proof-writing in these subjects, but also also including material on using computer algebra packages (such as SAGE) to compute certain results as well.
Finally, the subject known as "discrete mathematics", as well as computer science material on the analysis of algorithms also have a great deal of connections with pure mathematics (and especially real and complex analysis, as well as basic calculus). "Concrete Mathematics" by Graham, Knuth, and Patashnik comes immediately to mind. In fact, one might say that "Concrete Mathematics" is to students of mathematics who favor discrete problems (i.e., computer science) as Spivak is to students of mathematics who favor continuous problems (i.e., traditional mathematics).
I should probably mention one thing. In your post, you mentioned electronics, which does not so much require an understanding of mathematics, but rather a competence in solving differential equations in physics. If you are only interested in topics that are under the umbrella of electrical engineering, then you do not need to study mathematics at all. Rather, you should be studying physics, which, except at the highest theoretical levels, is more or less the practice of solving differential equations (without the kind of abstract proofs that would satisfy a mathematician). Pure mathematics is only about proofs, but with the assurance that this understanding will allow you to apply whatever problem solving techniques you may have to new domains (including situations where it is far from obvious that they apply--this is the value of mathematics).
In short, I would say that computer science is a good segue from pure mathematics, but if your goals is electronics, the kind of thinking you will need comes from learning physics--no more, no less. On the other hand, to truly understand cryptography, a background in pure mathematics is required (specifically, you should understand number theory and abstract algebra).
One thing to keep in mind: do not be mislead by similar notation between mathematics and physics: they are very, very different subjects. Certainly, physics uses equations; in addition, many theoretical results in mathematics explain (at a very high level) why certain problem solving techniques work in physics. However (at least until you reach research level physics), the overlap ends there, with the exception of linear algebra.
In fact, if there was one subject I could recommend to you (besides basic calculus) which is pretty much universally used, from optimization, to physics (all branches), to machine learning and statistics, it would be linear algebra, no contest. (I should admit here that I've contradicted my early remark in the first paragraph that one needn't study mathematics at all to understand physics, since linear algebra and calculus are indeed mathematics. However, while learning these two subjects rigorously in the spirit of mathematics will certainly aid you conceptually when you attempt to apply them to physics, it is also true that in physics you do not need to know how to prove the results in order to use them.)
Algebra: Chapter 0 by Paolo Aluffi
Measurement by Paul Lockhart
The Nature of Computation by Moore & Mertens
Ideals, Varieties, and Algorithms by Cox, Little, & O'Shea
Anybody who remotely takes category theory seriously should have Aluffi's book, even if s/he chooses to learn from another book. There isn't really anything that compares in terms of its comprehensive coverage of abstraction at the basic level, and you'll eventually need something like it.
I simply love Moore & Merten's "The Nature of Computation"; it's probably the only book for the absolute (but mathematically-minded) beginner about the theory of computation that manages to be incredibly captivating and lucid (while also covering a significant chunk of material).
To use a crude analogy, you could think of mathematics as one giant puzzle, but with the pieces coming in slowly, one at a time. Any two pieces have a fairly small chance of fitting together, but since you only have the ability to focus on one or two pieces, you need the memory of old puzzle pieces which previously did not fit anywhere in the back of your mind, so that when you do stumble upon the fitting piece, you can go back to it.
Another thing to keep in mind is that the best truths in mathematics are the most general. Every time you consider a specific example, you should always have some amount of innate desire to see a more all-encompassing idea which handles the details of the specific example as a special case. It will usually not be possible for you to come up with the right generalizations yourself, though; mathematics has evolved gradually over the last couple millennia, and it has taken the trial and error of many brilliant people before the "right" abstractions were found. Your best hope is that your teacher (or author) is leading you on a path that will eventually allow you to see how the things you've come to accept as true can be thought of as existing within a broader framework. The fact that applied mathematics books generally do not do this at all is the reason why one cannot simply try to learn about a topic in applied mathematics, and then try to learn the pure setting as an afterthought. If you go straight to the applications and computations, the chances are that you will be leaving out the conceptual legwork that will be needed to understand the subject in a way that can allow you to potentially create new theory.
To take the puzzle analogy further (to the point of breaking it), you can try to view the generalizations as pieces that connect to MANY puzzle pieces simultaneously (which is obviously not how an actual puzzle works, since each piece only connects to adjacent pieces). As you progress in mathematics, you start to see that the subject is composed of a sort of hidden hierarchy, in which you later learn that your past findings are subsumed by more general theories. Without this, the subject would be unwieldy, since no normal human is capable of committing to memory a perfectly interlocking body of thought that is only made of mostly isolated ideas. Inevitably, you will need some governing ideas, which form the root of a sort of conceptual hierarchy. However, this conceptual hierarchy is more or less impossible to convey pedagogically (c.f. all the complaints about "New Math" back in the `60s), without first understanding all the pieces involved.
(For reasons discussed in the above paragraph, you should be prepared to accumulate a very large number of books and documents, should you begin to more broadly become interested in mathematics).
One way to increase the probability that you'll find interlocking pieces in the same span of attention is to be guided by an excellent teacher (and in some cases, an excellent author). Otherwise, your best shot at exploring the space of possible directions to take is to follow this advice of Paul Halmos: "A good stack of examples, as large as possible, is indispensable for a thorough understanding of any concept, and when I want to learn something new, I make it my first job to build one."
All that said, it is true that any successful student of mathematics will eventually reach a point in his or her studies in which the writing of proofs has become natural enough that, when given a theorem that has a straightforward proof, it the student will probably be able to find it 80% of the time without too much stress or outside help. Getting to that point is important; therefore, a significant chunk of the value of studying a book like Spivak's or Pugh's is to increase your ability to write proofs. This will be a gradual process, so don't be too discouraged when you get frustrated. If you feel like you need to improve your proof writing skills, though, it would certainly help to take a break from the analysis text, and read an elementary book on proofs (just search Amazon or a university library) until you feel like you've done a good job of building up this skill. The ability to write proofs with ease is as important in pure mathematics as algebraic manipulations is important in applied mathematics.
One last warning. If you truly become skilled at pure mathematics, be aware that it can be addictive. Research mathematicians spend their entire lives on this stuff, and are most often quite happy to give up a great deal of things which non-mathematicians value (e.g., a career in industry).
Of course, this really depends on how addictive a personality you have, or if you are unfortunate enough to be a creative genius.
In mathematics, everything is connected. One can build up a specific topic from first principles only. But with a too narrow focus one looses these lovely connections between different fields that allow to change the perspective on how we think about problems.
I was in a similar situation some 2 years ago. Try "Vector Calculus, Linear Algebra, and Differential Forms" by Hubbard and Hubbard. You will not be disappointed. Yes, you get (enough) rigor and a lot of first principles mathematics. Nonetheless, the authors have found a lovely way to integrate a wealth of important results from many fields into a coherent text that has one goals: letting you understand the connections and letting you solve the problems.
That said, somebody interested in building a foundation for pure mathematics, and not so much motivated by the ability to solve problems outside of mathematics, would probably be better served by reading a standard text on real analysis.
On the other hand, I myself have turned to the notes in the margins of Hubbard & Hubbard, even when studying real analysis from the purest point-of-view, because the little tidbits are just so insightful.
Somebody who really took Hubbard & Hubbard seriously, though, could come away with a monster understanding of applied mathematics, while still having learned the craft in a way that is correct enough to lead to further study in pure mathematics as well. Nobody can really go wrong having this book on his or her shelf (although it is a bit expensive).
Here's a quote given in chapter two. That's some motivation to develop more mathematical maturity as an engineer!
In 1985, John Hubbard was asked to testify before the
Committee on Science and Technology of the U.S. House of
Representatives. He was preceded by a chemist from DuPont,
who spoke of modeling molecules, and by an official from the
geophysics institute of California, who spoke of exploring
for oil and attempting to predict tsunamis. When it was his
turn, he explained that when chemists model molecules, they
are solving Schrödinger’s equation, that exploring for oil
requires solving the Gelfand-Levitan equation, and that
predicting tsunamis means solving the Navier-Stokes equation.
Astounded, the chairman of the committee interrupted him and
turned to the previous speakers. “Is that true, what
Professor Hubbard says?” he demanded. “Is it true that what
you do is _solve equations_?”(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.
The Art of Problem Solving series of books are uniformly excellent.
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...
It is also a difficult question to answer without some context of your current mathematical understanding. Do you know any calculus? Any linear algebra? If you don't, those would be good places to start as they underpin many areas with applications of mathematics. Bear in mind too that Mathematics is a huge subject in that even if you take to it naturally, you're not going to acquire a breadth and level of understanding without a fair amount of study. Looking back I probably put a lot of hours in my youth into really understanding linear algebra fully for example to the level that I could teach it at a high-ranking university, and that was with the help of people whom I could pester with my questions and the incentive of exams to take.
The other approach is to look at the areas you want to understand and then work out what topics you need to study to fully understand them. Cryptography is worlds away from electromagnetism for example. Looking at cryptography, are you interested in public key cryptography or symmetric key cryptography? If the former, then you need to start learning number theory and if the latter, knowing some statistics is probably more relevant.
Next, the traditional "pillars" of STEM are calculus and mechanics. Calculus will beef-up your skills for understanding and manipulating function. Mechanics is important because it teaches you about modelling real-world phenomena with mathematical equations.
Perhaps of even greater importance are the subjects of probability and linear algebra. Probabilistic reasoning and linear algebra techniques (e.g. eigendecomposition) are used for many applications.
RE problems, I think you should reconsider your stance about that. It is very easy to fall into the "I learned lots of cool stuff today" trap, where you think you're making progress, but actually you haven't integrating the knowledge fully. Solving problems usually will put you outside of your comfort zone and force you to rethink concepts and to form new "paths" between them. That's what you want---ideally the math concepts in your mind to be a fully connected graph. Speaking of graphs, here's a concept map from my book that shows (a subset of) the links between concepts from high school math, physics, calculus, and linear algebra: http://minireference.com/static/tutorials/conceptmap.pdf
Good luck with your studies!
1. Humungous Book of Basic Math and Pre-Algebra Problems
2. Humungous Book of Algebra Problems (still actually going through this)
3. Humungous Book of Trigonometry Problems (up to vectors)
4. Will be reading Humungous book of Calculus Problems soon and then the Humungous Book of Geometry Problems.
I know this sounds slanted, but I'm a big fan of these books. However, I also had to do what you did with Trigonometry - one of the extremely irritating things is that nobody teaches you why the names are sine, cosine, tangent, cotangent, secant and cosecant. For me, I had to go to do some elementary research and draw the lines on a circle to understand that sine was "gap" or "bow" (corruption of the original Arabic), tangent was based on tangens (to touch) and secant was based on secans (to cut). Once I worked that out, actually everything started to get rather a lot easier. Sure wish I'd had easy Internet access in high-school and a more adventurous intellect!
I think you're mistaken that your existing tactics won't get you further. This is how most people learn, by trying things out and building on them until they understand what works and what doesn't - standing on the shoulders of giants.
For practical purposes, your satisfactory solutions are a great piece of learning and the start of your understanding. You're maybe experiencing some discomfort about it, but that's normal. Keep going!
P.S. You said "from first principles", which has a specific meaning in math. It's a kind of philosophical ideal in math that you start from nothing (forget about high school math) and carefully and precisely build the subject of mathematics on top. Some of the answers here picked up on that phrase, but it probably isn't relevant to the other interests you mentioned - to do programming or electronics, you will want to build on the knowledge that you have learned already.
"Elemantary Applied Topology", Robert Ghrist. http://www.math.upenn.edu/~ghrist/notes.html
Although you probably need to have some idea of multi-variate calculus (and linear algebra) before you get started.
If you feel like MetaMath is your kinda thing, do visit the FAQ; it's quite good (and virtually required reading if you're going to do this alone).
Admittedly, it's not going to give you the tools suited for solving problems of antenna designs, or enlighten you about electromagnetism, but if you're into just pure recreational mathematics, it's worth a look.
Although I like how MetaMath brags about how easy it is to verify proof by yourself if you're not a mathematician, in the end I don't think it's useful for any people but math-oriented in the first place. It's not going to explain the meaning behind the math (it actually intends to take rid of the meaning) and certainly not solve daily problems like antenna design or machine learning. I rather see it like a collection of theorems declared true by a computer following dumbly (I mean that in a positive sense) a substitution rule and base axioms. It's another kind of beauty.
http://en.wikipedia.org/wiki/Naive_Set_Theory_(book)
It starts with defining what a set is, then builds up from there while being completely contained. No knowledge is assumed and could be enjoyed by someone with high school maths.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!
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.
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.
Another book that I think is great is 'Getallen: van natuurlijk naar imaginair', but its in Dutch.
I'd really love feedback from you on what you found approachable and what you found unapproachable.
http://www.amazon.com/gp/richpub/syltguides/fullview/20JWVDE...
http://www.amazon.com/gp/richpub/syltguides/fullview/R1GE1P2...
More good advice at http://scattered-thoughts.net/blog/2014/11/15/humans-should-...
- A Course of Pure Mathematics (G. H. Hardy). I read this before I started my undergrad in CS/Maths. Free Online.
- University Calculus (Hass, et. al.). This was reading for my first year, and continued to be useful throughout. Expensive.
- A Book of Abstract Algebra (Charles C. Pinter). I read this after my degree, but boy, do I wish I'd had it _during_ my degree. Fairly cheap.
- Linear Algebra Done Right (Sheldon Axler). Moderately priced.
I can't remember which of the texts I had on Number Theory were good at this point, but I do remember that it was quite hard to locate one which was tractable. There's a whole heap of fields which I chose to avoid (woo for joint degree!) but now I kinda regret it -- although I wouldn't have easily given up any of the comp. sci. modules I did...I would always recommend working through Hardy first, regardless of what else you do.
I don't know of any good websites for this stuff. You may be able to find reading lists on public-facing university module/course web pages, which will help bolster this list.
It may be cheaper to buy access to your local uni's library than try to buy all of the above books. The uni I attended is around £70 a year for a non-student.
Your best bet is to get a notebook and the book that interests you most and work through that book, then the next, and so on. If you get stuck, as someone with a maths degree what the heck's going on :-p
Thanks for this , i had been trying to read G. Strang's one and this one seems to be a more compact refresher on the course!
Could be b/c of my level of knowledge but to follow Strang's one to begin with , i had to watch those MIT lectures online in the begining.
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.
There are instead, roughly, between 4 and 50 branches of mathematics which each start and "end" in different places with different goals and philosophies and styles.
What makes this all "math" is that almost inexplicably these branches tread the same ground over and over. Which is to say: learning one branch can dramatically improve your ability to understand another branch. Learning several builds your "mathematical intuition" all together.
In order to learn more math you will most likely want to choose one of these branches and study it intensely. You will not want to start from first principles to begin. Nobody does, it's too complex. Instead, you should seek to understand some set of "introductory core ideas" from that branch.
In order to study any branch you will need to learn the language of mathematics: logic, theorems and proofs. Essentially, this is a language you can think in and speak. Without it, you will be incapable of carefully expressing the kind of sophisticated ideas math is founded upon.
Fortunately, programming is an application in logic. If you can program a computer you're between 1/3rd and 2/3rds of the way to understanding mathematical logic well-enough to begin to understand mathematical argument. That said, you will not yet know enough. There are books which teach this language directly (Velleman's How to Prove It, perhaps) and there is an entire field of study of this language. Usually, however, you just learn by doing. Certain branches are more amenable to this learning of the logical language than others.
One thing to note about the logical language that would be told to you by any teacher but is only mentioned in a few books is that it is not much like English in that you can just listen to or read something in the logical language and have it immediately form a cogent picture in your mind. Mathematical language is a language of action---you MUST complete proofs, often on your own, in order to have grasped what was being said. This doesn't mean there isn't value in skimming a math book and reading the results without doing the proofs. Indeed, that's often a great first pass through a book! But think of doing that like reading the Cliff's Notes for a great work of literature. You might be able to talk about it a little bit, but you certainly haven't understood the material.
One final note with respect to learning any branch—where you start is critical. Often, even the simplest reviews of the material of one branch of mathematics will assume "basic, working knowledge" of many other branches. This is done in order to accelerate learning for those who possess that working knowledge—it takes advantage of the frequent crossover properties from one branch of mathematics to another. Finding resources which do this minimally will be important to begin... but you will probably not succeed entirely. Sometimes, you just have to read a math book and walk away from it without being too much the wiser, but recognizing that there was some technique from another field you could learn to unlock a deeper understanding.
---
Some major fields of mathematics are:
1. Algebra. This is like and unlike what you may call algebra today. It is the study of how things are built and decomposed. Indeed, it notes that many "things" can be described entirely in terms of how they are built and decomposed. It is often a good place to begin for programmers as it espouses a way of thinking about the world not dissimilar to the way we model domains in while programming. Some books include Algebra: Chapter 0 by Aluffi and Algebra by MacLane.
2. Combinatorics. This is the study of "counting", but counting far more complex than anything meant by that word in normal usage. It is often a first field of study for teaching people how to read and speak proofs and theorems and therefore is well recommended. It is also where the subfield of graph theory (mostly) lies which makes it more readily accessible to programmers with an algorithms background. I can recommend West's Introduction to Graph Theory, but only with the caveat that it is incredibly dry and boring---you will get out of it what you put into practicing the proofs and nothing more.
3. Topology. This is the study of what it means for one thing to be "near" another. Similarly, it is the study of what it means to be "smooth". It's a somewhat more abstract topic than the others, but in modern mathematics it holds a privileged role as its theorems tend to have surprising and powerful consequences elsewhere in mathematics. I don't know any good introductory material here---perhaps Munkres' Topology.
4. Calculus and Analysis. This is the study of "smooth things". It is often the culminating point of American high school mathematics curricula because it has strong relationship with basic physics. Due to this interplay, it's a remarkably well-studied field with applications throughout applied mathematics, physics, and engineering. It is also the first "analyst's" field I've mentioned so far. Essentially, there are two broad styles of reasoning in mathematics, the "algebraicist's" and the "analyst's". Some people find that they love one much more than the other. The best intro book I know is Spivak's Calculus.
5. Set Theory. This is, on its surface, the study of "sets" which are, often, the most basic mathematical structure from which all others arise. You should study it eventually at this level to improve your mathematical fluency---it's a bit like learning colloquial English as compared to just formal English. More deeply, it is a historical account of the philosophical effort to figure out what the absolute basis of mathematics is---a study of foundations. To understand Set theory at this level is far more challenging, but instrumental for understanding some pieces of Logic. This can therefore be a very useful branch of study for the computer scientist investigating mathematics. I don't know a good introductory book, unfortunately.
6. Number Theory. This is, unlike the others above excepting "surface" Set theory, a branch which arises from studying the properties of a single, extremely interesting mathematical object: the integers. Probably the most obvious feature of this field is the idea that numbers can be decomposed into "atomic" pieces called prime numbers. That idea is studied generally in algebra, but the properties of prime numbers escape many of the general techniques. I don't know a good introductory book, unfortunately.
7. Measure Theory and Probability Theory. Measure theory is the study of the "substance" of things. It generalizes notions like length, weight, and volume letting you build and compare them in any circumstance. Furthermore, if you bound your measure, e.g. declare that "all things in the universe, together, weigh exactly 1 unit", then you get probability theory---the basis of statistics and a form of logical reasoning in its own right. I don't know a good introductory book, unfortunately.
8. Linear Algebra. A much more "applied" field than some of the others, but one that's surprisingly deep. It studies the idea of "simple" relationships between "spaces". These are tackled in general in (general) algebra, but linear algebra has vast application in the real world. It's also the most direct place to study matrices which are vastly important algebraic tools. I don't know a good introductory book, unfortunately.
9. Logic. A much more philosophical field at one end and an intensely algebraic field at the other. Logic establishes notions of "reasoning" and "judgement" and attempts to state which are "valid" for use as a mathematical language. Type Theory is closely related and is vital for the development of modern programming languages, so that might be an interesting connection. I don't know a good introductory book, unfortunately.
---
Hopefully, some of the ideas above are interesting on their surface. Truly understanding whether one is interesting or not is necessarily an exercise in getting your feet a little wet, though: you will have to dive in just a bit. You should also try to understand your goals of learning mathematics---do you seek beauty, power, or application? Different branches will be appealing based on your goals.
Anticipate studying mathematics forever. All of humankind together appears to be on the path of studying it forever---you personally will never see its end. What this means is that you must either decide to make it a hobby, a profession, or to consciously leave some (many) doors unopened. Mathematics is a universal roach motel for the curious.
But all that said, mathematics is the most beautiful human discovery. It probably always will be. It permeates our world such that the skills learned studying mathematics will eke out and provide value in any logical concern you undertake.
Good luck.
I liked Eric Schechter's Classical and Non-Classical Logics for an eye-opening view into how logical systems are constructed from axioms. Might be a satisfying read for OP, as well.
I am not sure if any of the following books were recommendation already:
- Carl B. Boyer - A History of Mathematics - William Dunham - Journey Through Genius - Philip J. Davi & Reuben Hersh - The Mathematical Experience - Martin Aigner & Günter M. Ziegler - Proofs from the Book - Imre Lakatos - Proofs and Refutations - Robert M. Young - Excursions in Calculus: An Interplay of the Continuous and the Discrete - Courant & Robbins - What is Mathematics? - George Pólya - How to Solve It - Morris Kline - Kline’s Mathematics: The Loss of Certainty
More or less a general deep understanding of Mathematics but will definitely give you a boost in a direction that you will favor.
Having this book on your shelf so that you can pick it up when curiosity strikes, or when you find yourself at a creative dead-end, would be an excellent way to complement the study of a traditional text on real analysis (Dunham's book has no exercises, or even definitions and theorems in the style of a traditional math book).
An excellent book that can teach you the basics (from trigonometry to advanced linear algebra) is "3D Math Primer for Graphics and Game Development".
There were a lot of other books back then that I think of as likely to have been the best in their time, but those were all more in the vein of texts for classes that I just happened to feel served me well.
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.
Short description: The writings of Newton, Leibniz, Pascal, Riemann, Bernoulli, and others in a comprehensive selection of 125 treatises dating from the Renaissance to the late 19th century — most unavailable elsewhere. Grouped in five sections: Number; Algebra; Geometry; Probability; and Calculus, Functions, and Quaternions. Includes a biographical-historical introduction for each article.
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.
@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.
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!
you need to start off with - logic and set theory. an introduction to proofs (level 0). something on (proofs in) classical geometry. - then linear algebra. (level 1) - group theory (fe Joe Armstrongs book) and an introductory (real, single-variate) analysis course. also probability theory (I'd recommend Meester's book) (level 2) - calculus, rings & galois theory, topology (fe Munkres) (level 3) - complex analysis, (and other stuff I didnt even pass) (level 4)
I'd recommend buying one book at a time and working through the entire thing, all the problems. It can quickly become too difficult if you try paralellize. But it can actually be a good experience to do one thing well.
oh yeah. the payoff of this stuff isnt very good. take it from a guy coding php for 10 euro / hour. so another warning not to do this.
Calculus is usually taught early because physicists need to know it as well but it depends on other things so if you do this early you will not really understand.
It's totally rigorous and starts from, "the ability to read English and to think logically -- no high-school mathematics, and certainly no advanced mathematics."
Mathematics is foremost a conceptual subject rather than a mechanical one, and it is immaterial that the reader have firsthand experience that all the theorems are proven. As one learns mathematics, it soon becomes apparent that there will always be gaps in her or his knowledge, and that is therefore best to skip steps that s/he believes could be done in principle.
I personally believe that Landau was caught up in the spirit of the times and optimistically believed that math could be built up from "first principles". The famous kickstart to this is Hilbert's 1900 presentation. And it certainly continued up through Nicolas Bourbaki.
In fact, Landau's mathematics is presented in a somewhat archaic style and his proofs are extremely hard to follow in spots, as if he is making unstated assumptions. Overall, it is an interesting, but ultimately thankless, task to go through that book. It is a mostly a historical curiosity. The same can be said of Hardy's "Course of Pure Mathematics", which was recommended elsewhere in this thread. I find it hard to believe that anyone who recommends these books have actually read them.
To the OP, while I can relate to the goal from personal experience, after decades of going down a similar path, I can tell you that the history of math is very messy. Our textbooks and notation reflect this messiness. My recommendation is to dive into whatever part strikes your fancy, although it may help to start from where you are. For instance, if you program, you might want to get a book on physics in game programming or learn Haskell.
As for learning how to do stuff with maths. I'm a huge fan of being taught it - then again i'm the sort of learner who really gains when showed how to do something and then left to practice.
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.
Mathematics: From the Birth of Numbers by Jan Gullberg
Beautiful book, goes from the counting numbers to partial differential equations. It's also a delight to read.
I would start that as a survey of mathematical concepts, and then move on to a good math engineering/physics textbook, like Mathematical Methods in the Physical Sciences by Mary L. Boas
I wish I'd known about this book when I was studying maths at school.
http://www.amazon.com/Methods-Mathematics-Calculus-Probabili...
It has some nice aha! moments in math study.
The first principle of learning mathematics is that the notation describing idea `M{n}` depends on an understanding of some notation describing idea `M{n-1}. That's why there is some sense in which "first principles" of mathematics makes sense. In the end, learning mathematics is a long haul - the academically elite of the world normally spend twelve years just getting to the point of completing a first calculus course before heading off to university.
Of course, there isn't really an explicit ordering to the notation. This despite our ordering of the school-boy educational system. Out in the adult world, mathematicians, engineers, scientists, etc. just grab whatever notation is convenient for thinking about the problem they are trying to solve. Thus, it is common for separate domains to have wildly different underlying abstractions for a common mathematical concept: ie. two problems which are reducible to each other by manipulating notation using replacement.
What this means is that there's no meaningful reason to derive the domain specific language [notation] of cryptography and antenna design simultaneously from Peano arithmetic...sure there's a formalism, but it's a Turing tarpit equivalent to building Facebook's infrastructure in Brainfuck. Starting from first principles is a task for mathematicians of Russel's and Whitehead's calibers. For a novice, it constitutes a rookie mistake; keeping in mind that the problem Gödel found with Principia Mathematica is foundational to computer science.
The philosopher CS Pierce's criticism of Descartes Meditations can be elevator pitched as: enquiry begins where and when we have the doubt, not later after we have travelled to some starting point. The base case for extending our knowledge is our current knowledge; creating better working conditions and unlearning poor habits of mind are part of the task.
If the enquiry grows out of knowledge in computing, it is impossible to start anywhere but from computing. Getting to the "No! I want to start over here!" place is part of the enquiry and a sham exercise.
All of which is to preface two suggestions:
+ Knuth's Art of Computer Programming presents a lot of mathematics in a context relevant to people with an interest in computing. Volume I starts off with mathematics, Volume II is all about numbers, Volumes III and IV are loaded with geometry and the algebraic equivalents of things we think about geometrically.
+ Iverson's Math for the Layman and other works are useful for introducing the importance of notation and tying it to computing. [Disclaimer: I'm currently in love with J, and posting the following link was where I started this comment]. http://www.cs.trinity.edu/About/The_Courses/cs301/math-for-t...
+ Because notions of computability are implicit in mathematics, automata theory is another vector for linking knowledge of computing to an increased understanding of mathematics.
Good luck.
High School
Algebra I
Plane geometry (with emphasis on proofs)
Algebra II
Trigonometry
Solid geometry (if can get a course in it -- terrific for intuition and techniques in 3D)
College
Analytic geometry (conic sections)
Calculus I and II
Linear algebra
Linear algebra II, Halmos, Finite Dimensional Vector Spaces (baby version of Hilbert space theory)
Advanced calculus, e.g., baby Rudin, Principles of Mathematical Analysis -- nice treatment of Fourier series, good for signals in electronic engineering. The first chapters are about continuity, uniform continuity, and compactness which are the main tools used to prove the sufficient conditions for the Riemann integral to exist. At the end Rudin shows that the Riemann integral exists if and only if the function is continuous everywhere but on a set of measure zero. But what Rudin does there at the beginning with metric spaces is more general than he needs for the Riemann integral but is important later in more general treatments in analysis. Rudin does sequences and series because they are standard ways to define and work with some of the important special functions, especially the exponential and sine and cosine further on in the book. The material in the back on exterior algebra is for people interested in differential geometry, especially for relativity theory.
Ordinary differential equations, e.g., Coddington, a beautifully written book, Coddington and Levinson is much more advanced) -- now can do basic AC circuit theory like eating ice cream.
Advanced calculus from one or several more traditional books, e.g., the old MIT favorite Hildebrand, Advanced Calculus for Applications, Fleming, Functions of Several Variables, Buck, Advanced Calculus -- can now look at Maxwell's equations and understand at least the math. And can work with the gradient for steepest descent in the maximum likelihood approach to machine learning.
Maybe take a detour into differential geometry so that can see why Rudin, Fleming, etc. do exterior algebra, and why Halmos does multi-linear algebra, and then will have a start on general relativity.
Royden, Real Analysis. So will learn measure theory, crucial for good work in probability and stochastic processes, and get a start on functional analysis (vector spaces where each point is a function -- good way to see how to use some functions to approximate others). Also will learn about linear operators and, thus, get a solid foundation for linear systems in signal processing and more.
Rudin, Real and Complex Analysis, at least the first, real, half. Here will get a good start on the Fourier transform.
Breiman, Probability -- beautifully written, even fun to read. Measure theory based probability. If that is too big a step up in probability, then take a fast pass through some elementary treatment of probability and statistics and then get back to Breiman for the real stuff. Will finally see what the heck a random variable really is and cover the important cases of convergence and the important classic limit theorems. Will understand conditioning, the Radon-Nikodym theorem (von Neumann's proof is in Rudin, R&CA), conditioning, the Markov assumption, and martingales and the astounding martingale convergence theorem and the martingale inequality, the strongest in mathematics. So will see that with random variables, can look for independence, Markov dependence, and covariance dependence, and these forms of dependence, common in practice, can lead to approximation, estimation, etc.
Now will be able to understand EE treatments of second order stationary stochastic processes, digital filtering, power spectral estimation, etc.
Stochastic processes, e.g., Karatzas and Shreve. Brownian Motion and Stochastic Calculus. Now can get started on mathematical finance.
But there are many side trips available in numerical methods, linear programming, Lagrange multipliers (a surprisingly general technique), integer programming (a way to see the importance of P versus NP), mathematical statistics, partial differential equations, mathematical finance, etc.
For some ice cream, Luenberger, Optimization by Vector Space Methods or how to learn to love the Hahn-Banach theorem and use it to become rich, famous, and popular with girls!
[PREREQUISITES]
First things first, I assume you went to a highschool, so you don't have a need for a full pre-calculus course. This would assume you, at least intuitively, understand what a function is; you know what a polynomial is; what rational, imaginary, real and complex numbers are; you can solve any quadratic equation; you know the equation of a line (and of a circle) and you can find the point that intersects two lines; you know the perimiter, area and volume formulas for common geometrical shapes/bodies and you know trigonometry in a context of a triangle. Khan Academy website (or simple googling) is good to fill any gaps in this.
[BASICS]
You would obviously start with calculus. Jim Fowlers Calculus 1 is an excellent first start if you don't know anything about the topic. Calculus: Single Variable https://www.coursera.org/course/calcsing is the more advanced version which I would strongly suggest, as it requires very little prerequisites and goes into some deeper practical issues.
By far the best resource for Linear Algebra is the MIT course taught by Gilbert Strang http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr... If you prefer to learn through programming, https://www.coursera.org/course/matrix might be better for you, though this is a somewhat lightweight course.
[SECOND STEP]
After this point you'd might want to review single variable calculus though a more analytical approach on MIT OCW http://ocw.mit.edu/courses/mathematics/18-01sc-single-variab... as well as take your venture into multivariable calculus http://ocw.mit.edu/courses/mathematics/18-02sc-multivariable...
Excellent book for single variable calculus (though in reality its a book in mathematical analysis) is Spivaks "Calculus" (depending on where you are, legally or illegally obtainable here http://libgen.org/ (as are the other books mentioned in this post)). A quick and dirty run through multivariable analysis is Spivaks "Calculus on Manifolds".
Another exellent book (that covers both single and multivar analysis) is Walter Rudins "Principles of Mathematical Analysis" (commonly referred to as "baby rudin" by mathematicians), though be warned, this is an advanced book. The author wont cradle you with superfluous explanations and you may encounter many examples of "magical math" (you are presented with a difficult problem and the solution is a clever idea that somebody magically pulled out of their ass in a strike of pure genius, making you feel like you would have never thought of it yourself and you should probably give up math forever. (Obviously don't, this is common in mathematics. Through time proofs get perfected until they reach a very elegant form, and are only presented that way, obscuring the decades/centuries of work that went into the making of that solution))
At this point you have all the necessery knowledge to start studying Differential Equations http://ocw.mit.edu/courses/mathematics/18-03sc-differential-...
Alternativelly you can go into Probability and Statistics https://www.coursera.org/course/biostats https://www.coursera.org/course/biostats2
[FURTHER MATH]
If you have gone through the above, you already have all the knowledge you need to study the areas you mentioned in your post. However, if you are interested in further mathematics you can go through the following:
The actual first principles of mathematics are prepositional and first order logic. It would, however, (imo) not be natural to start your study of maths with it. Good resource is https://www.coursera.org/course/intrologic and possibly https://class.stanford.edu/courses/Philosophy/LPL/2014/about
For Abstract algebra and Complex analysis (two separate subjects) you could go through Saylors courses http://www.saylor.org/majors/mathematics/ (sorry, I didn't study these in english).
You would also want to find some resource to study Galois theory which would be a nice bridge between algebra and number theory. For number theory I recommend the book by G. H. Hardy
At some point in life you'd also want to go through Partial Differential Equations, and perhaps Numerical Analysis. I guess check them out on Saylor http://www.saylor.org/majors/mathematics/
Topology by Munkres (its a book)
Rudin's Functional Analysis (this is the "big/adult rudin")
Hatcher's Algebraic Topology
[LIFE AFTER MATH]
It is, I guess, natural for mathematicians to branch out into:
[Computer/Data Science]
There are, literally, hundreds of courses on edX, Coursera and Udacity so take your pick. These are some of my favorites:
Artificial Intelligence https://www.edx.org/course/artificial-intelligence-uc-berkel...
Machine Learning https://www.coursera.org/course/ml
The 2+2 Princeton and Stanford Algorithms classes on Coursera
Discrete Optimization https://www.coursera.org/course/optimization
Convex Optimization https://itunes.apple.com/itunes-u/convex-optimization-ee364a... https://itunes.apple.com/us/course/convex-optimization-ii/id...
[Physics]
http://en.wikipedia.org/wiki/Formal_system
A formal system has several components:
An alphabet of symbols from which sequences or strings of symbols are constructed. Some of these strings of symbols can be well-formed according to some formal grammar, which is the next component.
Next we have a collection of basic assumptions, called axioms, which are supposed to reflect the obvious truths about whatever we want to formalize in the formal system.
And then we have some rules of inference. They allow us to derive conclusions from premises. An example would be the rule of modus ponens: If we have "If A then B" and "A", we can conclude "B".
An example of a formal system is ZFC set theory which can be regarded as a formalization of one concept, the concept of a set:
We take "classical predicate logic" as a background formal system, it already has logical symbols, like symbols for AND, OR and "IF ... THEN ..." and quantifiers "FOR ALL ..." and "THERE EXISTS ...".
We enhance this logic with one non-logical symbol, the binary element-of-symbol ∈. With it we want to express the idea that something is an element of something, for example x ∈ y is supposed to mean that x is an element of y.
Of course this is a bit simplified, but now we can build expressions (with symbols from the alphabet, according to the grammar for logical formulas plus the element symbol) which talk about the element-of-relationship between individuals.
Next, we sit together at a round table and discuss which properties about sets and element-of or membership of a set we see as self-evident - there is room for discussion and there can be many different intuitions.
For example, as in ZFC set theory, we may want to have some existence axioms. They guarantee us that in this formal system certain objects do exist. An example is the axiom of the empty set: There exists a set which has no elements. This statement can be written in our formal language.
Other axioms may have a more constructive meaning. Instead of telling us that something exists, they say that given the existence of some objects we know the existence of further objects. An example would be the axiom of set unions: Given some arbitrary sets A and B, there exists a set C, which contains all the members of A and all the members of B as its elements. Another axiom asserts the existence of an unordered pair of any two given sets, from this we can define the concept of an ordered pair, which is very important.
ZFC is one example of a set theory, there are many different set theories. You could exchange classical logic with intuitionistic logic and arrive at some formal system for intuitionistic or constructive set theory. You can drop certain axioms, because maybe they do not appear as self-evident to you (for example the axiom of choice, which contributes the "C" in ZFC, is not accepted by some people). You may add further axioms to arrive at a possibly stronger theory.
One interesting aspect about set theory is that the concept of set is very powerful and expressive, because many concepts from modern mathematics can be build up from sets: natural numbers 0,1,2,3,... can be constructed from the empty set, functions can be represented through ordered pairs of sets. Sometimes set theory is regarded as "the foundation of all mathematics", but feel free to disagree! Just because natural numbers can be modelled as sets it is not certain that natural numbers are indeed sets.
The basic pattern above is the formalization of an intuitive or natural concept, something from everyday life. We try to capture the essentials of this concept within a formal system. And then we can use the deductive power of the formal system to arrive at new and hopefully interesting conclusions about whatever we wanted to formalize. These conclusions are theorems. Not all theorems are interesting, some are even confusing, paradox and disppointing. Formalization is used to arrive at new insights about the original concept. Interesting in this context is Carnap and his idea of explication of inexact prescientific concepts:
http://en.wikipedia.org/wiki/Explication
What I want to express with this is that it is really possible to start your journey into mathematics at a beginning.
http://www.lulu.com/shop/ivan-savov/no-bullshit-guide-to-mat...
world.mathigon.org
mathworld.wolfram.com
good luck!