What's the best way for an engineer to learn "real" math? I'm an electrical/computer engineering student and have taken fair number of engineering math courses. In addition to Calc 1/2/3 (differential, integral and multivariable respectfully), I've also taken a course on linear algebra, basic differential equations, basic complex analysis, probability and signal processing (which was essentially a course on different integral transforms).
I'm really interested in learning rigorous math, however the math courses I've taken so far have been very applied - they've been taught with a focus on solving problems instead of proving theorems. I would have to relearn most of what I've been taught, this time with a focus on proofs. 
However, I'm afraid that if I spend a while relearning content I already know, I'll soon become bored and lose motivation. However, I don't think not revisiting topics I already know is a good idea, because it would be next to impossible to learn higher level math without knowing lower level math from a proof based point of view.
 A: Consider going through Calculus by Michael Spivak or Introduction to Calculus and Analysis (Volume I) by Richard Courant and Fritz John. You may initially think you know most of the material in these books (because you can differentiate and integrate some standard functions, etc.), I think if you really hit these books hard by reading for understanding all the proofs and attempting as many of the exercises as you have time for, then you'll find they contain quite a bit that you are NOT familiar with. Given your engineering background, Courant would be my pick for you. See my answer to Difficulty level of Courant's book. See also the comments here.
Another suggestion is to get one of the comprehensive advanced calculus texts from about a generation ago, one that includes a rigorous review of elementary calculus before launching into an extensive coverage of sequences and series, vector calculus, elementary differential geometry, possibly some complex variables, etc., such as Advanced Calculus by Angus E. Taylor and W. Robert Mann, or Advanced Calculus by R. Creighton Buck. In past generations, the 2-semester sequence courses out of such a book tended to be the primary transition (and weed-out course) for undergraduate students to transition from elementary calculus and ODE's to upper level mathematics. Because the mathematics curriculum has gotten fuller in the past few decades (more discrete math, probability, and previously non-existent courses in the emerging discipline of computer science), these 2-semester sequence courses have gradually been phased out and replaced by more targeted 1-semester "transition to advanced mathematics" courses that have much less depth and far more focus on mathematical grammar issues and basic proof methods than the earlier advanced calculus courses, plus the "transition to advanced mathematics" courses are typically taken in the U.S. during one's 2nd undergraduate year rather than the 3rd undergraduate year in which the advanced calculus courses were typically taken.
A: I don't think if you relearn the material you'll get bored because I don't think you would be relearning the material.  To relearn something means you've already learned it once, and now you are learning it again.  But you said yourself your courses never focused on proving theorems.  It's a very different experience to study pure mathematics than to study mathematics as you've already done.  In the former, you take a much deeper look at the topics and theorems that you used to solve the problems earlier, and this time you'd be learning the methods of proof that are used to prove the theorems.  For homework and exams, you'd most likely be expected to prove given statements on your own. 
A: There are countries where people are puzzled if you tell them there is a distinction between "calculus" and "analysis." They think "calculus" is just an old-fashioned name for analysis. The reason these subjects are viewed as different in North America is because a typical "calculus" class is where one learns the mechanical aspects and basic applications of calculus, whereas "analysis" is where you learn everything that comes after that, including relearning the theoretical parts of calculus, but without an excessive focus on the familiar practical aspects.
So to get to my point, most textbooks published in the U.S. or Canada with a title like "mathematical analysis" are made precisely for people like you. For example, you could use Apostol's Mathematical Analysis. Mathematical Analysis I, II by Zorich, translated from Russian, is also very good, and can be used in conjunction with the problem book by Makarov and Goluzina, which has mostly non-routine problems with hints and answers. I think you would find either of these books preferable to Spivak's Calculus, which was originally intended for people learning the material for the first time (though it's not always used that way). One caveat about Apostol's book is that the chapter on Riemann-Stieltjes integration can be a bit difficult for those who haven't studied the plain Riemann integral rigorously elsewhere.
In many North American universities, there is a second course in linear algebra that revisits the subject from a more theoretical perspective. And of course, there are textbooks to match this approach, usually beginning with vector spaces (e.g., Lang or Friedberg/Insel/Spence). However, in your case an attractive alternative might be to study abstract algebra and linear algebra concurrently (vector spaces being a special case of groups, and groups being widely applied in linear algebra in other ways). An excellent book that takes this combined approach is Algebra by Artin. Godement's Algebra is also outstanding, though a good deal drier.
I would consider basic mathematical analysis and algebra at the level of those books to be the foundation of an undergraduate education in mathematics. After that, there are many directions you can go in. I think you'll find that books in differential equations, complex analysis, etc., that are aimed at people who have already reached that level of sophistication are sufficiently different from what you've done before that you won't feel frustrated by them. You can get an idea of what topics are most important by looking at the undergraduate curricula of good universities.
There are also books on analysis and algebra at a lower level of difficulty and covering much less material. Elementary Analysis by Ross and Abstract Algebra by Herstein come to mind. (The latter doesn't discuss linear algebra.)
A: There is no "engineering math" separate from "math". To learn good math as an engineer, you have no other way but to understand math from its nature.
The first course you learn is probably real analysis. In my opinion, no one masters real analysis when the topic is met the first time. Don't worry if you feel you have done the homework and passed the exam but don't have a clear clue of what it is for. Real analysis is the topic that opens the door to modern math, as compared to what you learned at high school. The core technique you need to master is formal reasoning, or proof construction. Learning first-order logic systematically would definitely provide you with a clearer understanding of this technique. Once you have mastered the tool for formal reasoning, you are able to appreciate proofs written in English in a more fundamental way. Without the knowledge of first order logic, long proofs cannot be truly understood, especially when there are many levels of existential and universal propositions. After understanding first-order logic and probably a little set theory, it is the moment you review real analysis and tell why learning the material the first time is not really helpful.
You will definitely learn linear algebra. This is the course you learn linear spaces and transformations between linear spaces. It is the first time you understand that modern math is concerned with the structures of specific types of sets with operations defined on them. Some universities teach this topic with an emphasis on matrices and vectors. I don't quite agree with this type of education for linear algebra. I would recommend learning this topic from the bottom up. That is, understanding clearly the concepts of linear transformations, and then, associate them with matrices and vectors. With the proof capability you learned in real analysis, you should be able to understand and construct proofs more easily in this course.
Then you will need to know how to model the world of uncertainty. Probability theory and statistics are what you need to learn. Again, pay more attention to theory and do not focus on data at the beginning. You need to rigorously construct your understanding of events, probability, random variables, expectation, convergence, etc. Do note that the concept of convergence from real analysis plays a significant role in the analysis of estimators.
With all these basic course learned and understood, you should learn optimization. Optimization tells you how to make the best choice with a definition of cost in mind. It is widely used in signal processing, control, machine learning, computer graphics, etc. In fact, many rigorous engineering papers published on good conferences or journals are optimization in nature.
With these topics learned and practiced in everyday applications, you should be able to deal with most engineering problems in electrical engineering or computer science in a very rigorous way. With these describing languages in mind, you should solve real problems with coding. Now, coding is a technique that connects knowledge and capability. With a good understanding of math, you should be able to write high-quality codes.
A: Your goal is slant to applied math.
Try “Real Variables with ..metric space and topology” by Robert Ash. The book will also teach you proof writing.
Prof Ash is an electrical engineer who later became a Math prof.
The book has answers to all problems that helps you to gain confidence quickly. Prof Ash also has books on Modern Algebra and Complex Analysis.
All are good.
Rudin or Artin you can read easily and work through.
A: Real Analysis->Elementary Number Theory->Group Theory. The rest is your own interests.
