Discrete mathematics is basically a grab bag of topics selected from naive set theory, combinatorics, calculus, graph theory, linear algebra and probability theory. It also includes asymptotic algorithm analysis. You can look for resources that cover these topics in particular or resources that cover them together. Relative to what you're already going to be reading, I'll make a few recommendations based on 1) equally comprehensive, but more more compact material, 2) more computational, practice-oriented material for engineers, and 3) more theoretical, proof-based material for computer scientists and mathematicians.<p>If time is of the essence, the first ~100 pages of the first volume in Knuth’s <i>The Art of Programming</i> (TAOCP) are essentially a more terse version of <i>Concrete Mathematics</i>. In fact, <i>Concrete Mathematics</i> 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 <i>Concrete Mathematics.</i> 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).<p>For a more expansive coverage of the topics with a computational slant, there are two excellent books I'd recommend:<p>1. <i>Engineering Mathematics</i> by K.A. Stroud<p>2. <i>Mathematical Methods for Physics and Engineering</i> by Riley, Hobson, Bence<p>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.<p>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:<p>1. <i>Mathematical Proofs</i> by Chartrand, Polmeni, Zhang<p>2. <i>How to Prove It</i> by Daniel Velleman<p>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.<p>Other than those supplements, <i>Concrete Mathematics</i> 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' <i>Naive Set Theory</i> to give yourself a very strong foundation for the more advanced mathematics. You really want to make sure you <i>get</i> 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.