Best discrete mathematics books according to redditors
We found 108 Reddit comments discussing the best discrete mathematics books. We ranked the 21 resulting products by number of redditors who mentioned them. Here are the top 20.
15. Discrete Mathematics: Introduction to Mathematical Reasoning
1 mention
Used Book in Good Condition
Here's my list of the classics:
General Computing
Computer Science
Software Development
Case Studies
Employment
Language-Specific
C
Python
C#
C++
Java
Linux Shell Scripts
Web Development
Ruby and Rails
Assembly
A lot of it is probably confirmation bias, but yes, it does happen.
HP used to have expiry dates on their cartridges claiming they degraded printing after a certain time: http://www.hp.com/pageyield/articles/uk/en/InkExpiration.html
Another example from the software development world: Red Gate announced that one of their products (Reflector) would no longer be free starting from the next version and disabled all existing free copies, a move that upset many developers: http://www.infoq.com/news/2011/02/NET-Reflector-Not-Free
College textbooks are the most literal example of planned obsolescence; the new editions often contain very few new material and cost a lot while all older versions can be bought for almost nothing... and of course most classes require the new version.
For instance, Kenneth Rosen's "Discrete Mathematics and its Applications" currently sells for $125 if you want the [latest edition] (http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073383090/), $100 for the one before that and $16 for an older one even though the number of pages only increased by 100 each time. Thankfully, my teacher gave us the page numbers for both the latest and the second-latest editions...
> Mathematical Logic
It's not exactly Math Logic, just a bunch of techniques mathematicians use. Math Logic is an actual area of study. Similarly, actual Set Theory and Proof Theory are different from the small set of techniques that most mathematicians use.
Also, looks like you have chosen mostly old, but very popular books. While studying out of these books, keep looking for other books. Just because the book was once popular at a school, doesn't mean it is appropriate for your situation. Every year there are new (and quite frankly) pedagogically better books published. Look through them.
Here's how you find newer books. Go to Amazon. In the search field, choose "Books" and enter whatever term that interests you. Say, "mathematical proofs". Amazon will come up with a bunch of books. First, sort by relevance. That will give you an idea of what's currently popular. Check every single one of them. You'll find hidden jewels no one talks about. Then sort by publication date. That way you'll find newer books - some that haven't even been published yet. If you change the search term even slightly Amazon will come up with completely different batch of books. Also, search for books on Springer, Cambridge Press, MIT Press, MAA and the like. They usually house really cool new titles. Here are a couple of upcoming titles that might be of interest to you: An Illustrative Introduction to Modern Analysis by Katzourakis/Varvarouka, Understanding Topology by Shaun Ault. I bet these books will be far more pedagogically sound as compared to the dry-ass, boring compendium of facts like the books by Rudin.
If you want to learn how to do routine proofs, there are about one million titles out there. Also, note books titled Discrete Math are the best for learning how to do proofs. You get to learn techniques that are not covered in, say, How to Prove It by Velleman. My favorites are the books by Susanna Epp, Edward Scheinerman and Ralph Grimaldi. Also, note a lot of intro to proofs books cover much more than the bare minimum of How to Prove It by Velleman. For example, Math Proofs by Chartrand et al has sections about doing Analysis, Group Theory, Topology, Number Theory proofs. A lot of proof books do not cover proofs from Analysis, so lately a glut of new books that cover that area hit the market. For example, Intro to Proof Through Real Analysis by Madden/Aubrey, Analysis Lifesaver by Grinberg(Some of the reviewers are complaining that this book doesn't have enough material which is ridiculous because this book tackles some ugly topological stuff like compactness in the most general way head-on as opposed to most into Real Analysis books that simply shy away from it), Writing Proofs in Analysis by Kane, How to Think About Analysis by Alcock etc.
Here is a list of extremely gentle titles: Discovering Group Theory by Barnard/Neil, A Friendly Introduction to Group Theory by Nash, Abstract Algebra: A Student-Friendly Approach by the Dos Reis, Elementary Number Theory by Koshy, Undergraduate Topology: A Working Textbook by McClusckey/McMaster, Linear Algebra: Step by Step by Singh (This one is every bit as good as Axler, just a bit less pretentious, contains more examples and much more accessible), Analysis: With an Introduction to Proof by Lay, Vector Calculus, Linear Algebra, and Differential Forms by Hubbard & Hubbard, etc
This only scratches the surface of what's out there. For example, there are books dedicated to doing proofs in Computer Science(for example, Fundamental Proof Methods in Computer Science by Arkoudas/Musser, Practical Analysis of Algorithms by Vrajitorou/Knight, Probability and Computing by Mizenmacher/Upfal), Category Theory etc. The point is to keep looking. There's always something better just around the corner. You don't have to confine yourself to books someone(some people) declared the "it" book at some point in time.
Last, but not least, if you are poor, peruse Libgen.
What OS? Linux, of course. When TPB order everything locked down, you don't want to be caught using a Microsoft OS. -- What distribution? The easy path is Ubuntu, with the Cinnamon UI, or LinuxMint 13, when issued (May 2012).
What IDE? There's lots to choose from. My favorite is "geany".
https://en.wikipedia.org/wiki/Geany
For TCP/IP protocol tutorial. Recently updated by Wright:
Stevens, "TCP/IP Illustrated", 3-volume set.
http://www.amazon.com/TCP-IP-Illustrated-Volume-Set/dp/0201776316
On human interface guidelines relevant to programming:
https://en.wikipedia.org/wiki/Human_interface_guidelines
For GNOME 2, see:
http://library.gnome.org/devel/hig-book/stable/
To develop Linux applications:
You are right. You MUST know how to program in C. When others tell you that object oriented programming is the thing, know that you can do object oriented programming in C. Avoid interpreted languages (Python, Java, and others) as a first programming language. Interpreted languages teach bad habits and hid too much of what's going on from you such that debugging becomes difficult to impossible.
However, if all you intend is "casual programming", the Python will do, if you must. It's just not the best choice first a first language if your intent is to become a "professional programmer". I use Python myself; It works for what I need to do quick and dirty.
Definitive, but for experienced programmers:
http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?s=books&ie=UTF8&qid=1335197606&sr=1-1
As a tutorial for someone learning a first programming language and how to program from zero:
Perry, "Absolute Beginner's Guide to C", 2ed.
-- I have not read the book, but the ToC looks reasonable for a beginner.
http://www.amazon.com/Absolute-Beginners-Guide-2nd-Edition/dp/0672305100/ref=sr_1_6?s=books&ie=UTF8&qid=1335197606&sr=1-6
OK, you don't want a full CS curriculum, but some topics in discrete mathematics are mandatory. ... Ack! Having looked over the offerings at Amazon, I believe that Epp, "Discrete Mathematics with Applications" may be the best of the lot, but at $187, it is hard to recommend without knowing your intent and interest. The reason I suggest this title is that it looks focused on application to computer science topics. It covers a number of topics that are NOT covered in many of the other titles, enough so that should you use other texts you will have spent more than the $187 that this title includes. JMHO.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?s=books&ie=UTF8&qid=1335199316&sr=1-1
See also: Sedgwick, "Algorithms" -- You'll probably need it sooner than later.
http://www.amazon.com/Algorithms-4th-Edition-Robert-Sedgewick/dp/032157351X/ref=sr_1_1?s=books&ie=UTF8&qid=1335200153&sr=1-1
Remember that Linux OS? You are going to need some programming tools, right? If you intend to write GUI applications based on the GTK+ toolkit, then install the package "glade" or "glade-gtk". Installing a glade package will suck in over 100 other packages essential to building a GTK based GUI application. Specifying glade to the package manager is just easier that finding and installing all the other necessary parts by hand.
If you are going to do command line based UI programs, then package "build-essentials" should be adequate.
There are some other things to read:
On how to organize, grow and maintain a Linux software development project: Fogel, "Producing Open Source Software"
http://producingoss.com/
You can read it online here, but buy the book too to help support Fogel. He's gotta eat too.
On the culture of writing Open Source Software:
Raymond, "The Cathedral and the Bazaar"
http://www.catb.org/~esr/writings/cathedral-bazaar/
Linux programming is not like Windows programming.
Read and study ESR's TAOP.
Raymond, "The Art of Unix Programming"
http://www.catb.org/~esr/writings/taoup/html/
You can read it online, free. However, buy a hardcopy too. Raymond has to eat too.
Now to get really technical. What interface do you write to?
Kerrick, "The Linux Programming Interface: A Linux and UNIX System Programming Handbook"
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=sr_1_1?s=books&ie=UTF8&qid=1335201257&sr=1-1#reader_1593272200
Beginning to focus on GNU style programming:
GNU Coding Standards
https://www.gnu.org/prep/standards/
GNU Coding Standards is more than how to and how much to indent a line or how to set braces. You will get into the topic of Make and Autotools. Make is a program to build complex softare and Autotools is about how to build a package for distribution, the package that any Unix flavor can use; it is not focused on any specific distribution. See also: "configure and make"
Enough! There's more, but I have too much time in this already for today.
[edit: typos]
I'll be that guy. There are two types of Calculus: the Micky Mouse calculus and Real Analysis. If you go to Khan Academy you're gonna study the first version. It's by far the most popular one and has nothing to do with higher math.
The foundations of higher math are Linear Algebra(again, different from what's on Khan Academy), Abstract Algebra, Real Analysis etc.
You could, probably, skip all the micky mouse classes and start immediately with rigorous(proof-based) Linear Algebra.
But it's probably best to get a good foundation before embarking on Real Analysis and the like:
Discrete Mathematics with Applications by Susanna Epp
How to Prove It: A Structured Approach Daniel Velleman
Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers
Book of Proof by Richard Hammock
That way you get to skip all the plug-and-chug courses and start from the very beginning in a rigorous way.
I take it you want something small enough to fit inside a hollowed-out bible or romance novel, so you can hide your secrets from nosy neighbors?
More seriously, this book is great https://amzn.com/0201558025 but might not be quite what you’re looking for at an introductory level.
I’ve seen recommendations of https://amzn.com/0495391328 (I haven’t looked at this book myself.)
Pick up mathematics. Now if you have never done math past the high school and are an "average person" you probably cringed.
Math (an "actual kind") is nothing like the kind of shit you've seen back in grade school. To break into this incredible world all you need is to know math at the level of, say, 6th grade.
Intro to Math:
These books only serve as samplers because they don't even begin to scratch the surface of math. After you familiarized yourself with the basics of writing proofs you can get started with intro to the largest subsets of math like:
Intro to Abstract Algebra:
There are tons more books on abstract/modern algebra. Just search them on Amazon. Some of the famous, but less accessible ones are
Intro to Real Analysis:
Again, there are tons of more famous and less accessible books on this subject. There are books by Rudin, Royden, Kolmogorov etc.
Ideally, after this you would follow it up with a nice course on rigorous multivariable calculus. Easiest and most approachable and totally doable one at this point is
At this point it's clear there are tons of more famous and less accessible books on this subject :) I won't list them because if you are at this point of math development you can definitely find them yourself :)
From here you can graduate to studying category theory, differential geometry, algebraic geometry, more advanced texts on combinatorics, graph theory, number theory, complex analysis, probability, topology, algorithms, functional analysis etc
Most listed books and more can be found on libgen if you can't afford to buy them. If you are stuck on homework, you'll find help on [MathStackexchange] (https://math.stackexchange.com/questions).
Good luck.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328 is one of my math books. The bookstore wants $350 for it.
There are essentially "two types" of math: that for mathematicians and everyone else. When you see the sequence Calculus(1, 2, 3) -> Linear Algebra -> DiffEq (in that order) thrown around, you can be sure they are talking about non-rigorous, non-proof based kind that's good for nothing, imo of course. Calculus in this sequence is Analysis with all its important bits chopped off, so that everyone not into math can get that outta way quick and concentrate on where their passion lies. The same goes for Linear Algebra. LA in the sequence above is absolutely butchered so that non-math majors can pass and move on. Besides, you don't take LA or Calculus or other math subjects just once as a math major and move on: you take a rigorous/proof-based intro as an undergrad, then more advanced kind as a grad student etc.
To illustrate my point:
Linear Algebra:
Linear Algebra Through Geometry by Banchoff and Wermer
3. Here's more rigorous/abstract Linear Algebra for undergrads:
Linear Algebra Done Right by Axler
4. Here's more advanced grad level Linear Algebra:
Advanced Linear Algebra by Steven Roman
-----------------------------------------------------------
Calculus:
Calulus by Spivak
3. Full-blown undergrad level Analysis(proof-based):
Analysis by Rudin
4. More advanced Calculus for advance undergrads and grad students:
Advanced Calculus by Sternberg and Loomis
The same holds true for just about any subject in math. Btw, I am not saying you should study these books. The point and truth is you can start learning math right now, right this moment instead of reading lame and useless books designed to extract money out of students. Besides, there are so many more math subjects that are so much more interesting than the tired old Calculus: combinatorics, number theory, probability etc. Each of those have intros you can get started with right this moment.
Here's how you start studying real math NOW:
Learning to Reason: An Introduction to Logic, Sets, and Relations by Rodgers. Essentially, this book is about the language that you need to be able to understand mathematicians, read and write proofs. It's not terribly comprehensive, but the amount of info it packs beats the usual first two years of math undergrad 1000x over. Books like this should be taught in high school. For alternatives, look into
Discrete Math by Susanna Epp
How To prove It by Velleman
Intro To Category Theory by Lawvere and Schnauel
There are TONS great, quality books out there, you just need to get yourself a liitle familiar with what real math looks like, so that you can explore further on your own instead of reading garbage and never getting even one step closer to mathematics.
If you want to consolidate your knowledge you get from books like those of Rodgers and Velleman and take it many, many steps further:
Basic Language of Math by Schaffer. It's a much more advanced book than those listed above, but contains all the basic tools of math you'll need.
I'd like to say soooooooooo much more, but I am sue you're bored by now, so I'll stop here.
Good Luck, buddyroo.
math 271 is easy if you can think logically
just pirate this book: https://www.amazon.ca/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328
and browse the first 10 chapters - thats whats taught at math 271. i had thi dinh or something, some asian dude. he's a hardass but one of my fav profs of all time
ill be honest though, none of this math is plug and chug like calc 1 or even calc 2. i thought 271 required more thinking than linear or calc 1 or calc 2. once you get into counting and probability and set theory and graphs/relations and shits, it gets pretty intense. the first half of the course is easy but a lot of people fail the final exam and then fail the course lmao.
eng319 is hard but u gotta take it bro.
TAKING BOTH??? are you ready to stay indoors/at school all day for 60 days? then you can do it. if u slack off ur gonna fail 271 or 319.
gljuck bro
Computer science is not about fixing computers or building a workstation-clone from parts, for the purpose of playing video games.
As for the most basic aspects of computer science, you should understand what a Turing machine is and why it is important to understand it. A good book on the topic is Introduction to the theory of computation If you do go ahead and choose to study computer science, this stuff is something you will most definetly benefit from knowing early on. There is math in that book too. Good, fun math.
Your professors really aren't expecting you to reinvent groundbreaking proofs from scratch, given some basic axioms. It's much more likely that you're missing "hints" - exercises often build off previous proofs done in class, for example.
I appreciated Laura Alcock's writings on this, in helping me overcome my fear of studying math in general:
https://www.amazon.com/How-Study-as-Mathematics-Major/dp/0199661316/
https://www.amazon.com/dp/0198723539/ <-- even though you aren't in analysis, the way she writes about approaching math classes in general is helpful
If you really do struggle with the mechanics of proof, you should take some time to harden that skill on its own. I found this to be filled with helpful and gentle exercises, with answers: https://www.amazon.com/dp/0989472108/ref=rdr_ext_sb_ti_sims_2
And one more idea is that it can't hurt for you to supplement what you're learning in class with a more intuitive, chatty text. This book is filled with colorful examples that may help your leap into more abstract territory: https://www.amazon.com/Visual-Group-Theory-Problem-Book/dp/088385757X
There exists a way to prove that a given language is not a regular language: languages that can be parsed by a regular expression have a particular property; if you demonstrate that a particular language cannot have that property then you have the mathematical proof that a regular expression is not powerful enough to parse such language.
***
PS: I never formally studied CS in school, i am studying it right now as a hobby; if, like me, you love math and want to learn more about the basis of CS and theory of computation in a formal way I suggest you to buy and read this book about the theory of computation.
You need a good foundation: a little logic, intro to proofs, a taste of sets, a bit on relations and functions, some counting(combinatorics/graph theory) etc. The best way to get started with all this is an introductory discrete math course. Check these books out:
Mathematics: A Discrete Introduction by Edward A. Scheinerman
Discrete Mathematics with Applications by Susanna S. Epp
How to Prove It: A Structured Approach Daniel J. Velleman
Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers
Combinatorics: A Guided Tour by David R. Mazur
It depends on what you already know.
&#x200B;
Do you have any prior programming experience? If not, start there. My no. 1 recommendation here would be Allen B. Downey's free Think Python book. Others might come along and recommend something like SICP, which is a good book, but perhaps a bit hard for an absolute beginner. Downey also has a version of his book that uses Java, so if you know for a fact that this is the language your introductory programming class will be using, then that could be a better option (Python is a simpler language, which makes it easier for you to focus on the actual concepts rather than the language itself, but if you know that you'll be using Java, you might as well kill two birds with one stone).
&#x200B;
If you do have prior programming experience, you have all sorts of options:
&#x200B;
Regardless of whether or not you have programmed before, I would also recommend doing the following:
&#x200B;
if you have any questions about my above suggestions, let me know, and I'll see if I can point you in the right direction.
&#x200B;
Good luck!
It's common to have some difficulty adjusting from lower-level courses with a computational emphasis to upper-level courses with an emphasis on proof. Fortunately, this phenomenon is well known, and there are a number of books aimed at bridging the gap between the two types of courses. A few such books are listed below.
I hope that helps!
If you are serious about this, then the best way to self learn Math is to learn to read Math books. This is a valuable skill. It stops you from having to rely on websites/tutorials and frees you to really read the stuff you're interested in.
Generally you probably want a more "back to basics" approach that will cover basic stuff and act as an introduction (again) to the topic (without handling you as if you're a child). I recommend Discrete Mathematics with Applications. Epp does a good job of starting at the beginning (with logic) and building a decent foundation through connectives, conditionals, existentials, universals, etc. eventually leading into proofs.
Her writing style is very readable IMO but still dense enough to help you learn how to read Math books.
If you're self motivated enough then start there. Read a chapter. Do the problems. Be confused. Do more problems. Still confused? Read the chapter again. Do more problems. Repeat. Eventually finish the book.
The next one will be faster and easier because of the work you put in. Eventually you'll be 3-5 books down, and you'll feel you know quite a bit. Then read more.. realize the field is huge and you know nothing. Read more to solve this.
Repeat
????
Success(?)
How to prove it is a great start. I think after that, you should focus on learning to think mathematically through practice instead of reading (at least, that's how I and most people learn best). Take classes or read and work through the textbooks of subjects that interest you. Discrete math would be a good place to start since it teaches proof techniques and basic probability and combinatorics; my class used this book which I thought was nice.
If you don't actually do the work, your thinking process isn't going to change.
Check out /r/compsci, /r/algorithms, and the subreddits in their sidebars.
Sure! There is a lot of math involved in the WHY component of Computer Science, for the basics, its Discrete Mathematics, so any introduction to that will help as well.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_sp-atf_title_1_1?s=books&amp;ie=UTF8&amp;qid=1368125024&amp;sr=1-1&amp;keywords=discrete+mathematics
This next book is a great theoretical overview of CS as well.
http://mitpress.mit.edu/sicp/full-text/book/book.html
That's a great book on computer programming, complexity, data types etc... If you want to get into more detail, check out: http://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/0534950973
I would also look at Coursera.org's Algorithm lectures by Robert Sedgewick, thats essential learning for any computer science student.
His textbook: http://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_sp-atf_title_1_1?s=books&amp;ie=UTF8&amp;qid=1368124871&amp;sr=1-1&amp;keywords=Algorithms
another Algorithms textbook bible: http://www.amazon.com/Introduction-Algorithms-Thomas-H-Cormen/dp/0262033844/ref=sr_sp-atf_title_1_2?s=books&amp;ie=UTF8&amp;qid=1368124871&amp;sr=1-2&amp;keywords=Algorithms
I'm just like you as well, I'm pivoting, I graduated law school specializing in technology law and patents in 2012, but I love comp sci too much, so i went back into school for Comp Sci + jumped into the tech field and got a job at a tech company.
These books are theoretical, and they help you understand why you should use x versus y, those kind of things are essential, especially on larger applications (like Google's PageRank algorithm). Once you know the theoretical info, applying it is just a matter of picking the right tool, like Ruby on Rails, or .NET, Java etc...
Discrete Mathematics with Applications by Susanna Epp is pretty good, with a lot of exposition. In the introduction there is a guide on how to use the book, and the different sections to focus on if using it for a mainly mathematics-based class or for a computer science-based class.
http://www.amazon.com/gp/product/0495391328/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=1944687702&amp;pf_rd_s=lpo-top-stripe-1&amp;pf_rd_t=201&amp;pf_rd_i=0132122715&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_r=0P155N9Y802PPMETYGVC
A First Course in Graph Theory by Chartrand and Zhang
Combinatorics: A Guided Tour by Mazur
Discrete Math by Epp
For Linear Algebra I like these below:
Lecture Notes by Tao
Linear Algebra: An Introduction to Abstract Mathematics by Robert Valenza
Linear Algebra Done Right by Axler
Linear Algebra by Friedberg, Insel and Spence
Data Structures & Algorithms is usually the second course after Programming 101. Here is a progression (with the books I'd use) I would recommend to get started:
Edit: If you're feeling adventurous then after those you should look at
Discrete Mathematics and Its Applications by Kenneth Rosen
http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073229725/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1255866346&amp;sr=8-1
I'd recommend these two for discrete mathematics, I used them during my time in university and they were pretty helpful
I don't think it contains any group theory, but everything else is there:
Discrete Mathematics with Applications by Susanna S. Epp (
This one below contains some algebra(groups):
Mathematics: A Discrete Introduction by Edward A. Scheinerman
Both are pretty elementary.
First of all, I am glad to hear that your attitude towards math has changed so drastically! Welcome to the dark side. As for where to start relearning math, that probably depends on where you're starting from. Have you taken any classes on discrete math or linear algebra for your IT major? How about calculus?
If you want to work in mathematics, then you probably want a light introduction to proofs. Most undergraduates in math and computer science at my university use
Discrete Mathematics: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games. I personally recommend How to Prove It by Velleman, which promotes a structured approach to proving that jives well with the step-wise refinement approach used by people in comp prog and comp sci.
If you have had some calculus, another good place to start is Calculus by Spivak. It will start you over from the basics, but with the rigor one should expect from a mathematics course.
Of course, I'm just making guesses about your background and your interests. What do you think you'd want to do with math or physics, or both? Perhaps you might enjoy scientific computing? If physics (or maybe even engineering) is your thing, then skip the first two books I recommended and try out Spivak. From there go on to books on linear algebra and differential equations -- the necessary math background -- while also checking out some physics books (I have a few to recommend, but that's off-topic. Let me know if that's something in which you're interested).
I would not recommend Discrete Mathematics and Its Applications
It's very detailed and well done, but it's not for the non math guy. We're currently using it and the professor uses it as a reference but explains the concepts in his own words. There are few chapters where I read them beforehand and understand them better afterward.
These are listed in the order I'd recommend reading them. Also, I've purposely recommended older editions since they're much cheaper and still as good as newer ones. If you want the latest edition of some book, you can search for that and get it.
The Humongous Book of Basic Math and Pre-Algebra Problems https://www.amazon.com/dp/1615640835/ref=cm_sw_r_cp_api_pHZdzbHARBT0A
Intermediate Algebra https://www.amazon.com/dp/0072934735/ref=cm_sw_r_cp_api_UIZdzbVD73KC9
College Algebra https://www.amazon.com/dp/0618643109/ref=cm_sw_r_cp_api_hKZdzb3TPRPH9
Trigonometry (2nd Edition) https://www.amazon.com/dp/032135690X/ref=cm_sw_r_cp_api_eLZdzbXGVGY6P
Reading this whole book from beginning to end will cover calculus 1, 2, and 3.
Calculus: Early Transcendental Functions https://www.amazon.com/dp/0073229733/ref=cm_sw_r_cp_api_PLZdzbW28XVBW
You can do LinAlg concurrently with calculus.
Linear Algebra: A Modern Introduction (Available 2011 Titles Enhanced Web Assign) https://www.amazon.com/dp/0538735457/ref=cm_sw_r_cp_api_dNZdzb7TPVBJJ
You can do this after calculus. Or you can also get a book that's specific to statistics (be sure to get the one requiring calc, as some are made for non-science/eng students and are pretty basic) and then another book specific to probability. This one combines the two.
Probability and Statistics for Engineering and the Sciences https://www.amazon.com/dp/1305251806/ref=cm_sw_r_cp_api_QXZdzb1J095Y1
Differential Equations with Boundary-Value Problems, 8th Edition https://www.amazon.com/dp/1111827060/ref=cm_sw_r_cp_api_sSZdzbDKD0TQ9
After doing all of the above, you'd have the equivalent most engineering majors have to take. You can go further by exploring partial diff EQs, real analysis (which is usually required by math majors for more advanced topics), and an intro to higher math which usually includes logic, set theory, and abstract algebra.
If you want to get into higher math topics you can use this fantastic book on the topic:
This book is also available for free online, but since you won't have internet here's the hard copy.
Book of Proof https://www.amazon.com/dp/0989472108/ref=cm_sw_r_cp_api_MUZdzbP64AWEW
From there you can go on to number theory, combinatorics, graph theory, numerical analysis, higher geometries, algorithms, more in depth in modern algebra, topology and so on. Good luck!
you don't need any math for CS50
amazon lists these as its best sellers
https://www.amazon.com/Best-Sellers-Books-Discrete-Mathematics/zgbs/books/13913
there's this -- MIT's Open Course Works -- Mathematics for Computer Science
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2005/readings/
https://courses.csail.mit.edu/6.042/spring17/mcs.pdf
this has lots of problems to solve https://www.amazon.com/Schaums-Outline-Discrete-Mathematics-Outlines/dp/0071615865/ref=sr_1_5?ie=UTF8&amp;qid=1501439754&amp;sr=8-5&amp;keywords=discrete+math
I have not taken the class yet (I'm taking 161 and 225 in January), but I looked at the syllabi already and here's the textbook for the class:
http://www.amazon.com/Discrete-Mathematics-Applications-Kenneth-Rosen/dp/0073383090/ref=sr_1_1?ie=UTF8&amp;qid=1417826968&amp;sr=8-1&amp;keywords=Rosen+Discrete+Math
You may want to go ahead and pick this up and start looking through it prior to January. I already grabbed a copy; I finish Calculus II tomorrow at my community college and I am going to be starting Rosen very soon.
This book is also commonly recommended:
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?ie=UTF8&amp;qid=1417827137&amp;sr=8-1&amp;keywords=Epp
I'm not sure what your math background is, but one of the most important success factors (in my experience) in math classes is a lot of practice. If you start working through either of those books now, you'll probably be in a good place once class starts in January.
We could also probably get a study group going on in here; I'm pretty comfortable with math, so I am happy to help out anyone else who needs help.
I enjoyed this one when I took it years ago. Can't beat the price. A Short Course in Discrete Mathematics (Dover Books on Computer Science) https://www.amazon.com/dp/0486439461/ref=cm_sw_r_cp_apa_i_xS5RDbMRWN63C
From what I've gathered, Calculus is not really involved per se in the BSCS program outside of the actual Calculus class itself.
I took Calculus through SL and just put it behind me - I did not by any means master it. In a few days I will be starting Discrete Math and the subject matter is vastly different. In fact, in the first chapter of a DM textbook I just purchased, the book goes out of the way to distinguish the difference between the two types of problem-solving. Calculus deals in terms of continuous mathematics, such as determining the rate(s) at which certain variables change, whereas Discrete Math focuses on structures that are fundamentally discrete rather than continuous.
In theory, the pre-requisites for Discrete Math (the only other 2 math courses after calculus) are algebra and pre-calculus. So, technically, by this logic alone, one should be able to understand Discrete Math without mastery of Calculus.
I would suggest just getting through it and putting it behind you as opposed to mastering it with the expectation that you will be building upon Calculus concepts later on in the program. IMO, it wouldn't hurt to master it, but I don't think it's absolutely necessary in order to complete the BSCS program with proficiency. A solid understanding of Discrete Math, however, is crucial.
For Calc 1 and 2 use Khan Academy and Professor Leonard.
Off the top of my head I would suggest Rosen's book on Discrete Math. I had to take that class twice because the first teacher used Schaums, which, as you said, isn't really a good guide. The second teacher actually assigned us Rosen, so it's clear he actually cared about our ability to learn.
Anyways, that book is fairly expensive if you buy it new, but I think I got it for > $40 used.. It has a lot more math in it besides set theory and logic, but you decide you like mathematics after those first few chapters, you'll probably enjoy the rest of the book too.
As I see it there are four kinds of books that fall into the sub $30 zone:
You can get a lot of great books if you are willing to spend a bit more however. For example, Hardy and Wright is an excellent book (and if you think about it: is a 600 page book for $60 really more expensive than a 300 page one for 30?). Richard Stanley's books on combinatorics: Enumerative Combinatorics Vol. I and Algebraic Combinatorics are also excellent choices. For algebra, Commutative Algebra by Eisenbud is great. If computer science interests you you can find commutative algebra books with an emphasis on Gröbner bases or on algorithmic number theory.
So that's a lot of suggestions, but two of them are free so you can't go wrong with those.
Catalan numbers. They count so so many things.
For discrete math I like Discrete Mathematics with Applications by Suzanna Epp.
It's my opinion, but Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers is much better structured and more in depth than How To Prove It by Velleman. If you follow everything she says, proofs will jump out at you. It's all around great intro to proofs, sets, relations.
Also, knowing some Linear Algebra is great for Multivariate Calculus.
Well, there's a video lecture series at UCCS on Discrete Mathematics (Math 2150), using "Discrete Mathematics and Its Applications" by Kenneth H. Rosen. Although they use the 7th edition of the book, you can use the 6th edition, which is much cheaper ($25 used on Amazon), covering the same topics.
You'll have to sign up, but its free, and you get access to many other math courses.
This is how I learned logic, for computer science.
First chapter of this Discrete mathematics book in my discrete math class
https://www.amazon.ca/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328
Then, using The Logic Book for a formal philosophy logic 1 course.
https://www.amazon.ca/Logic-Book-Merrie-Bergmann/product-reviews/0078038413/ref=dpx_acr_txt?showViewpoints=1
The second book was horrid on itself, luckily my professor's academic lineage goes back to Tarski. He's an amazing Professor and knows how to teach...that was a god send. Ironically, he dropped the text and I see that someone has posted his openbook project.
The first book (first chapter), is too applied I imagine for your needs. It would also only be economically feasible if well, you disregarded copyright law and got a "free" PDF of it.
Try these books(the authors will hold your hand tight while walking you through interesting math landscapes):
Discrete Mathematics with Applications by Susanna Epp
Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers
A Friendly Introduction to Number Theory Joseph Silverman
A First Course in Mathematical Analysis by David Brannan
The Foundations of Analysis: A Straightforward Introduction: Book 1 Logic, Sets and Numbers by K. G. Binmore
The Foundations of Topological Analysis: A Straightforward Introduction: Book 2 Topological Ideas by K. G. Binmore
Introductory Modern Algebra: A Historical Approach by Saul Stahl
An Introduction to Abstract Algebra VOLUME 1(very elementary)
by F. M. Hall
There is a wealth of phenomenally well-written books and as many books written by people who have no business writing math books. Also, Dover books are, as cheap as they are, usually hit or miss.
One more thing:
Suppose your chosen author sets the goal of learning a, b, c, d. Expect to be told about a and possibly c explicitly. You're expected to figure out b and d on your own. The books listed above are an exception, but still be prepared to work your ass off.
In my discrete math class, we worked from Discrete and Combinatorial Mathematics - An Applied Introduction by R. Grimaldi, which was possibly not the best book in the world, but it was good enough.
There's a well-known book by Kenneth Rosen, but I've read Kenneth Rosen before, and I suspect it's as hard to understand as his other books.
I've heard a lot of praise heaped on this book by Susanna Epp. But it's unfortunately expensive.
Most of all I want to echo Hoelt's reassurance. I don't think human brains are built to get combinatorics intuitively. It's really hard. I generally have a good intuitive grasp on most classes, but I was pretty lost in combinatorics. Don't think of yourself as bad at counting. Think of counting as something you need to work harder on before you get it. Hard work is always the key.
>My first goal is to understand the beauty that is calculus.
There are two "types" of Calculus. The one for engineers - the plug-and-chug type and the theory of Calculus called Real Analysis. If you want to see the actual beauty of the subject you might want to settle for the latter. It's rigorous and proof-based.
There are some great intros for RA:
Numbers and Functions: Steps to Analysis by Burn
A First Course in Mathematical Analysis by Brannan
Inside Calculus by Exner
Mathematical Analysis and Proof by Stirling
Yet Another Introduction to Analysis by Bryant
Mathematical Analysis: A Straightforward Approach by Binmore
Introduction to Calculus and Classical Analysis by Hijab
Analysis I by Tao
Real Analysis: A Constructive Approach by Bridger
Understanding Analysis by Abbot.
Seriously, there are just too many more of these great intros
But you need a good foundation. You need to learn the basics of math like logic, sets, relations, proofs etc.:
Learning to Reason: An Introduction to Logic, Sets, and Relations by Rodgers
Discrete Mathematics with Applications by Epp
Mathematics: A Discrete Introduction by Scheinerman
(Note: I wrote this elsewhere)
Discrete Mathematics. It teaches the basics of the following 5 key concepts in theoretical computer science:
When you master these concepts, you will see that all hairy, formal definitions boil down to functions, sets, and propositions (with quantifiers). Recursion appears in many interesting structures in computer science, as well as in proofs of theorems (which are themselves propositions).
I don't know of any good online introduction to discrete math, but here are a few book ideas.
You should be able to see the textbook that is required by looking on your MyOSU page. This was the book used when I took it last year: https://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_2?crid=3TYI2C38O2DKB&keywords=susanna+epp+discrete+mathematics+with+applications+4th+edition&qid=1568344545&sprefix=susannah+epp%2Caps%2C175&sr=8-2
I personally like Chartrand and Zhang’s Discrete Mathematic Structures.
I personally didn't find discrete maths difficult, but I know it's the big hurdle for most people. Also since my degrees were primarily in mathematics, discrete maths wasn't my first proof-based subject so my experience is very different from most people.
I certainly don't have a comprehensive background in computer science, I've only taken 4 computer science subjects in my 5 years of university education and find my training in mathematics to be highly useful for programming at work and self-study of computer science.
If you can understand and absorb the first four chapters of Discrete Mathematics with Applications (only ~200 pages and should be available in any Uni library) then you'll be well set up for most of the maths that seems to trip people up.
I would recommend these books:
https://www.amazon.ca/How-Prove-Structured-Daniel-Velleman/dp/1108439535/ref=dp_ob_title_bk
https://www.amazon.ca/Discrete-Mathematics-Applications-Susanna-Epp/dp/1337694193/ref=dp_ob_title_bk
https://www.teach.cs.toronto.edu/~csc165h/winter/resources/csc165_notes.pdf
&#x200B;
The two top books were actually recommended as guides at the time when I took CSC165 last year. The last one is the actual course notes for 165. They're all pretty intro level stuff and there is some overlap, but good resources. Yeah, I guess the best strategy would be to just read the actual course notes, then look at the others for more detail. That's the approach I used when I took 165, but I didn't have the summer before to prepare, so you've got a nice advantage.
This is the textbook we used and it was incredibly dry (and expensive). I highly recommend this book to ease you into it.
This is the book we are using for our class.
Book of proof is a more gentle introduction to proofs then How to Prove it.
&#x200B;
No bullshit guide to linear algebra is a gentle introduction to linear algebra when compared to the popular Linear Algebra Done Right.
&#x200B;
An Illustrated Theory of Numbers is a fantastic introduction book to number theory in a similar style to the popular Visual Complex Analysis.
Is the book for 225 necesary? The book store said that there were no required materials for the class but I came across this one several times Discrete Mathematics with Applications 4th Edition
Yes, the arrow is obvious when you stop to think about it, but everything becomes obvious after given enough thought. If they had used "=" it would have required slightly less thought and made it easier on the reader. What is the downside? I had no trouble reading the psuedo code, I just take issue with the useless proof ridden overly dense textbooks. You're saying that because it's possible to understand something, we should make no effort to make it easier to understand? This is where a lot of textbooks fail, in my opinion.
And just because a text is easier to understand doesn't make it dumbed down. I had a discrete math class that used this textbook:
http://www.amazon.com/Discrete-Mathematics-Computer-Scientists-Cliff/dp/0132122715/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1345561997&amp;sr=1-1&amp;keywords=discrete+math+for+computer+scientists
It was horribly dense and consisted of proof after proof with no real world examples. I could have learned from it if I so chose to, but I'd rather not spend 30 minutes parsing each page for what they are actually trying to teach me. I instead downloaded:
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_2?ie=UTF8&amp;qid=1345561973&amp;sr=8-2&amp;keywords=susanna+epp
And got a 95 in the class. Did I learn less because I used an easier textbook? I would say that I actually learned more, because it took significantly less time to learn the concepts presented, leaving me with more time to learn overall.
Nowhere is this disparity more clear than in data structures and algorithms books.
The book that really helped me prepare for CS 6505 this fall was Discrete Mathematics with Applications by Susanna Epp. I found it easy to digest and it seemed to line up well with the needed knowledge to do well in the course.
Richard Hammack's Book of Proof also proved invaluable. Because so much of your success in the class relies on your ability to do proofs, strengthening those skills in advance will help.
Usual hierarchy of what comes after what is simply artificial. They like to teach Linear Algebra before Abstract Algebra, but it doesn't mean that it is all there's to Linear Algebra especially because Linear Algebra is a part of Abstract Algebra.
Example,
Linear Algebra for freshmen: some books that talk about manipulating matrices at length.
Linear Algebra for 2nd/3rd year undergrads: Linear Algebra Done Right by Axler
Linear Algebra for grad students(aka overkill): Advanced Linear Algebra by Roman
Basically, math is all interconnected and it doesn't matter where exactly you enter it.
Coming in cold might be a bit of a shocker, so studying up on foundational stuff before plunging into modern math is probably great.
Books you might like:
Discrete Mathematics with Applications by Susanna Epp
Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers
Building Proofs: A Practical Guide by Oliveira/Stewart
Book Of Proof by Hammack
Mathematical Proofs: A Transition to Advanced Mathematics by Chartrand et al
How to Prove It: A Structured Approach by Velleman
The Nuts and Bolts of Proofs by Antonella Cupillary
How To Think About Analysis by Alcock
Principles and Techniques in Combinatorics by Khee-Meng Koh , Chuan Chong Chen
The Probability Tutoring Book: An Intuitive Course for Engineers and Scientists (and Everyone Else!) by Carol Ash
Problems and Proofs in Numbers and Algebra by Millman et al
Theorems, Corollaries, Lemmas, and Methods of Proof by Rossi
Mathematical Concepts by Jost - can't wait to start reading this
Proof Patterns by Joshi
...and about a billion other books like that I can't remember right now.
Good Luck.
Course Name: Discrete Structures
Course Link: http://uncw.edu/csc/courses-133.html
Text Book: http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1289513076&amp;sr=1-1
Comments: It wasn't that book when I was there back in the 90's though. We were using a book written by a UNC-W professor and published in-house. But I took another course later, using the 3rd edition of the Susanna Epp book, and I have to say, I prefer Epp's book. But holy fuck would you look at the price for the current edition? WTF?!??
Also, Dr. Berman is nice enough, but is one of the most boring professors ever born... talk about the stereotypical dry, boring, dull, monotone delivery... this guy has it perfected.
Rosen's Discrete Mathematics and Its Applications is the classic (which I haven't read), but if you want to avoid spending yet another $130 on a text, you might want to check out the Schaum's Outline of Discrete Math.
I have a few quibbles with the organization of the Schaum's. (I see no reason, for instance, why relations should be taught before Propositional Calculus and Boolean Algebra.) But it's a good resource, especially if you cover up the answers to the solved problems so you can get instant feedback on how well you understand the concepts.
But as a general rule, I wouldn't worry too much about Amazon ratings of textbooks. A lot of the ratings come from disgruntled students who hated the class, hated the teacher, and take their frustrations out on the textbook. You have to take these with a grain of salt.
Which text book are you using? I'm going to be working through this one after calculus is over with.
Ebay. You have to be careful you're getting the right edition, though.
Here's an international paperback version of a 4th Edition book (about $50 includes shipping) that has a very different cover from the U.S. 4th Edition of the same book (about $270 on Amazon).
The book is incredibly good, it's really very well written, so I'm glad the author got paid their share for my purchase but at $270 there's no way I was going to buy the book for full price. I'd have gone without the book and just googled the topics every week, at that price.
I've started with this course, then I dropped because it touches on things too superficially and there are very few exercises. I find that I learn best doing exercises so I picked up a book (different from the on on the website).
The book which most seem to agree is great for self-study of Discrete Math is Discrete mathematics with applications by Susanna S. Epps. There is a similar book with a similar name - Dicrete Mathematics and its Applications by Rosen - but a lot of people seem to dislike this book. They're frustrated with the fact that proofs are not well explained and the book doesn't prepare the reader for the exercises.
Discrete math gives you a good foundation for learning higher math.
This one is a good book:
Discrete Mathematics with Applications by Susanna Epp.
It deals with logic, sets, relations, counting, proofs etc...you know the stuff you need in higher math. Seeing as you're a CS student, I am guessing Discrete Math would be much more important to you than Calculus.
For discrete mathematics you could check out this. It's closest to a "For Dummies" book on the subject that I can think of.
I'm finishing up a discrete math course using Susanna Epp's textbook, and while it's pretty good, I just see it as a preparation for Concrete Mathematics.
As a side note, I never know how to go about math in how it relates to my major. It takes a lot of effort on my part to really learn the concepts in depth, and I have a hard time justifying that kind of investment before I really know what I'm eventually going to do for work.
The easiest one that I know of is the one by Epp. She doesn't go into the history as much, but her writing style is extremely easy on the brain.
The only "math" you don't learn in secondary education that I would say is truly important to all students of computer science is discrete mathematics. One of my old instructors told me he was trying to get permission to use Discrete Mathematics With Ducks in his curriculum. I flipped through it, it seemed like a pretty good discrete math book, but maybe only if you already had some basic understanding. The more traditional choice might be a better option, but it's much drier.
Every other field of math that has applications in computer science has a narrower breadth of use than discrete mathematics, in my opinion. Learning discrete math well will probably do you more good than learning lots of subjects poorly.
You need Susanna Epp's Discrete Math. Her stuff can be ever so slightly rough at certain spots, but absolutely phenomenal everywhere else. But there's Book of Proof by Richard Hammack[FREE] to help you overcome these difficulties.
For a slightly different take on essentially the same material you could also try Mathematics: A Discrete Introduction by Scheinerman. Also a very gentle book.
Maybe you should use all of that free time of yours to look at some CS theory then :)
Can you get Discrete Mathematics with Applications https://www.amazon.com/dp/0495391328/ref=cm_sw_r_cp_apa_i_lf2vCbG0MVRXJ
What do you want to do, though? Is your goal to read math textbooks and later, maybe, math papers or is it for science/engineering? If it's the former, I'd simply ditch all that calc business and get started with "actual" math. There are about a million books designed to get you in the game. For one, try Book of Proof by Richard Hammack. It's free and designed to get your feet wet. Mathematical Proofs: A Transition to Advanced Mathematics by Chartrand/Polimeni/Zhang is my favorite when it comes to books of this kind. You'll also pick up a lot of math from Discrete Math by Susanna Epp. These books assume no math background and will give you the coveted "math maturity".
There is also absolutely no shortage of subject books that will nurse you into maturity. For example, check out [The Real Analysis Lifesaver: All the Tools You Need to Understand Proofs by Grinberg](https://www.amazon.com/Real-Analysis-Lifesaver-Understand-Princeton/dp/0691172935/ref=sr_1_1?ie=UTF8&amp;qid=1486754571&amp;sr=8-1&amp;keywords=real+analysis+lifesaver() and Book of Abstract Algebra by Pinter. There's also Linear Algebra by Singh. It's roughly at the level of more famous LADR by Axler, but doesn't require you have done time with lower level LA book first. The reason I recommend this book is because every theorem/lemma/proposition is illustrated with a concrete example. Sort of uncommon in a proof based math book. Its only drawback is its solution manual. Some of its proofs are sloppy, messy. But there's mathstackexchange for that. In short, every subject of math has dozens and dozens of intro books designed to be as gentle as possible. Heck, these days even grad level subjects are ungrad-ized: The Lebesgue Integral for Undergraduates by Johnson. I am sure there are such books even on subjects like differential geometry and algebraic geometry. Basically, you have choice. Good Luck!
First, to get a sense as to the world of math and what it encompasses, and what different sub-subjects are about, watch this: https://www.youtube.com/watch?v=OmJ-4B-mS-Y
Ok, now that's out of the way -- I'd recommend doing some grunt work, and have a basic working knowledge of algebra + calculus. My wife found this book useful to do just that after having been out of university for a while: https://www.amazon.com/No-bullshit-guide-math-physics/dp/0992001005
At this point, you can tackle most subjects brought up from first video without issue -- just find a good introductory book! One that I recommend that is more on computer science end of things is a discrete math
book.
https://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025
And understanding proofs is important: https://www.amazon.com/Book-Proof-Richard-Hammack/dp/0989472108
All the books listed can be found on libgen.io
If interest is theoretical mathematics:
Become adept at writing proofs.
I recommend
https://www.amazon.com/Discrete-Transition-Advanced-Mathematics-Undergraduate/dp/0821847899
Do some exercises in the first chapter, and go around the book doing whatever is of interest. I suggest learning about proofs/truth tables, functions, infinite sets, and number theory. This book will have chapters approaching all of these.
After this, you have some choice. I would take a beginners book in any of the following fields
Abstract algebra: https://www.amazon.com/Book-Abstract-Algebra-Second-Mathematics/dp/0486474178
Linear algebra: Linear Algebra Done Right by axler
Analysis: foundations of mathematical analysis by rudin (this will be hard but don’t be afraid!)
Approach each of these books slowly. Do not rush. Self-studying math is HARD. You might only get through 3 pages in a week, but I guarantee that you will get the ropes, and a few weeks later, look back and wonder how it was difficult at all.
In making the choice of what to study first, go to the subjects Wikipedia page or google “should I study x or y first” and you’ll likely find good resources
There's this, The Book of Proof https://smile.amazon.com/dp/0989472108/ref=cm_sw_r_cp_awdb_t1_jW04BbNE8ZA19
For compsci you need to study tons and tons and tons of discrete math. That means you don't need much of analysis business(too continuous). Instead you want to study combinatorics, graph theory, number theory, abstract algebra and the like.
Intro to math language(several of several million existing books on the topic). You want to study several books because what's overlooked by one author will be covered by another:
Discrete Mathematics with Applications by Susanna Epp
Mathematical Proofs: A Transition to Advanced Mathematics by Gary Chartrand, Albert D. Polimeni, Ping Zhang
Learning to Reason: An Introduction to Logic, Sets, and Relations by Nancy Rodgers
Numbers and Proofs by Allenby
Mathematics: A Discrete Introduction by Edward Scheinerman
How to Prove It: A Structured Approach by Daniel Velleman
Theorems, Corollaries, Lemmas, and Methods of Proof by Richard Rossi
Some special topics(elementary treatment):
Rings, Fields and Groups: An Introduction to Abstract Algebra by R. B. J. T. Allenby
A Friendly Introduction to Number Theory Joseph Silverman
Elements of Number Theory by John Stillwell
A Primer in Combinatorics by Kheyfits
Counting by Khee Meng Koh
Combinatorics: A Guided Tour by David Mazur
Just a nice bunch of related books great to have read:
generatingfunctionology by Herbert Wilf
The Concrete Tetrahedron: Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates by by Manuel Kauers, Peter Paule
A = B by Marko Petkovsek, Herbert S Wilf, Doron Zeilberger
If you wanna do graphics stuff, you wanna do some applied Linear Algebra:
Linear Algebra by Allenby
Linear Algebra Through Geometry by Thomas Banchoff, John Wermer
Linear Algebra by Richard Bronson, Gabriel B. Costa, John T. Saccoman
Best of Luck.
Here ya go: https://www.amazon.com/Book-Proof-Richard-Hammack/dp/0989472108/ref=sr_1_1?ie=UTF8&amp;qid=1500351882&amp;sr=8-1&amp;keywords=the+book+of+proof
Don't skip proofs and wrestle through them. That's the only way; to struggle. Learning mathematics is generally a bit of a fight.
It's also true that computation theory is essentially all proofs. (Specifically, constructive proofs by contradiction).
You could try a book like this: https://www.amazon.com/Book-Proof-Richard-Hammack/dp/0989472108/ref=sr_1_1?ie=UTF8&amp;qid=1537570440&amp;sr=8-1&amp;keywords=book+of+proof
But I think these books won't really make you proficient, just more familiar with the basics. To become proficient, you should write proofs in a proper rigorous setting for proper material.
Sheldon Axler's "Linear Algebra Done Right" is really what taught me to properly do a proof. Also, I'm sure you don't really understand Linear Algebra, as will become very apparent if you read his book. I believe it's also targeted towards students who have seen linear algebra in an applied setting, but never rigorous and are new to proof-writing. That is, it's meant just for people like you.
The book will surely benefit you in time. Both in better understanding linear algebra and computer science classics like isomorphisms and in becoming proficient at reading/understanding a mathematical texts and writing proofs to show it.
I strongly recommend the second addition over the third addition. You can also find a solutions PDF for it online. Try Library Genesis. You don't need to read the entire book, just the first half and you should be well-prepared.
> How do you think I'll struggle?
The reason I think you'll struggle is because you can't reverse engineer grad school exams, assuming your program is a decent stats program. You have to be more open to learning more when you need to learn it, whether it be for school or for your professional life. (Yes, I do learn in my full-time job. I've learned around 4-5 different programming languages in the two years I've been in this job.)
One thing I should emphasize is that although you did well in Statistical Methods, the grad-school version of this (in my experience) is much more theoretical and proof-oriented. I got an A in the grad-school version, but it was by no means an easy A, and I tutored the calculus-based probability and statistics material for about 3 years in my undergrad. The class definitely put me on edge at times.
> Any tips to study technique? Should I really never look up any solution? Even if it takes weeks to solve a problem? I don't think my University has any introduction to proof courses, I think you just have to know proof or learn it on your own.
Get your hands on a Discrete Mathematics book - my favorite one is the text by Epp (see https://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1503020282&amp;sr=1-1&amp;keywords=discrete+mathematics+with+applications). You can read the index of this to get an idea of what it covers. But basically, Discrete Math goes through the logic of how a proof is constructed to guide you through proofs.
> Any tips on that? Never taken notes before, except for in lectures to not fall asleep, but I never look back on the notes I take.
Notes are essential. Our minds only have a finite amount of memory space, and we forget things. You need to take notes with the mindset that you'll probably be using this stuff later, and if you need to re-learn it again, you can read your notes and brush up on it. In my case, I've kept all of my grad school notes.
You could try Book of Proof by Richard Hammack. I've never read Velleman so I can't directly compare, but it's free for pdf (link to author's site above) and quite cheap in paperback (~$15). I found the explanations quite clear, the examples well worked and the exercises plentiful and helpful. Amazon reviewers seem to like it as well.
Wow. That's quite a range - normally those would be covered in two, three, or even four courses. Any wonder the pass rate is so low.
It's difficult to recommend anything sensible for the whole course - I'd have suggested Rosen - I have found it somewhat useful as a reference text later on - but it seems to be unpopular with amazon reviewers. For the latter part (finite-state machines etc), Sipser is a common course textbook - but it may be too advanced for a starting point (though might be worth getting so you can get ahead before you get to that part of the course, which will almost certainly be the trickiest).
Wonder no more. These things were as common as scientific calculators are now.
new 2011 32nd ed. $65
http://www.amazon.com/Standard-Mathematical-Formulae-Mathematics-Applications/dp/1439835489
used 27th ed. $2
http://www.amazon.com/Standard-Mathematical-Formulae-Mathematics-Applications/dp/0849306272
Lots of editions available, at basically every major bookseller, including amazon.
u/emiliaslarke My undergrad used “The Book of Proof” in our transition to upper level math class Book of Proof https://www.amazon.com/dp/0989472108/ref=cm_sw_r_cp_api_i_YBEUDbF7NREFN
Its not too hard, is cheap, and gives a good preview
I recommend buying the teacher’s edition of the textbook. It’s been a few years since I taken the class but back when I took it the teachers edition was like 15 bucks on amazon vs way more for the regular edition. The answers to the practice problems in the teachers edition are way more in depth than the answers in the back of the regular edition and really and helped me understand where I was making mistakes without having to wait for hw grades to come in. Even if it’s an earlier edition, the content is probably almost identically but the chapters may be out of order.
I just checked Amazon and couldn’t find the full teacher’s edition but here’s another resource that’s pretty much just as good. I think the only difference is that it has the odd numbered problems answered rather than the even. https://www.amazon.com/dp/0073107816/ref=cm_sw_r_cp_api_i_XmyTDb8AH53W2
Thank you. I really want to go into the 'Curse the entire field of CS and maths' level. This is the book I was suggested via PM. I'll try the first approach you suggest, then I'll scale up since we are a small group of people trying to learn together so I think that a couple of heads tackling into a problem might solve it.
Logic, Number theory, Graph Theory and Algebra are all too much for you to handle on your own without first learning the basics. In fact, most of those books will probably expect you to have some mathematical maturity (that is, reading and writing proofs).
I don't know how theoretical your CS program is going to be, but I would recommend working on your discrete math, basic set theory and logic.
This book will teach you how to write proofs, basic logic and set theory that you will need: http://www.amazon.com/How-Prove-It-Structured-Approach/dp/0521675995
I can't really recommend a good Discrete Math textbook as most of them are "meh", and "How to Prove It" does contain a lot of the material usually taught in a Discrete Math course. The extra topics you will find in discrete maths books is: basic probability, some graph theory, some number theory and combinatorics, and in some books even some basic algebra and algorithm analysis. If I were you I would focus mostly on the combinatorics and probability.
Anyway, here's a list of discrete math books. Pick the one you like the most judging from the reviews:
Don't bother trying to learn too much too soon, as you really do need to let time for the math to sink in.
Well, skinnypenis420,
It's hard to study math on your own--it's not as fun as programming or whatnot, and especially not so when you're doing not-so-interesting high school/freshman-level mathematics. And especially when you're not really sure how to even study mathematics on your own--a skill that takes a long time to develop!
I'd say doing something like https://www.amazon.com/Book-Proof-Richard-Hammack/dp/0989472108/ would be a summer well spent. It's a short book and not very difficult. But it will probably be entirely new to you and it's a very important skill set and, most of all, it's realistic for you to study it yourself.
The Book of Proof was such a great book, I bought a copy that I regularly refer back to. It's full of worked examples, exercises, and explanations. This should be on the bookshelf of every undergrad.
Intro to Discrete Math will ease you into Abstract Algebra. I find this book by Susanna Epp phenomenal for that.