
"Thoroughly revised, updated, expanded, and reorganized to serve as a primary text for mathematics courses, Introduction to Set Theory, Third Edition covers "the basics"--Relations, functions, and orderings; finite, countable, and uncountable sets; and cardinal and ordinal numbers - in nine chapters perfect for a one-quarter or one-semester course... provides five additional self-contained chapters to supplement the basic course or serve as a second-semester syllabus... consolidates the material on real numbers into a single updated chapter affording flexibility in course design... supplies end-of-section problems, with hints, of varying degrees of difficulty... and more."--Jacket.
>Group Theory
Carter - Visual Group Theory
>Complex Analysis
Needham - Visual Complex Analysis
Less confident recommendations:
>Probability
https://ocw.mit.edu/courses/mathematics/18-05-introduction-t... as a very entry level introduction. After that you might still need some textbook for more depth.
>Mathematical Logic and Godel Incompleteness Theorems
Start with ForallX by Magnus. Then continue with Computability and Logic by Boolos (don't read all chapters, check out preface to see what you need for Godel Incompleteness Theorems).
>Set Theory
Hrbacek - Introduction to Set Theory
---
I am currently developing an online course which teaches logic, set theory, and computability theory (this includes Godel Incompleteness Theorem). It uses the textbooks I've mentioned above. You can check it out at https://app.grasple.com/#/course/141?access_token=3HCK4oRipe.... Use "Fundamentals of formalization" and ignore other tracks.
If time is of the essence, the first ~100 pages of the first volume in Knuth’s The Art of Programming (TAOCP) are essentially a more terse version of Concrete Mathematics. In fact, Concrete Mathematics was originally written as a series of notes and lectures at Stanford expanding the preliminary mathematical material of TAOCP. If I recall correctly, TAOCP covers everything except maybe the basic probability theory in Concrete Mathematics. You might find it helpful to read it through the TAOCP coverage, which is something of a whirlwind tour. If you have the mathematical maturity for it, you could work through this much more quickly than a full book on discrete math. But if you successfully complete 5 or 6 exercises rated 20+ from each of these sections, you can be confident that you've essentially learned the subject (perhaps even past the depth of an introductory course).
For a more expansive coverage of the topics with a computational slant, there are two excellent books I'd recommend:
1. Engineering Mathematics by K.A. Stroud
2. Mathematical Methods for Physics and Engineering by Riley, Hobson, Bence
Both of those will cover the topics in a very hands on, practice-oriented fashion, albeit with a bit of a departure from some of the theory. They're very helpful as a supplement because you can largely jump from chapter to chapter and practice your problem solving techniques. Since you said you're an Applied Math major: these would be good books for e.g. preparing for the GRE Math Subject Test if you plan on going to graduate school later on.
For a coverage of the material that emphasizes a proof-based approach, you can supplement your reading with a book on general proof strategies, such as:
1. Mathematical Proofs by Chartrand, Polmeni, Zhang
2. How to Prove It by Daniel Velleman
The first book by Chartrand et al is more of a traditional textbook and gives a comprehensive introduction to set theory in the context of various types of mathematical proofs. It's very good, especially because it has chapters specifically covering proofs in e.g linear algebra, calculus, elementary number theory, etc. On the other hand, the second book by Velleman is a more informal approach and doesn't tour any type of math in particular. But it does have an excellent chapter on mathematical induction (likely the first thing you'll cover in a discrete math course) that is approximately 50 pages or so of well presented material.
Other than those supplements, Concrete Mathematics should really be sufficient for learning the material (and it's a very fun read since the authors' personalities shine through their writing). As a personal opinion, I'd say you should take a weekend to read through Halmos' Naive Set Theory to give yourself a very strong foundation for the more advanced mathematics. You really want to make sure you get proofs when the time comes. Despite being an Applied Math major, your later undergraduate mathematics courses (like real analysis, abstract algebra, maybe linear algebra and certainly topology if you take it) are likely going to be heavily proof-based. Discrete mathematics, with its beginning coverage of mathematical induction, is specifically designed to tour concepts that will later be used in advanced applied math and computer science.
Karel Hrbacek and Thomas Jech, Introduction to Set Theory. ISBN-13: 978-0824779153.
Herbert Enderton, A Mathematical Introduction to Logic. ISBN-13: 978-0122384523.
Hope this helps. :-)