Math for Computer Science
HTML-код
- Опубликовано: 18 окт 2024
- In this video I will show you a very good book on discrete math. This book has lots of the math that you need for computer science. It also has full solutions to every single problem. The book is titled Concrete Mathematics and it was written by Graham, Knuth, Patashnik.
Here is the book: amzn.to/3W58GFO
The Book by Epp: amzn.to/3VT1LzY
The Book by Kolman, et al: amzn.to/3FL7Dpk
Here it is amzn.to/3hh20pk
Useful Math Supplies amzn.to/3Y5TGcv
My Recording Gear amzn.to/3BFvcxp
(these are my affiliate links)
**********Math, Physics, and Computer Science Books**********
Epic Math Book List amzn.to/3F98vT1
Pre-algebra, Algebra, and Geometry amzn.to/3FdbwSn
College Algebra, Precalculus, and Trigonometry amzn.to/3UKjvfb
Probability and Statistics amzn.to/3FaaxCq
Discrete Mathematics amzn.to/3P6jPE4
Proof Writing amzn.to/3XXukxo
Calculus amzn.to/3iEH3F3
Differential Equations Books amzn.to/3Fac5wi
Partial Differential Equations Books amzn.to/3uyk1SV
Linear Algebra amzn.to/3VHiN3G
Abstract Algebra Books amzn.to/3FzLZEr
Real Analysis/Advanced Calculus amzn.to/3VIO4Ua
Complex Analysis amzn.to/3P6kbuo
Number Theory amzn.to/3UEm3vw
Graph Theory amzn.to/3BfRd5m
Topology amzn.to/3BiAGhe
Graduate Level Books amzn.to/3uv1eIg
Computer Science amzn.to/3Hh8kaU
Physics amzn.to/3BhPCMp
These are my affiliate links. As an Amazon Associate I earn from qualifying purchases.
If you enjoyed this video please consider liking, sharing, and subscribing.
Udemy Courses Via My Website: mathsorcerer.com
Free Homework Help : mathsorcererfo...
My FaceBook Page: / themathsorcerer
There are several ways that you can help support my channel:)
Consider becoming a member of the channel: / @themathsorcerer
My GoFundMe Page: www.gofundme.c...
My Patreon Page: / themathsorcerer
Donate via PayPal: paypal.com/don...
***********Udemy Courses(Please Use These Links If You Sign Up!)************
Abstract Algebra Course
www.udemy.com/...
Advanced Calculus Course
www.udemy.com/...
Calculus 1 Course
www.udemy.com/...
Calculus 2 Course
www.udemy.com/...
Calculus 3 Course
www.udemy.com/...
Calculus 1 Lectures with Assignments and a Final Exam
www.udemy.com/...
Calculus Integration Insanity
www.udemy.com/...
Differential Equations Course
www.udemy.com/...
Differential Equations Lectures Course (Includes Assignments + Final Exam)
www.udemy.com/...
College Algebra Course
www.udemy.com/...
How to Write Proofs with Sets Course
www.udemy.com/...
How to Write Proofs with Functions Course
www.udemy.com/...
Trigonometry 1 Course
www.udemy.com/...
Trigonometry 2 Course
www.udemy.com/...
Statistics with StatCrunch Course
www.udemy.com/...
Math Graduate Programs, Applying, Advice, Motivation
www.udemy.com/...
Daily Devotionals for Motivation with The Math Sorcerer
www.udemy.com/...
Thank you:)
Applied Math Major here! I thought I was crazy for having a whole book shelf full of math books and computer science books haha. Love your content!
That is awesome!
Applied Mathematician here. You think you've got books now. Wait until you graduate. I graduated back in 2005 and since then I haven't stopped buying Math, CS, Physics, and Engineering books. I grab them whenever and where ever I trip over them. Math Sorcerer has just given me some new targets to go after. Happy hunting, brother.
Hahaha in my case I collect control theory books at least I’m not only one
@@demongeminix which CS books you would recommend?
@@UberBossPure As far as specific languages go, it's hard to recommend one over any other. Once you know the language, any intro book is gonna be an easy read. However, I can tell you that I've never liked the Deitel books, but that's just my opinion. You'll need some kind of Data Structures and Algorithms book. Try to find one in your language(s) of choice. Mine are all in C/C++. I can just adjust the content for the other languages I've picked up along the way (Java, Python, R, Rust, and a little GoLang). Beyond that you can use the Discrete Math book that the Prof recommended here, but there's also the one by Grimaldi (better for Math) and I have another one by Rosen (better for CS). If you wanna go down the rabbit hole with Organization and Architecture, then Structured Computer Organization by Tannenbaum, and Computer Systems by Gibson (which I think is out of print) are the ones I own. They have a lot of good information in them. I can't advise you on Compilers or Operating Systems design (just don't have any... yet), and I'm not entirely sure on the book I've got on Machine States. It's a really really tough read and sometimes it feels like it's not going anywhere important... just like the class I used it in. You can go with classics like Refactoring, Design Patterns, Pattern Hatching, Clean Code, The Pragmatic Programmer, and Code Complete, however, a lot of people nowadays are saying these books are obsolete... but then again, I got something from all of them back in the day. What exactly are you looking for?
What a great book! I recall using it for a hellish discrete math course back when I did my bachelors.
Don Knuth is also famous for "The Art of Computer Programming", which is like the bible for computer science. Highly recommended!
He already reviewed those. Check his videos around 2 months ago (he mentions that at 4:16)
Then show us all this amazing stuff you've made with all of this knowledge you have and let's see if it did you any good.
I’ve come to the conclusion that working through TAOCP is a massive waste of personal resources in today’s world, since the lower-level concepts discussed and applied there are almost never needed anymore. It can be useful as a reference though, but even then there are usually better, newer, sources.
Thanks for the tip Entomon
@@vaolin1703 I strongly disagree. It doesn’t have to be the only thing you read, but there’s a lot to gain from working through any number of pages.
Solutions to ALL the problems?
I already love it.
I am a Computer Science teacher with Masters in Physics, your videos have forced to buy some books and re-study Maths, just for the fun of it. Prof. Knuth is almost a God-like personality and a book from him in Mathematics must be a Bible. Will try to have it in my personal library.
I cant believe I was just thinking about what would be the necesarry math for computer science and thought about you. I open your channel and 4 hours ago you posted "Math for Computer Science". This is crazy!
Thank you so much!
This book is not for faint hearted though.
The typefaces used are listed in a short paragraph on the very last page.
*TLDR:* _Concrete Roman_ for the main text, _Concrete Italic_ for the sidebar notes or anything italicized in the text, and _AMS Euler_ for the mathematical notation.
"""
THIS BOOK was composed at Stanford University using the TEX system for technical text developed by D. E. Knuth. The mathematics is set in a new typeface called AMS Euler (Version 2.1), designed by Hermann Zapf for the American Mathematical Society. The text is set in a new typeface called Concrete Roman and Italic, a special version of Knuth's Computer Modern family with weights designed to blend with AMS Euler. The paper is 50-lb.-basis Clearfield Opaque, which has a neutral pH and a life expectancy of several hundred years. The offset printing and notch binding were done by Halliday Lithograph Corporation in Hanover, Massachusetts.
"""
Typographics in this book follows English tradition. Well readable and therefore comfortable. In Russia we have similar tradition (e.g. Stalin era school books), though slightly different rules.
The detail in that colophon gives me much joy!
@@TheRVSN as yes bolschevick mathematics, I honestly would be very interested to get my hands on those books as I think they may be rare
I've been tackling Concrete Mathematics on and off. It's quite dense. I've probably spent >100 hours over a couple months and still in Chapter 3.
It'll get me more math literate though, so I hope to finish it before undergrad ends. If I do so, I'll ping you to let you know I made it :)
You got this!!!💪
Ya it’s a hardcore book! Good work man!!
👀
I went into a second hand bookstore and saw a book called, "Concrete Mathematics" and got excited because I thought it was this book, only for me to pull it out and realise it was a civil engineering book about concrete.
Hey perhaps it's a gem of a book
So many of the fun and interesting topics that a lot of us missed out on are lumped together under the banner of "discrete math". I think many of us missed out on some of it because by the time we are deemed ready to learn it, the material was sometimes deemed too "elementary" to be worthy of inclusion in our course of study!
They often teach elementary combinatorics and the binomial theorem in grade school or junior high. But fancier counting with Stirling and Bell numbers isn't taught until CS (for those of use who take it). Same goes for algorithmic graph theory (spanning trees and shortest paths). Number theory is for egg head mathematicians! We physics guys - at least back when I was in school - worshipped at the altar of mostly centuries old continuous math, basically vector and tensor analysis, orthogonal function systems arising from linear differential operators, and then the complex plane (mainly just for residue tricks to do definite integrals).
I was never required to take a discrete math course (and didn't really know what it was), and only started learning some topics many years after I finished school because I wanted to understand algorithms. Then one thing led to another, and I'm really enjoying the landscape.
Love how you post constantly with new stuff , keep up the work math
Never thought I’d be interested in getting better at math but here I am
The font, from the wiki page: Donald Knuth used the first edition of Concrete Mathematics as a test case for the AMS Euler typeface and Concrete Roman font.
en.wikipedia.org/wiki/Concrete_Mathematics
Thanks for this 🙏
Knuth is famous, especially in CompSci circles. His "Art of Computer Programming" series of books is like the Bible of computer science. I have this particular book you're featuring here. I've had it for years. It's not the one I used for my minor in CS, however. I believe I used Rosen's 'Discrete Mathematics and It's Applications 5th edition' for my CS-based discrete math course. I could be wrong though, I've got several discrete math books and I know I used one for my Combinatorics class, 1 for my CS class, and just picked up the others over time as I've run into them.
@Mystic Sam I don't have a CS degree, I have a Math degree. I haven't checked in a while, but back when I was in college here in the USA in the late 1990s/early 2000s, the initial Calculus sequence was a requirement where I went to school for all majors, but other colleges aren't so hardcore. I believe you'd need a Discrete Math class for a CS degree and that may not require Calculus as a prerequisite, depending on the institution.
You're right. Computer Science is all about programming, in other words, learning how a computer works on the software side of things, and to that effect you should know something about binary and hexadecimal arithmetic, as it's used heavily the closer you get to hardware programming. Especially binary, that is how hardware represents information. If you want to learn machine code programming, which is a thing, all you'll be looking at is binary mathematics.
There are a lot of jobs that require you go down the mathematical rabbit hole in education, but do little to no math on the job. I have a friend that worked for NASA for a spell, and her Engineering degree required she go as high as Complex Analysis. All she ever did on her job at NASA was algebra.
Again, if you go for a Computer Science degree, you're going to have to do some kind of math, but how much will depend on which college/university you attend.
@@mysticsam1500 A lot of computer science IS math. All of CS theory is mathematics, theoretical computer scientists are a subset of mathematicians, and many mathematicians played a hand in developing computer science.
CS is not at all about learning coding and programming; this is a small, but impactful, consequence of applied computer science. Computer science studies all of computation, not necessarily just computers, and computation is expressed exclusively in mathematical terms. One cannot study computer science without inherently being involved completely in math.
Those who study "CS with less emphasis on math" are really likely to just be studying software engineering.
If you are thinking of picking up this book to teach yourself the math in CS, PLEASE DON'T. This book is difficult for computer science and math majors in undergraduate studies. If you don't have a fairly strong math background, you will struggle to the point of not making progress via this book at all. I suggest starting with an easier, more introductory discrete math book.
@@demongeminixYou have a Math degree. Don’t try and state a claim on a subject you don’t know about. CS is not all about programming as you claim. CS is solving problems with a computer. Programming is just a part of CS. You have data analysis, network admins, info systems, etc.
This book (Concrete Mathematics) is a good precursor to tackling the "Art of Computer Programming Vol. 1-4B" series of books by Knuth.
*Generally*, one would have a much smoother time going through it if they had some background in basic set theory (what sets are, what operations on sets means etc).
- Have some comfort in what an induction proof is and how they generally look (yes the book does discuss them in general, but spends more time on application.)
- Know what a Riemann sum is and what Riemann integration means.
- Be comfortable with sequences and series.
- Knowledge of complex numbers.
And of course as usual, a willingness to work through problems and natural curiosity.
The first 100 pages of TAOCP (the “mathematical preliminaries” section) covers basically the same material as this book, but is a lot more condensed and terse in my opinion. “Concrete Mathematics” is the perfect supplement to that section of the book and goes into much more detail in explaining the topics. Also, the exercises for TAOCP also have full solutions in the back of the book (or hints for the very challenging ones). Knuth also presents research level problems (some unsolved) at the end of each section, so there’s quite a range in the difficulty of the problems. Also, I found the writing style to be amazing in these books, especially “Concrete Mathematics” where the explanations are more conversational than in TAOCP, where the explanations are usually very short and to the point. In the end, get both and work through the books together!
I love applied math. Whenever I learn something, I imagine it as a tool I can put in a toolbox. Applied math is great because it often has direct uses in the field of Computing
> _"Applied math is great because it often has direct uses in the field of Computing"_
As I often say, computing and computer science is applied maths itself.
Further, Computer and Software Engineering is applied Computing/Computer Science.
This seems like a very useful book to read. We hope to see more of your recommendations. May God bless you as always.
That is cool.. I am from Saudi Arabia as well. There are not many Saudi mathematicians. Mainly because higher education in Saudi Arabia is about two generations old.
That book was translated to (Brazilian) Portuguese in the 1990s. I purchased a sample, them, although I never used as I came from 1980s studying Knuth "The Art of Computer Programming" including most of that contents. Great reference, BTW.
This book has been on my wishlist and I just graduated with a bachelor’s
This book has a companion, called "Concrete Math Companion" written by Kenneth E. Iverson. It uses the programming language J.
The close ups you do really allow one to see how readable a text is. I believe you said that sums are emphasized in this text - that's good...I always wished that I had more practice with sums. That all of the exercises have worked out solutions is the tipping point for me. I believe that I will attempt to add this one to my collection.
I've wanted this book for years, even though I'm certain I couldn't process most of it. Thank you for the overview!
Euler is actually pronounced "Oiler", like you suspected. Euler was from the German part of Switzerland, and in German "eu" makes an "oyy" sound.
The name of the typeface for mathematics is in the preface. Designed by Hermann Zapf and called AMS Euler. There's more info in the preface.
Zapf was a giant among designers
That is a great book. Someone recommended it to me back in 2005 and I got a copy pretty cheap on Amazon back then.
Hey, thanks for bringing back books related to computer science.
Read through this at 20 for an independent study course and wrote a project paper on it. Sadly sold it during some tough times in grad school, but would love to get it again as reference.
Thank you for the video! Purchased this legendary book, can't wait to read it.
Respect from Russia❤
That cover is really cool
Blessing from Jamaica
I have this book in Russian, but haven't managed to learn it, alas. It's a book for the real fans of mathematics, it covers much more than just discrete math. The majority of common students don't need that much. Having this book completely learned is equal to a great math course.
One of the best channel for math, love your content.😊
I am broke because I took your books recommendation. Been collecting them since. 😅. Now I need to practice it. It becomes my new hobby to learn math again.
I have 2 copies of this book--one at home and one at work. One of the few where I have multiples.
Thank you so much for doing this video!! I actually asked you for this video so I’m glad you pulled through !!
We need a review about calculus by Howard Anton.
I found this book a couple of months ago at a second hand store. I carried it around and ended up putting it back... I couldn’t rationalize buying it. But I regret it quite a bit. It looked fun and a to-be great relic of time.
I’m so glad I stumbled on your channel. You have a lot of great content.
Wow! I haven't looked at my copy in a couple of years... I really enjoyed this book in school.
Oh that's awesome you actually used this book! It's very hardcore!!
Just picked it up for 75 bucks. Probably could have gone cheaper but I was too eager to self-study it to fiddle around with eBay. I haven't self-studied in a while so its gonna be a challenge to get back in the grind like I was a couple of years ago. Those who decide to study it as well or any other book, good luck!
I can see concrete engineers picking this up by accident.
LOL!!
I am dead😂😂😂
Doubt it.
💯
It's important for them to get mixing ratios, temperature dependencies, and hardening times right.
It's also useful for organized crime accountants: do the math optimally to avoid concrete boots.
Come work for me. I will make you an offer you cannot refuse.@@UnconventionalReasoning
Thank you for introducing us to this book!
You're so welcome!
I don't know if anybody has commented on this, but that is THE Ron Graham who is one of the authors (RIP). Hiw wife, Wendy, is still active.
Took 3 semesters of calc, and on from there. Other than needing to know the integral of 1/x dx on an algorithm analysis test I never used a bit of it. Now algorithm analysis I have used a bit. That book looks familiar. I don't remember any of my classes using it though. Glad I don't have to puzzle through that stuff any more ;)
I really liked your video! I just want to tell you.
Theres was a copy of this in my house hold for a while when I was only in high school and I would peruse it wide eyed and in awe at the apparent complexity of the subject. Ive since gotten my CS bachelors but I havent revisited this book.. I probably should
Generating functions are the coolest thing ever.
0:14 that's the coolest, most hardcore book cover i've ever seen.
the typesetting and font are beautiful on this book
Good to always gain knowledge
After discrete math, I learnt that CS wasn't my way to go. horrible experience and checks that you are enoughly matured in numbers for the CS subject
This is a great book. I really liked the comments provided by students 😛Among mathematicians Knuth is probably one of the greatest writers.
2 names I know. Knuth created the up-arrow notation, and Graham discovered Graham's Number (which uses Knuth's up-arrow notation to describe its magnitude). Very interesting.
I like the intro 🔥
Great video. Why is the intro graphic so lowres tho?
Beautiful find, I'll pick one up
I believe the typeset is called Latex
When you discussed the "discrete probability" chapter, you mistakenly kept saying "w" instead of "omega." Look closely at the character used and you'll see a lower case omega. Very interesting book review though!
i have studied this book in my current semester believe me, this book will force you to think. exercise in this book is very good.
I remember that book from my computer science school days
Magic of Maths :)
thank you for sharing! seems like a good reading
I like this book more the more that I know. The first times I attempted it, I was not adequately prepared.
Thank you for sharing this book!
Remember seeing that book used in the class scheduled before my discrete math class.
Hi, can you please upload your series on several concepts as a single long video? Thanks
Euler = Oi - ler or Oy - ler. Oi-ler-ian, with the emphasis on the second syllable. I'm a historian of German philosophy, so. Great video, btw.
I know... Thank you so much!
All computer geeks and freaks solely buys this book due to “Knuth”. You should check out his book volumes called “the art of computer programming”.
Thank you Sir. Useful video.
12:04 Fortunately Unicode now has characters for the faces of a six-sided die: ⚀⚁⚂⚃⚄⚅ . Not all software may have a font to display them though.
12:31 There's a colophon or pseudo-colophon at the end of the book (on p. 657) which covers this:
"THIS BOOK was composed at Stanford University using the TeX system for technical text developed by D.E. Knuth. The mathematics is set in a new typeface called AMS Euler (Version 2.1), designed by Hermann Zapf for the American Mathematical Society. The text is set in a new typeface called Concrete Roman and Italic, a special version of Knuth's Computer Modern family with weights designed to blend with AMS Euler. [...]"
It is called concrete Math because it is hard very hard. By the cubic yard ,it gets harder. Soak it in water it cures even harder still. You ease with math is a gift I never received.
The first thing to look for in a math textbook is the way the ink looks
Shalom and evening howdy how. For those who love math, besides Discreet, I recommend taking a Linear Algebra, an Abstract Algebra, a Logic class and a Pure Math class as well!
In Denmark, at the university of Copenhagen, the first course is "discrete mathematics and algorithms" we use Discrete mathematical structures (KBR) and Introduction to algorithms (CLRS). This seems almost easy to me after that course 😂😂 Wish it was that easy
If you did not review so far, here is one suggestion: Matters Computational: Ideas, Algorithms, Source Code
Book by Jörg Arndt
In my opinion best comp science, math book out there. Pdf version is publicly available in his website.
Another great book from Jörg, "Pi"
Knuth is wonderful.
BUT the first author, Graham was amazing in his own right. I say 'WAS' because he died so recently (2020).
I remember looking up Graham because of some work he did on 'egyptian fractions'
I actually found it easier to study discrete math BEFORE calculus. I'm really amazed they don't teach it in grade school.
love your videos. I surely need to study math for computer science and physics. I'm not taking a degree, just self studying. are people relevant in society if they self study and not get a degree?
In Software Engineering, it's more common than you'd think. Many people have only slightly related degrees and are self taught. This happens even more commonly in startups. Having a degree can still get more eyes on the resume.
What wold be the prerequisites to reading this book for somoen who hasn't touched Math in a while? As a programmer would love to go through this.
Would also love to hear more on that.
Discrete Math generally is preceded by Calculus 1, 2 and sometimes 3 based on your major and Second year linear algebra and Diffy Q
Try those courses first.
I would say there is a not big prerequisite. The discrete math part is different from continous and thus, I would say everyone could start slowly on that part. The other part of course will require some basic knowledge of calculus to get started I believe. Not a lot, but basics of calculus
I would say that if you were to pick up this book, once you come upon something that you can’t recall, then you should go RUclips or Khan Academy to see if you can learn some of those concepts again. Otherwise, I think that you would probably need some calculus, differential equations (possibly), statistics/probability, abstract math/algebra or Boolean logic (as a programmer, this should be your strong suit), Analysis, and basic Number Theory. I hope this helps!
@@Mavhawk64 mmmm, that seems wayyy to overkill in my opinion. In Denmark, most of these topics are taught to students with only high school math experience, or people who has not used math for years. Again, just my opinion
Donald Knuth was THE MAN, in those days.
I have this same edition!
have you reviewed the openstax books? getting mixed reviews over the calculus volumes.
The authors discuss their choice of font in the intro.
I have this book. My favorite pages are 90-94.
RJ
This book is a classic!
Well, this video made me realize I seem to have misplaced my copy. Usually sits on my bookshelf next to Professor Farnsworth.
pdf:
www.csie.ntu.edu.tw/~r97002/temp/Concrete%20Mathematics%202e.pdf
Well, this is one of the books that made me cry.
I purchased this one years ago. I think it's in storage now.
12/26/22
Hi Math Sorcerer I am struggling a lot with GED math with systems equations how to solve them, I am worried that if I am struggling with ged math I don't know how I am going to do in calculus next year when I enter college, what do you recommend me to do, did you struggled in high school math too? if so how did you overcame it?
Whenever someone says, I want to major in computer science, I hand them that book. I have scared my fair share of people away from computer science.
Lol!!!
Keep the competition low
oh man. Our Algorithms class was really on the fence if "lg" was assumed to always be log based 2 or 10. Oh man. 04:34 saved my life.
Saw Knuth - its valid
Maybe because discrete mathematics is so unlike regular high school mathematics.
I keep these books on the shelf to look smart even though I have no idea what they wrote.
lol love how it starts with "THIS BOOK IS BASED"
lol
im sorry if you already have answered this question but what do you recommend as the best textbook to learn multivariable calculus with?
This textbook was super tough.
I tried a few times to go through this book and every time I end up end of Chapter 3. My wish for 2023 would be to try finish another three chapters
5:06 So, the common bracketing symbols for “floor” and “ceiling” were invented by the APL guy. Why am I not surprised?