This guide assumes you forgot everything from highschool. No you don't have to learn any of this in order to program you can just start hacking around every .c file in your kernel.org git source clone and see what happens. Why would you want to learn math? Because it will change your thinking. You won't be easily fooled by bullshit, you will have tools to sort through obvious logical fallacies. You will be able to optimize programs and create your own algorithms. You will be able to estimate. Above all, you will be able to solve problems using computation which is what computer science is all about. And least of all, you will get paid more than anybody else without this knowledge so if your goal is shekels then read on. Note: DO THE EXERCISES. You won't learn otherwise. Books instead of video lectures were chosen because they've lasted 30+ years some of them in relevancy in the field, also lectures disappear all the time like when MIT nuked all one prof's Physics OCW lectures because he tried to pickup a student, setting a precedent that at anytime this information can disappear. Read a book nigga.
Math Preliminary
Basic Mathematics by Serge Lang
Buy/Pirate this book (he's dead). It's highschool math, from the perspective of a Mathematician. You will learn up Pre-Calculus and be prepared for rigorous proofs later.
An Introduction to Mathematical Reasoning" by Peter J Eccels
This changes you from rote drilling and being a human calculator in highschool to learning what math actually is, and what proofs do. Excellent, excellent book.
How to Solve It by G. Polya
How to do proofs, written in 1940s and still for sale in every Chapters/B&N bookstore to this day because it's the best proof helper that exists.
>Calculus" by Spivak Actually, you are learning ANALYSIS, in addition to calculus. Torrent the 3rd edition w/the answer book. This is a fucking hard assed book, you may be better off reading "Advanced Calculus" which is actually easier, as the intro points out that Spivak's exercises are difficult as shit: math.harvard.edu/~shlomo/docs/Advanced_Calculus.pdf Discrete Math Intro
>Linear Algebra by Friedberg, Insel and Spence Get the latest version (piracy). It's proof centric, this will come in handy later when you need to understand some Linear applications and don't know how something works so can revert back to your training in LA in proofs. LA is heavily, heavily used in all game programming. Also in cryptography and numerous other CompSci fields.
>Concrete Math by Knuth et all (CONtinuous and disCRETE math) This is chapter 2 of The Art of Computer Programming (TAOCP) "Mathematical Preliminaries" in a format that isn't as terse. Complete this and you can do any of the TAOCP books, and solve any problem using discrete mathematics in computer science.
Bezerker level, how the fuck did they do that tier >Calculus on Manifolds by Spivak. This notation is used by Gerald Sussman (of SICP fame) in all his texts. It's a great fleshing out of multi variable calculus, but you absolutely have to do the exercises, it's a small book but difficult.
>Structural Interpretation of Classical Mechanics Aka SICM free online mitpress.mit.edu/sites/default/files/titles/content/sicm/book.html Just read the Intro/First chapter (unless you have a solid understanding of classical mechanics from these lectures: theoreticalminimum.com/courses/classical-mechanics/2011/fall then read the whole book) You write out math equations in scheme. You will get that "aha" moment like when you read SICP but for Math. If you just read the first chapter/intro you will be able to convert math equations into functions whenever you come across them. If you read the whole book you will: >write a lagrangian as a normal Scheme function >symbolically take derivatives of that to get equations of motion >print those equations with LaTeX. >compile those equations to native code and numerically integrate and plot the motion of the system It's like magic the first time you see it. You can now write highly advanced physics into game player movements.
Daniel Lee
Master of the Universe tier
>The Art of Computer Programming any volume. I would start with 4.1a Combinatorial Algorithms. 4.1b is out on Knuth's homepage and it contains all new math that isn't even on Wikipedia yet. The exercises are in the book for a reason, it's not just reference it's to help you understand the material so try some of them.
>Functional Differential Geometry by Sussman.
groups.csail.mit.edu/mac/users/gjs/6946/calculus-indexed.pdf SICP is the gold tier for Computer Science, SICM is gold tier for Physics, and Functional Differential Geometry is gold tier for applied mathematics. This again converts equations into scheme functions. Treating data as a distribution in high-dimensional space is at the core of machine learning, and differentiating across those dimensions is typically how learning is done. There's a whole area called Information Geometry which treats the parameter spaces of statistical models as Riemannian manifolds under the Fisher information metric you'll learn in machine learning courses. In SICM the same authors mention that a computational approach to calculus revealed errors in their own understanding of classical mechanics equations (such as Lagrange's equations), and they introduced new notation to address the problem. Functional Differential Geometry picks up that idea and runs with it, debugging general relativity and quantum mechanics.
Conclusion This list is about learning base theory, so you can branch off and learn anything you want yourself like a formal course in Statistics stat.cmu.edu/~larry/all-of-statistics/ or go into number theory for cryptography. With this foundation there is literally no course or advanced field of Compsci you can't take.
Alexander Lopez
Hey thank you for your contribution, I'm glad there are still people here that try to help by providing something besides shitposting.
Jaxon Long
>mfw
Hunter Evans
>literally no one on Sup Forums cares
Adam Johnson
Is this list legit or is it bullshit? If bullshit I'm going to waste my next year on this single post by OP If legit, thanks user, you will turn my life around
Isaac Campbell
Wow a useful thread.
Lincoln Cooper
Thanks for the thread, useful stuff.
Cameron Campbell
>is this useful How can you not decide this for yourself?
Protip: yes it is
Julian Robinson
Ok should I start with this or should I read rudin and all?
Daniel Torres
just read this.
You write like a poo
Hudson Collins
hmm does korean english sound like poo english? didn't know that
Luis Martin
>literally no one on Sup Forums cares It not that no one cares. The problem is that anyone interested in this topic doesn't need anything ITT. Every CS department posts their curriculum and/or classes online. So at the very least you already know which books every CS student in the USA is using.
If someone is interested then they are already a CS major or they have used Google.
Caleb Martin
>all that shit
All you need to get started with compsci are the three books in picrelated. If you want, you can throw "Concrete Mathematics" in there, too.
An *actual* foundation: learn Algebra, Trigonometry, Differentiation, Integration, and the material in Book of Proof.
From there, pick up any compsci text that interests you. Always read the preface: it will tell you what prerequisite knowledge (if any) the material in the book assumes. If it has a prereq, just find a book on that subject -- the math you've learned from picrelated will allow you to tackle new maths subjects with ease.
Aaron Baker
WRONG
Colton Torres
Thanks OP. Are you the one who did this like a year ago? Either way this is great. Love the fact that this site gets to self improvement once in awhile between all the shit posting.
Josiah Nelson
this is the sticky in infinity chan /prog/
Hunter Cox
Is this list complete? Or there are still some other maths books necessary? Also are some of the books skippable, for example the physics one because I'm never going to program games? Lastly how many years/months do you think completing these books would take if average high schooler(which I am, btw)
Btw, Thanx OP you seem like a great guy
Carter Baker
this list is copy paste from infinity chan's stcky in /prog/ check the discussion there
Connor Edwards
OP you forgot statistics
Kevin Price
Ah thats where I have seen this.
>How to do proofs I cant find this book. Is the name off or something? There is a how to read and do proofs. Anyone got an author?
Mason Taylor
>>How to do proofs >I cant find this book. Is the name off or something? There is a how to read and do proofs. Anyone got an author?
Ah ignore this. Now I see that sentence is describing the book above.