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.
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).
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).
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 students because the resulting quality is too low.
Yes, for some decades now the math departments have been in the catbird seat over nearly all of physical science, social science, engineering, technology, medical science, statistics, stochastic processes, optimization, and finance, and have some high potential in information technology entrepreneurship, but consistently blew the opportunity and pushed these applications and their fields and many, new, interesting, valuable, associated math research questions out of the math departments. Sorry 'bout that. But, the fact remains: Math with good quality is still essentially ONLY in the math departments.
Yes, the math departments are due a LOT of blame: They should offer more in service courses for these many other fields AND also take in problems in these other fields as math research problems.
Math had an opportunity to grab most of the importance of all those other fields and grow to become by far the most important academic department of all and, instead, pushed out contact with those other fields and shrank. Still the good stuff, both in math and its applications to other fields, is in math departments. Sorry 'bout that.
Second, if students in computer science are to make progress in computing by applying math, then I believe that they need to learn the math with much higher quality than in the book. Indeed my view is that the main future of computer science is just math, and that math promises to be more important for the future of computing than Moore's law. But for this future, quality is needed.
Instead of the quality, the course looks like a catch all so that students can have some prerequisites to listen to lectures in future courses in computer science, lectures that report some old work where some math was used; so the students get to hold on by their fingernails and listen to these reports of past glories.
These past glories, e.g., analyzing the performance of heap sort, a minimum spanning tree algorithm, or Kerberos, is old work now buried in software just to be used. The challenge is what will be new, the future, and to attack that with math my view is that more quality is needed.
Or, I've applied math to problems in computer science and practical computing, but there was no way I could have made the applications having learned the math with only the level of quality in the book. Net, that material is not 'professional strength'; that boat is not strong enough to get you across the river.
I thought that these points were clear enough in my original post.
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)
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.