Reddit mentions: The best discrete mathematics books
We found 108 Reddit comments discussing the best discrete mathematics books. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 21 products and ranked them based on the amount of positive reactions they received. Here are the top 20.
1. Discrete Mathematics with Applications
- an elementary college textbook for students of math, engineering and the sciences in general
Features:
Specs:
Height | 10 Inches |
Length | 8 Inches |
Weight | 4.05 pounds |
Width | 1.55 Inches |
Number of items | 1 |
2. Book of Proof
Specs:
Height | 9.99998 Inches |
Length | 7.00786 Inches |
Weight | 1.25002102554 Pounds |
Width | 0.6570853 Inches |
Number of items | 1 |
3. Discrete Mathematics and Its Applications
- Ultra-compact karaoke/voice processor for podcast, studio and stage applications
- Revolutionary Voice Canceller—effectively eliminates vocals from any stereo source while retaining most music elements
- Integrated digital echo/reverb processor for ultimate vocal enhancement
- 2 independent mic channels with Level controls and Clip indicators for perfect level adjustment
- Dedicated 2-band EQ for awesome vocal enhancement and sound shaping
Features:
Specs:
Height | 10.5 Inches |
Length | 8.8 Inches |
Weight | 4.72009702942 Pounds |
Width | 1.6 Inches |
Number of items | 1 |
4. Introduction to the Theory of Computation. Michael Sipser
- Cengage Learning
Features:
Specs:
Height | 9.21258 Inches |
Length | 6.45668 Inches |
Weight | 1.35804753392 Pounds |
Width | 0.86614 Inches |
Number of items | 1 |
5. Discrete Mathematics and Its Applications
Specs:
Height | 10.6 Inches |
Length | 8.8 Inches |
Weight | 4.79946344374 Pounds |
Width | 1.55 Inches |
6. Discrete Mathematics with Applications
Specs:
Height | 10.1 Inches |
Length | 8.1 Inches |
Weight | 4.4 Pounds |
Width | 1.7 Inches |
Release date | January 2019 |
Number of items | 1 |
7. A Short Course in Discrete Mathematics (Dover Books on Computer Science)
Specs:
Height | 9.2 Inches |
Length | 6.1 Inches |
Weight | 0.70988848364 Pounds |
Width | 0.6 Inches |
Release date | December 2004 |
Number of items | 1 |
8. Discrete Mathematics and Functional Programming
Specs:
Weight | 2.6896395964 Pounds |
Number of items | 1 |
9. Catalan Numbers
Specs:
Height | 9 Inches |
Length | 6 Inches |
Weight | 0.7054792384 Pounds |
Width | 0.51 Inches |
Release date | March 2015 |
Number of items | 1 |
10. Discrete Mathematics and Its Applications International Version
- Use it to weigh your mail with digital accuracy and apply your own postage. Note: scale does not connect to a computer and is battery operated (batteries not included)
- Digital Measurement Reduces Risk of Using Incorrect Postage
- Tare Function Weighs Container Contents
- Easy to Read LCD Display
- Sleek, Compact - needs less than 6" x 9" of desk space
- Uses (1) 9V Battery (Not Included)
- Auto Shutoff Conserves Battery
- Indicates Ounces and Grams
Features:
Specs:
Height | 0 Inches |
Length | 0 Inches |
Width | 0 Inches |
Number of items | 1 |
11. Discrete Mathematics, Student Solutions Manual: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games
- No barware collection can be without a muddle, crush up fruit, herbs and spices like a pro with this essential tool
- Make your favourite cocktails: Whether you are bruising mint for a Mojitoorcrushing lime for a Caipirinha - this tool is the key
- Non-slip handle: Crush, muddle and mash in total comfort and control with It's rounded, soft touch handle
- Professional quality: A silicone head stops it scratching shakers and glasses, while It's rust-resistant stainless steel body is robust
- Dishwasher safe, Twelve month manufacturers guarantee
Features:
Specs:
Height | 9.700768 Inches |
Length | 7.700772 Inches |
Weight | 0.59083886216 Pounds |
Width | 0.499999 Inches |
Number of items | 1 |
12. Student's Solutions Guide to accompany Discrete Mathematics and Its Applications
Specs:
Height | 10.8 Inches |
Length | 8.6 Inches |
Weight | 2.42 Pounds |
Width | 0.78 Inches |
Number of items | 1 |
13. Discrete Mathematics: Introduction to Mathematical Reasoning
Used Book in Good Condition
Specs:
Height | 10 inches |
Length | 8.25 inches |
Weight | 2.86 Pounds |
Width | 1 inches |
Number of items | 1 |
14. Discrete Mathematics and Its Applications, Global Edition
- Now kids can take home the excitement of the WWE and its ultimate badge of honor -the WWE World Heavyweight Championship!
- This trophy item comes with authentic styling, sleek metallic medallions, a leather-like belt and a one-time adjustable feature to fit around the waist of any child eight years or older!
- Each championship is designed to resemble the ones worn and proudly flaunted by your favorite WWE Superstars.
- Choose from a wide variety of the most famous titles, like the WWE World Heavyweight Championship, the United States Championship, the WWE Tag Team Championship, the WWE Intercontinental Championship and the Million Dollar Championship!
- Kids will love wearing the championships that celebrate the top Superstars and honor their distinction as the very best.
- Strap on the large victory championship and feel like a WWE Superstar.
- Wave it around or fling it over your shoulders like the Superstars do in the ring and feel the thrills and power of being the best!
- Each sold separately, subject to availability.
- Colors and decorations may vary.
Features:
15. A Discrete Transition to Advanced Mathematics (Pure and Applied Undergraduate Texts)
Used Book in Good Condition
Specs:
Height | 9 Inches |
Length | 7.25 Inches |
Weight | 1.6 Pounds |
Width | 0.75 Inches |
Number of items | 1 |
16. Schaum's Outline of Discrete Mathematics, Revised Third Edition (Schaum's Outlines)
- McGraw-Hill
Features:
Specs:
Height | 10.88 Inches |
Length | 8.13 Inches |
Weight | 1.65567158762 Pounds |
Width | 1.14 Inches |
Release date | September 2009 |
Number of items | 1 |
17. Instructor's Resource Guide to accompany Discrete Mathematics and Its Applications - Sixth Edition
- Convenient eggshell remover: this egg topper cutter can easily cut off the top of the eggshell so you can make a special egg dish.
- For different size of eggs: The diameter of the cup is 1.37 inch which is suitable for most egg size.
- This egg topper can be used on soft boiled, hard boiled or raw eggs. Make eating boiled eggs more easier.
- Compact and space safe: this 4.3*1.2 inch egg opener is very portable and easy to storage.
- Simple operation: Just align the cup on egg top, pull up the small hammer and let it go, the top eggshell will be removable.
Features:
Specs:
Weight | 2.25 Pounds |
Number of items | 1 |
18. Discrete Mathematics
- Used Book in Good Condition
Features:
Specs:
Height | 10 Inches |
Length | 8 Inches |
Weight | 3.35 Pounds |
Width | 1.5 Inches |
Number of items | 1 |
19. Discrete Mathematics
- Strahman - Mini M-70 - Mini Insulated Spray Down Nozzle
- Mini Insulated Spray Down Nozzle
- Strahman Valves
- Mini M-70
Features:
Specs:
Release date | November 2013 |
20. CRC Standard Mathematical Tables and Formulae, 27th Edition (Discrete Mathematics and Its Applications)
- Pro Tapes Premium Fluorescent Gaffers Tape (Pro-Gaff-Neon) offers a huge variety of applications in the entertainment, production and convention industries. Fluorescent colors of Pro-Gaff-Neon tape glow vividly under blacklight; however please note this is not a glow-in-the-dark tape. The 1/2 inch wide special order size gaffer is also referred to as spike tape.
- It's a matte cloth tape with a rubber-based adhesive system that's highly conformable to irregular surfaces and cleanly removes with no residue. Additionally, this neon gaff tape is designed for easy use with a controlled unwind and a hand-tearable surface.
- Because it features a waterproof, abrasion-resistant construction, this fluorescent gaffers tape is ideal for a wide range of applications, including as high-visibility tape for marking stairs, exits, sets, and hazards.
- Engineered for demanding applications such as wire and carpet hold down, gaffing lights, spiking, color coding, marking boxes, stage and set decoration, splicing floors and bundling wires.
- Carrier/Backing: vinyl-coated cloth. Adhesive: synthetic rubber resin. Thickness: 11 mils (carrier, adhesive). Adhesion: 80 ounces per inch (to stainless steel test panel). Tensile Strength: 50 pounds per inch (longitudinal). Service/Operating Temperature: 50F to 200F. Elongation: 5%. Core: 3-inch diameter.
Features:
Specs:
Height | 1.49606 Inches |
Length | 19.99996 Inches |
Weight | 1.84967837818 Pounds |
Width | 19.01571 Inches |
Number of items | 1 |
🎓 Reddit experts on discrete mathematics books
The comments and opinions expressed on this page are written exclusively by redditors. To provide you with the most relevant data, we sourced opinions from the most knowledgeable Reddit users based the total number of upvotes and downvotes received across comments on subreddits where discrete mathematics books are discussed. For your reference and for the sake of transparency, here are the specialists whose opinions mattered the most in our ranking.
It depends on what you already know.
​
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).
​
If you do have prior programming experience, you have all sorts of options:
​
Regardless of whether or not you have programmed before, I would also recommend doing the following:
​
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.
​
Good luck!
> 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.
It's less math intensive in the sense that you won't be solving calculus problems very often (or at all), but there are classes where a (basic) understanding of calculus will be helpful. For instance, I just completed algorithms and was pretty glad that I had taken Calculus. Knowing a lot about limits and knowing L'Hopital's rule made parts of asymptotic analysis a lot more intuitive than it otherwise would have been.
With that said, discrete math (which you'll cover in CS 225) is a pretty big part of the program and computer science as a whole. You'll serve yourself well by getting a solid understanding of discrete math--even in classes where it's not an explicit requirement.
To give an example, in CS 344 (operating systems), there was an assignment where we had to build a pretty simple dungeon-crawler game where a player moved through a series of rooms. Each time the player played the game, there needed to be a new random dungeon, and the connections between rooms needed to be two-way. Calculus isn't really going to help you solve this problem, but if you're good with discrete math, you'll quickly realize that this sort of problem can easily be solved with a graph. Further, you can represent the graph as a 2D array, and at that point the implementation becomes pretty easy.
So, there is math in the program, but not the type that you've probably been doing throughout your academic career. Discrete math comes naturally to some, and it's really difficult for others. I'd recommend picking up this book (which is used in the program) whenever you get a chance:
https://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328
I'm almost done with the program, but I've been returning to that a lot to review concepts we covered in class and to learn new stuff that we didn't have time for in the term. It's a great book.
Good luck!
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.
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.
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]
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.
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
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&qid=1537570440&sr=8-1&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.
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.
As I'm studying for my discrete mathematics exam, I came across the following profile in my textbook:
> RAYMOND SMULLYAN (BORN 1919)
> Raymond Smullyan dropped out of high school. He wanted to study what he was really interested in and not standard high school material. After jumping from one university to the next, he earned an undergraduate degree in mathematics at the University of Chicago in 1955. He paid his college expenses by performing magic tricks at parties and clubs. He obtained a Ph.D. in logic in 1959 at Princeton, studying under Alonzo Church. After graduating from Princeton, he taught mathematics and logic at Dartmouth College, Princeton University, Yeshiva University, and the City University of New York. He joined the philosophy department at Indiana University in 1981 where he is now an emeritus professor.
> Smullyan has written many books on recreational logic and mathematics, including Satan, Cantor, and Infinity; What Is the Name of This Book?; The Lady or the Tiger?; Alice in Puzzleland; To Mock a Mockingbird; Forever Undecided; and The Riddle of Scheherazade: Amazing Logic Puzzles, Ancient and Modern. Because his logic puzzles are challenging, entertaining, and thought-provoking, he is considered to be a modern-day Lewis Carroll. Smullyan has also written advanced books on mathematical logic and set theory. He is particularly interested in self-reference and has worked on extending some of Gödel's results that show that it is impossible to write a computer program that can solve all mathematical problems. He is also particularly interested in explaining ideas from mathematical logic to the public.
> Smullyan is a talented musician and often plays piano with his wife, who is a concert-level pianist. Making telescopes is one of his hobbies. He is also interested in optics and stereo photography. He states “I've never had a conflict between teaching and research as some peopled do because when I'm teaching, I'm doing research.”
It's not every day you come across a magician, mathematician, logician, philosopher and musician who makes telescopes in his spare time. Naturally I spent the past hour watching his YouTube videos, as any good student would.
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&ie=UTF8&qid=1368125024&sr=1-1&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&ie=UTF8&qid=1368124871&sr=1-1&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&ie=UTF8&qid=1368124871&sr=1-2&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...
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
​
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.
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&qid=1486754571&sr=8-1&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!
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.
(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.
>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
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).
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.
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.
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.
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.
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.
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...
The exercises in Spivak’s Calculus (amzn) are the best part of the book.
/u/WelpMathFanatic You’ll probably have a better (more efficient, more enjoyable) time if you take a course, or otherwise find someone to help you face to face. But if you’re studying by yourself you might want to look at a book about writing proofs, such as Velleman’s [How to Prove It](https://amzn.com/0521675995) or Hammack’s [Book of Proof*](https://amzn.com/0989472108). (Disclaimer: I haven’t read either of these.)
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.
Book of proof is a more gentle introduction to proofs then How to Prove it.
​
No bullshit guide to linear algebra is a gentle introduction to linear algebra when compared to the popular Linear Algebra Done Right.
​
An Illustrated Theory of Numbers is a fantastic introduction book to number theory in a similar style to the popular Visual Complex Analysis.
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.
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!
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).
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.
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.
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
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
> 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&ie=UTF8&qid=1503020282&sr=1-1&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.
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
I'd recommend these two for discrete mathematics, I used them during my time in university and they were pretty helpful
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(?)
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!
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
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.
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 :)
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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
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.
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 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.
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.
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
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
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
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
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.
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
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.
I personally like Chartrand and Zhang’s Discrete Mathematic Structures.
Intro to Discrete Math will ease you into Abstract Algebra. I find this book by Susanna Epp phenomenal for that.
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.
Catalan numbers. They count so so many things.
http://www.amazon.com/Discrete-Mathematics-Applications-Susanna-Epp/dp/0495391328 is one of my math books. The bookstore wants $350 for it.
For discrete mathematics you could check out this. It's closest to a "For Dummies" book on the subject that I can think of.
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
Can you get Discrete Mathematics with Applications https://www.amazon.com/dp/0495391328/ref=cm_sw_r_cp_apa_i_lf2vCbG0MVRXJ
There's this, The Book of Proof https://smile.amazon.com/dp/0989472108/ref=cm_sw_r_cp_awdb_t1_jW04BbNE8ZA19
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
This is the book we are using for our class.
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
Which text book are you using? I'm going to be working through this one after calculus is over with.
For Calc 1 and 2 use Khan Academy and Professor Leonard.
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.
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
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.
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.
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.
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.
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.