How has this book helped you as a programmer? I am finding it difficult going through it.
Mathematics for Computer Science: Readings
31–40 of 74 posts
Re: Mathematics for Computer Science: Readings
#32Is this book suitable for math self-learning?
There's also the CMU intro to proofs/reasoning lecture notes here https://infinitedescent.xyz/ though you would learn much of this material from the introduction of Apostol's Calculus. The advantage of the CMU lecture notes is the author based it on his findings in evidence based learning IIRC.
Re: Mathematics for Computer Science: Readings
#33Question: 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?
First, the purpose of a class like this is to prepare students for further coursework in algorithms and automata/complexity. You need logic, graphs and combinatorics for those a lot more than you need linear algebra.
Second, the math department teaches a class in linear algebra. This is a collection of topics that you wouldn't ordinarily find in undergraduate math classes.
Third, there's a limit on how much linear algebra you can cover in part of a course like this. Better to give it its own semester so you can treat the subject in some reasonable breadth.
Re: Mathematics for Computer Science: Readings
#34Re: Mathematics for Computer Science: Readings
#35Is this book suitable for math self-learning?
For the context of my opinion: my favorite math textbook for computer science is Chapter 1, Section 1.2 of The Art of Computer Programming ("Mathematical Preliminaries"). That's pretty dense though, so I usually recommend Concrete Mathematics, which was also (co)authored by Knuth. The benefit of Concrete Mathematics is that it spreads the information out with more examples and better exposition. It also includes an expanded section on probability. But in my opinion, the failing (if you could call it that) of both is that there isn't a dedicated section on set theory. I really think that should be covered alongside the introduction to various types of proof.
Which brings me back to this textbook...I personally think it spends too much time building logic and proof machinery in the first chapter. Sets and functions have sections that are only pages long, but there is a large focus on logic. I understand it's a mathematics for computer science treatment and not a pure mathematics treatment, but that's actually pretty dry in my opinion - I think a treatment that focuses more on sets is more intuitive. One of the things I like about Knuth is that he covers these topics in a slightly irreverent and humorous way. He also engages the reader by jumping more directly into arithmetic operations, functions, basic number theory, the binomial theorem and combinatorics, etc.
Some of this is admittedly my own bias. I've never enjoyed staring at things like e.g. truth tables. It's important to know, but this actually seems excessively formal for a discrete mathematics course. Reading through the algebra of propositions isn't exactly riveting. I think that, for self-study at least, exposition and organization of topics is just as important (probably more so) than complete coverage of topics. All of the material you'd want to know is there, it's just that the treatment might be a bit suboptimal for self-study. It probably depends on what you find interesting and how quickly you'd like to do interesting things with what you're learning. It would probably also be beneficial if some people who have actually learned from this textbook for their first encounter with the material could chime in, because that might be more relevant to your question.
Re: Mathematics for Computer Science: Readings
#36Earlier quoted context omitted.
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
#37Is this book suitable for math self-learning?
I took a look at the first four or so chapters and I'm not really a fan of the organization. But I think you could self-study the material and be fine. The introduction of the book explains that it's very focused on proofs, and it feels to me like it's more of an applied mathematics book than it is discrete mathematics (i.e. computer science) book. That's a subtle distinction, but I'd summarize it by saying this book…
It's heavy on sets and functions, turning sets into types to manipulate in Standard ML so the reader can understand what's going on intuitively. I also liked Knuth's crash course in The Art of Programming and it is hard to read other books when you're used to Knuth's clear and precise explanations mixed with dry humor keeping you engaged.
Re: Mathematics for Computer Science: Readings
#38How has this book helped you as a programmer? I am finding it difficult going through it.
Re: Mathematics for Computer Science: Readings
#39How 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. Sep…
Re: Mathematics for Computer Science: Readings
#40Question: 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?
Doesn't look like it. One might argue that linear algebra is slightly more niche than stuff like graph theoretic algorithms. There are applications to broadly useful things like gradient descent, but that seems to fall under numerical linear algebra which probably deserves its own course in the Applied Math department. N.b. just playing devil's advocate, I don't have a strong opinion either way.