Live data from Hacker News

Mathematics for Computer Science: Readings

ocw.mit.edu

21–30 of 74 posts

Re: Mathematics for Computer Science: Readings

#21

Question: why isn't linear algebra in here? I know this is a type of "but this isn't in my favorite list" question but since a lot of universities include it in their CS curriculum, I wonder why it isn't in here. Or did I oversee it? Is in there?

This is a discrete math course.

edit: originally had posted, "This is a discrete math textbook."

Re: Mathematics for Computer Science: Readings

#23
post #7
post #6

Earlier quoted context omitted.

Some famous runner who's name I can't remember and probably didn't exist anyway once said "I can't run 200 miles. But I can run 1 mile - 200 times". Start from page 1 and iterate from there.

This analogy does not capture the problem that the human brain constantly forgets...

One awesome thing about math is it is self organizing. Many topics are composed of many smaller topics. As an anecdote, we used to say people “actually learned” (high school) algebra in calculus 1 and trigonometry in calc 2/3. In those cases it was more that to solve those problems required using algebra and trig coherently.

So to learn those 1000 pages is to, to some extent, learn a core set of techniques across many different contexts. It compresses the required mental load. For the exceptions to that rule, well, you can skim over them and know enough about them to recognize their applications later.

Re: Mathematics for Computer Science: Readings

#24

Question: why isn't linear algebra in here? I know this is a type of "but this isn't in my favorite list" question but since a lot of universities include it in their CS curriculum, I wonder why it isn't in here. Or did I oversee it? Is in there?

I guess the book is more like “additional math for CS students beyond what a common CS curriculum has”.

Most of this stuff is part of common CS curriculums though. The real answer is just that you have to take linear algebra as a separate class. It's not supposed to be all the math for CS

Re: Mathematics for Computer Science: Readings

#25
post #2

Latest edition of the book: https://courses.csail.mit.edu/6.042/spring18/mcs.pdf

I wonder how one would read 1000+ pages of a technical book like this.

Nobody really does, IMO. You read it so you know what kinds of things are topics in the field, what the most important results are, and mostly to get a feeling for what people in the field focus on.

Then when someone mentions a term from the course, you know roughly what to expect and where to find details. Also, you know how big a bite you're taking. "Quantum Mechanics" might be several books. "Vector Calculus" maybe a few chapters. "De Morgan's laws" maybe a few pages.

It's just like any other math you do. Does anyone memorize all the trig relations, Laplace transforms, and geometric relations? Of course not. But you've seen at least one large example of every topic and you can reconstruct it from there.

Re: Mathematics for Computer Science: Readings

#26
post #20

Question: why isn't linear algebra in here? I know this is a type of "but this isn't in my favorite list" question but since a lot of universities include it in their CS curriculum, I wonder why it isn't in here. Or did I oversee it? Is in there?

Because 6.042J is "an introduction to discrete mathematics, probability, and mathematical thinking for computer scientists". For linear algebra, see https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra... I'll admit I don't know how the MIT CS curriculum is structured, but I suppose it is in there, just not in this particular course.

This is actually the only math class that's required by the 6-3 degree program, MIT's CS degree. Many people do take linear algebra, though.

Source: https://www.eecs.mit.edu/curriculum2016 and I'm a 6-3

Re: Mathematics for Computer Science: Readings

#27
post #18

How has this book helped you as a programmer? I am finding it difficult going through it.

I'm currently taking a near-identical course as a CS freshman, and while I lack the programming expertise to adequately explain the importance in that field, it's definitely valuable to learn. I've never enjoyed a maths class more, really.

It offers so many 'hacks' to working with numbers, which I could imagine would make code more efficient and avoid unnecessary computations when dealing with very large numbers.

Separately, my increased mental efficiency with problems involving numbers is really surprising. There have been interview questions I've read about in the past where I've thought "someone must be a genius to be able to answer that through mental math," and it all makes so much more sense now! It's taught me about dozens of visualizations that can break down these problems in much more manageable ways.

As an example of a mental maths problem on my midterm: How many numbers between 1 and 99,999 have digits that add up to 10? (23,500 would work whereas 23,510 would not). While initially I would have no clue how to answer this, learning about the balls-in-bins method solves it in an incredibly simple manner.

Re: Mathematics for Computer Science: Readings

#28

Earlier quoted context omitted.

I wonder how one would read 1000+ pages of a technical book like this.

Nobody really does, IMO. You read it so you know what kinds of things are topics in the field, what the most important results are, and mostly to get a feeling for what people in the field focus on. Then when someone mentions a term from the course, you know roughly what to expect and where to find details. Also, you know how big a bite you're taking. "Quantum Mechanics" might be several books. "Vector Calculus" mayb…

> "De Morgan's laws" maybe a few pages.

It could be an entire book, though :)

Re: Mathematics for Computer Science: Readings

#29
post #7
post #6

Earlier quoted context omitted.

Some famous runner who's name I can't remember and probably didn't exist anyway once said "I can't run 200 miles. But I can run 1 mile - 200 times". Start from page 1 and iterate from there.

This analogy does not capture the problem that the human brain constantly forgets...

[deleted]

Re: Mathematics for Computer Science: Readings

#30
post #7

Earlier quoted context omitted.

This analogy does not capture the problem that the human brain constantly forgets...

Sure it does. If you really wanted to read and understand this book and dedicated time each day to understanding 3 pages worth of content, you could read the book in a year. Remembering 3 pages of content per day (especially in math where concepts build on each other) is really not hard.

> Remembering 3 pages of content per day (especially in math where concepts build on each other) is really not hard.

I disagree. Or rather, I think that's unsustainable. Any given three consecutive pages from Spivak's Calculus are probably doable on a daily basis. But is would be legitimately hard for most people to go through three pages of Rudin's Principles of Mathematical Analysis each day and consistently retain that information. Axler's Linear Algebra Done Right is very readable, but Halmos' Finite-Dimensional Vector Spaces will start getting just as dense as Rudin. These are difficult textbooks even when students are well-prepared for them with prerequisite courses. Terence Tao wrote two books to cover (with better exposition) what Rudin did in one. I think it would be pretty hard to read consistently three pages of Tao's Analysis I each day, before he even gets to limits.

I think you're underestimating the intellectual effort here. In my opinion, even if you're reading a math book targeted to your level, committing to reading and understanding three days of material each day would become exhausting. A typical semester is 15-16 weeks, with lectures 1 - 3 times a week, and most undergraduate courses do not actually work through the entirety of a 300 page textbook. Even at that slower pace it's not typical for most people to ace the course. If you read three pages a day and had a solid understanding of it, you'd be absolutely breezing through math courses.

In my experience students need to really step away from the material and let it percolate for a bit every so often in order to solidify their understanding. I really don't think you can partition the material into equal, bite-sized amounts each day. The learning progression doesn't tend to be that consistent or predictable.

Post reply on HN