How to get a solid foundation in compsci mathematics Anonymous
08/16/15 (Sun) [Link]
c71b16 No.3034>>3035 >>3038 >>3063 >>3081 >>3108 >>3673 >>3808 >>3921 >>4123
>>4345 >>4640 >>4664 >>4666 >>4681 >>4693 >>4775 >>4790 >>4960 >>4966 [Watch
Thread][Show All Posts]
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 [Link] 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.
Welcome to Proofs
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: [Link]
Discrete Math Intro
[Link] it also comes with lectures on jewtubes
[Link] Doing real discrete
math and probability.
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.
▶Anonymous 08/16/15 (Sun) [Link] c71b16 No.3035>>4617 >>5076 >>5397
>>3034 (OP)
PART 2
Algorithms
Intro to Algorithms aka CLRS [Link] this
will teach you sort of an Art of Programming lite.
NP-hard problems
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
[Link]
Just read the Intro/First chapter (unless you have a solid understanding of classical mechanics
from these lectures: [Link]
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.
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.
[Link] 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 [Link] or
go into number theory for cryptography. With this foundation there is literally no course or
advanced field of Compsci you can't take.
▶Anonymous 08/16/15 (Sun) [Link] c71b16 No.3036
I like your suggestions.
For linear algebra I would suggest Shilov, it's a fantastic book, and published very cheaply by
Dover books. Of course with all these recommendations, it is never a bad idea to read from a
few different authors, some will suit you better than others.
▶Anonymous 08/16/15 (Sun) [Link] c71b16 No.3037
File (hide): [Link] (48.12 KB, 360x474, 60:79,
519BZAMACCL._SX358_BO1,204….jpg) (h) (u)
For probability I highly recommend this one.
[Link]
▶Anonymous 08/16/15 (Sun) [Link] c71b16 No.3038
>>3034 (OP)
>"Advanced Calculus" which is actually easier,
I seem to remember that being the other way around.
Another alternative for calculus/Analysis is the two volume treatise by Zorich.
[Link]
3540874518
[Link]
3540874534
Of all the analysis books I could find, that one stood out to me as the clear winner, based on
the breadth of coverage, and the well explained yet slick proof style.
Your millage may very.
▶Anonymous 08/16/15 (Sun) [Link] c71b16 No.3039
File (hide): [Link] (33.98 KB, 334x499, 334:499, 51wt-
Asrd2L._SX332_BO1,204….jpg) (h) (u)
Ahh, no graph theory yet. So I'll make another recommendation.
[Link]
ref=pd_sim_14_1?ie=UTF8&refRID=0F91833Y24GH2E40V7QB
If you don't like that, the authoritative text is Diestel. Might be more difficult as a first book
for a self learner.
[Link]