Thanks for sharing that. Justtook a quick look at it for now, but it really seems to be a great document (at least in my case, who end up studying alone).
It's junk, badly watered down, silly, and shows how really bad computer science is at mathematics, even the mathematics they might need.
Stay far away.
It has some logic: When I was a math grad student, I taught about the same in a course 'Mathematics for Elementary Education Majors'. Anyone who has done much in proofs already knows this stuff.
It has some watered down versions of some topics commonly taught in a college course in 'abstract algebra' or a 100 year old course in 'Theory of Equations', but take a real course in abstract algebra instead.
It tries to do some probability theory, but this effort is the worst: Not even a junior level high school course should do probability so poorly.
If you're a math grad student, this book probably does not apply to you. Students who are interested in learning the basics of mathematics for computer science will not be looking to learn about abstract algebra, or, as your handle suggests, Hilbert Space and other higher maths. If they want to learn more, there are other courses geared for taking them. However, you must understand that many of the students in the class have never even gotten their feet wet: never taken an analysis or algebra or a beginning combinatorics class. Many of them will not go on to be math majors and mathematicians. But I do believe that the skills that they learn from this course and textbook are useful in their subsequent courses: their introductions to algorithms and their introductions to AI. You seem to be very knowledgeable in mathematics, but your level is not what everybody wants, and certainly not what they need.
I'm with HilbertSpace here. "Mathematics is a language of science" was said by a great one. A thin tourist-level english-spanish (russian-chinese, ...etc ) phrasebook is good only to make sure that fish is ordered instead of chicken when fish is what one does want.
We're not communicating: You are reacting to things I didn't say and not much paying attention to what I did say.
We have to be brief here: Doing that, in a just a few words, my view is that the quality in the notes is too low.
Absolutely my comment is not about me or what I do or do not know about math and its role in computing. The subject is not me. It ain't about me. It's not about Hilbert space or measure theory. I'm not suggesting that others should be like me.
My comments are about the book and how well it can help students in computer science.
I would encourage students to look for higher quality.
Yes, the book touches on several topics each of which could be a semester or two. So, yes, few undergraduate students in computer science could take all those semesters, especially before getting on with the applications in computing. In particular, they can't wait for some junior level course in abstract algebra. Putting the topics in the book into one course should be okay.
Still, for what the students do study, even as freshmen, the quality should be higher.
I will guess: The course was 'coordinated' with some later courses and, thus, has some topics some later courses want as prerequisites. So the main purpose of the course of the book was to provide the prerequisites. So, maybe in some one department's coordinated courses the book has a useful role to play. But this utility of the book does not much apply to independent study.
Still, coordinated courses or not, low quality is not good.
I don't object to the list of topics if only because all of them are important. I would object to the quality.
Generally to use math for anything very significant, need to have higher quality in the presentation, content, and learning. With an analogy, if a course in residential electricity were taught with such low quality, someone trying to wire a house would likely get shocked and maybe electrocuted.
More generally I would make two points:
First, there is a lot of math that with current computing is becoming more important. So, for whatever reasons, engineering and computer science departments are trying to teach this math. Such things have been tried before, in sociology, psychology, economics, physics, chemistry, and more. E.g., some chemists came to the undergrad math department I was in for help with a few pages in a chemistry book. The pages were on group representation theory which, back to E. Wigner, it turns out are key to molecular spectroscopy and, thus, identification of chemical compounds. Nonsense; total, useless nonsense: There's NO WAY to say anything significant about group representation theory in just a few pages in a chemistry book. So some chemist was trying to teach some math to chemists. Bummer. My undergraduate math honors paper, then, became on group representation theory.
The pattern continues: Academic departments that need some math too often try to teach the math themselves and, then, as for that chemist, make a mess out of it. The main problem is, the quality is too low. Or, some modern cooks need to know some chemistry, but there is no way someone can learn chemistry from such a cook that is not also, independently, a good chemist.
In particular, computer science is slowly grabbing off significant chunks of pure and applied math -- number theory for cryptography; integer linear programming for computer job scheduling, communications network design, and many cases of resource allocation and also for addressing P versus NP; finite field theory for error correcting codes; statistical hypothesis testing for monitoring health and wellness of software, servers, and networks; some points about relations for relational data base; neural networks, a general purpose data fitting technique, for 'artificial intelligence'; statistical model building for 'machine learning'; some points from combinatorics and probability for analysis of the computational time complexity of algorithms, etc. -- and this direction is bad for both computer science and the student...
During my first semester in college I took a course that used these notes. It was perhaps the most valuable course I took in college, as I subsequently became a researcher in theoretical computer science (and honestly taught myself a lot of the rest). The value in this type of course is that it introduces very green high school graduates to the type of thinking necessary to reason about proofs. The time required to build up the theory of groups/rings/modules/fields or measure-theoretic probability (is that what you want CS freshman doing?) would be wasted, as those topics are largely beside the point of the course. A sprinkling of conditional probability will at least give them something to remember in their randomized algorithms class.
I don't think the course is worth the time for anyone. Yes, maybe a freshman could struggle through it, but freshman need to be in a hurry to get to the 'good stuff' and have better things to do.
Students, be warned: I know all the material there much deeper than there and have done applications to military and commercial problems and have published peer-reviewed work in applied math, mathematical statistics, and artificial intelligence, and I don't think that book is worth your time or effort -- you need better material.
The quality level is just too low:
A quality problem in the book is a lack of emphasis on proofs which are the main means we have to get new results we know are correct and know that long before some rack of computers has served one million unique users a day.
The math background in Knuth 'The Art of Computer Programming' is done with much higher quality.
Of course, measure theory, say, from Papa Rudin, is the way to do probability, but it is not done that way often enough in the US: Nearly the only people who take Papa Rudin are pure math grad students, and pure math in the US doesn't much like the applications to probability.
Still, it is quite possible to give a MUCH better treatment of probability with just calculus plus, say, a few theorems about calculus, e.g., about improper integrals and interchange of order of integration, usually not covered in undergrad calculus.
Yes, conditioning is a big deal, should be covered, and is touched on in the book. But more is needed in conditioning. Then the classic limit theorems should be covered -- at least the weak law of large numbers and the central limit theorem.
For computer science, it would be super nice to cover Poisson processes and the renewal theorem since operational networks and server farms are awash in these processes.
There are plenty of good books on probability without measure theory although I am not a fan of Feller I because it is too difficult to see the forest for the trees and too easy for an unguided tour to get lost.
Where are you from?
In US, at least in NY state, junior level high school course can't cover probability into that extent.
Not all CS people need all those math, some of them just want to be programmers. In fact even if they become computer scientists in academia, not all of them need to know abstract algebra.
The course is about breadth instead of depth. If you septate the contents into 'real' courses, it will increase the huge amount of course load.(but, I heard MIT students can handle the load...so idk)
Having taken this class, it is billed as a breadth-first introduction to a ton of topics in mathematics. It is not meant to go into any of them in depth, but to give you a taste of many different topics in one short semester. We were told to consider it a wine tasting, not a night out at a bar. This is one of the first classes a CS major at MIT is expected to take.
To that end, I think it more than fulfills its goals. I certainly learned a lot, even if some of it I already knew; and I went on to take more in depth classes on the few topics I really was interested in, which was exactly what the course was intended for.
Any such thing available for electrical majors, you know something that would at least cover the things like complex algebra and equations? Or things that would be required by electronics engineers?
Sorry if the question sounds so naive, but can't help it (various reasons).
13 comments
[ 0.26 ms ] story [ 38.5 ms ] threadStay far away.
It has some logic: When I was a math grad student, I taught about the same in a course 'Mathematics for Elementary Education Majors'. Anyone who has done much in proofs already knows this stuff.
It has some watered down versions of some topics commonly taught in a college course in 'abstract algebra' or a 100 year old course in 'Theory of Equations', but take a real course in abstract algebra instead.
It tries to do some probability theory, but this effort is the worst: Not even a junior level high school course should do probability so poorly.
We have to be brief here: Doing that, in a just a few words, my view is that the quality in the notes is too low.
Absolutely my comment is not about me or what I do or do not know about math and its role in computing. The subject is not me. It ain't about me. It's not about Hilbert space or measure theory. I'm not suggesting that others should be like me.
My comments are about the book and how well it can help students in computer science.
I would encourage students to look for higher quality.
Yes, the book touches on several topics each of which could be a semester or two. So, yes, few undergraduate students in computer science could take all those semesters, especially before getting on with the applications in computing. In particular, they can't wait for some junior level course in abstract algebra. Putting the topics in the book into one course should be okay.
Still, for what the students do study, even as freshmen, the quality should be higher.
I will guess: The course was 'coordinated' with some later courses and, thus, has some topics some later courses want as prerequisites. So the main purpose of the course of the book was to provide the prerequisites. So, maybe in some one department's coordinated courses the book has a useful role to play. But this utility of the book does not much apply to independent study.
Still, coordinated courses or not, low quality is not good.
I don't object to the list of topics if only because all of them are important. I would object to the quality.
Generally to use math for anything very significant, need to have higher quality in the presentation, content, and learning. With an analogy, if a course in residential electricity were taught with such low quality, someone trying to wire a house would likely get shocked and maybe electrocuted.
More generally I would make two points:
First, there is a lot of math that with current computing is becoming more important. So, for whatever reasons, engineering and computer science departments are trying to teach this math. Such things have been tried before, in sociology, psychology, economics, physics, chemistry, and more. E.g., some chemists came to the undergrad math department I was in for help with a few pages in a chemistry book. The pages were on group representation theory which, back to E. Wigner, it turns out are key to molecular spectroscopy and, thus, identification of chemical compounds. Nonsense; total, useless nonsense: There's NO WAY to say anything significant about group representation theory in just a few pages in a chemistry book. So some chemist was trying to teach some math to chemists. Bummer. My undergraduate math honors paper, then, became on group representation theory.
The pattern continues: Academic departments that need some math too often try to teach the math themselves and, then, as for that chemist, make a mess out of it. The main problem is, the quality is too low. Or, some modern cooks need to know some chemistry, but there is no way someone can learn chemistry from such a cook that is not also, independently, a good chemist.
In particular, computer science is slowly grabbing off significant chunks of pure and applied math -- number theory for cryptography; integer linear programming for computer job scheduling, communications network design, and many cases of resource allocation and also for addressing P versus NP; finite field theory for error correcting codes; statistical hypothesis testing for monitoring health and wellness of software, servers, and networks; some points about relations for relational data base; neural networks, a general purpose data fitting technique, for 'artificial intelligence'; statistical model building for 'machine learning'; some points from combinatorics and probability for analysis of the computational time complexity of algorithms, etc. -- and this direction is bad for both computer science and the student...
Students, be warned: I know all the material there much deeper than there and have done applications to military and commercial problems and have published peer-reviewed work in applied math, mathematical statistics, and artificial intelligence, and I don't think that book is worth your time or effort -- you need better material.
The quality level is just too low:
A quality problem in the book is a lack of emphasis on proofs which are the main means we have to get new results we know are correct and know that long before some rack of computers has served one million unique users a day.
The math background in Knuth 'The Art of Computer Programming' is done with much higher quality.
Of course, measure theory, say, from Papa Rudin, is the way to do probability, but it is not done that way often enough in the US: Nearly the only people who take Papa Rudin are pure math grad students, and pure math in the US doesn't much like the applications to probability.
Still, it is quite possible to give a MUCH better treatment of probability with just calculus plus, say, a few theorems about calculus, e.g., about improper integrals and interchange of order of integration, usually not covered in undergrad calculus.
Yes, conditioning is a big deal, should be covered, and is touched on in the book. But more is needed in conditioning. Then the classic limit theorems should be covered -- at least the weak law of large numbers and the central limit theorem.
For computer science, it would be super nice to cover Poisson processes and the renewal theorem since operational networks and server farms are awash in these processes.
There are plenty of good books on probability without measure theory although I am not a fan of Feller I because it is too difficult to see the forest for the trees and too easy for an unguided tour to get lost.
Where are you from? In US, at least in NY state, junior level high school course can't cover probability into that extent.
Not all CS people need all those math, some of them just want to be programmers. In fact even if they become computer scientists in academia, not all of them need to know abstract algebra.
The course is about breadth instead of depth. If you septate the contents into 'real' courses, it will increase the huge amount of course load.(but, I heard MIT students can handle the load...so idk)
MIT has [course 18-C](http://www-math.mit.edu/academics/undergrad/major/course18c....) for people who does like math and CS.
To that end, I think it more than fulfills its goals. I certainly learned a lot, even if some of it I already knew; and I went on to take more in depth classes on the few topics I really was interested in, which was exactly what the course was intended for.
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
http://ocw.mit.edu/courses/electrical-engineering-and-comput...
Sorry if the question sounds so naive, but can't help it (various reasons).
Ah, math humor ;-)