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.
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.
i agree with you that this is in principle math for CS proper (rather than machine learning or numerical algos or something) but
>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.
x math department doesn't have classes on graph theory, combinatorics, or prob & stats?
You would not typically find dedicated undergraduate courses for graph theory, probability theory or combinatorics, no. At the very least you wouldn't expect to see those until you hit 300 level, but most likely not until graduate courses.
Discrete mathematics is a grab bag of topics, and it's more fair to say that a discrete math course pulls in selected topics from other areas than to say it provides a focused coverage of any of them. At the depth each topic is taught, you couldn't pull it out into its own semester's worth of lectures. On the other hand, it would be very difficult to compact linear algebra into a discrete math course. Learning linear algebra already requires you to introduce a bunch of new concepts, like fields and vector spaces, linear equations, linear transformations, matrix representation and matrix operations, determinants, inner products...
Equally importantly, linear algebra doesn't really "fit" with the topics of discrete mathematics, pedagogically speaking. It fits well with a treatment of multivariable calculus, but that's only a small part of what's taught in discrete math courses. If you wanted to teach linear algebra in a course covering a bunch of topics, you'd probably want to do a "topics in abstract algebra" course that works through groups, rings, modules, linear algebra and multilinear algebra. But then you're going well beyond what a non-math major should encounter in an undergraduate setting.
Really, linear algebra stands on its own very well. In my opinion it should receive focused coverage and not be mixed with anything else. While graph theory and combinatorics can easily receive the same coverage, their treatment is usually pushed back to advanced undergraduate or graduate level courses because engineers don't usually work with them beyond what's covered in discrete math (which is exactly why we have discrete math as a standalone course). In fact, MIT actually lists linear algebra and multivariable calculus as prerequisites for the focused courses on combinatorics. The same applies for probability theory: you can't really learn probability theory (beyond discrete) without first learning analysis.
Strange, I have taken a 4 credit, one quarter class in both probability theory and combinatorics in my undergraduate math and computer science education.
It is certainly possible to offer a complete class in combinatorics or probability theory at the undergrad level. The point is that such a course would cover far more than what a discrete math class would cover in those subjects.
Me too. Discrete math was mainly combinatorics w/ an intro to probability. Then, probability theory was a separate requirement and, in addition to a Linear Algebra/ODE combo class, we had a CS theory class that covered Set theory, Proofs, Graph theory, TMs, etc. Most of these also had Math or Stats dept. equivalents.
These were our —typically— freshman/sophomore year CS classes (although I took a couple in my junior year) so I guess every school defines their requirements differently.
At least in my school those were optional; only calc 1 & 2 and linear algebra were explicitly required, with combanatorics being commonly recommended but not required to grafuate
Blows my mind at times when I talk to a math major in the U.S. with little to no knowledge of graph theory. Also the abstract algebra exposure seems to be kind of restricted -- for instance Math 120 at Stanford (Groups and Rings) is highly suggested but not required.
> This is a collection of topics that you wouldn't ordinarily find in undergraduate math classes.
Much of this course is covered in undergraduate math classes, except at much greater depth (especially algebra and probability theory), and over the span of several courses.
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.
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
Or did I oversee it? Is in there?