Hacker News new | ask | show | jobs
by joelmaat 4868 days ago
Yes, I didn't take the Automata Theory course, but I learned essentially the same thing in Discrete Mathematics, Control Systems, and Digital Design (albeit with an eye towards Electrical Engineering applications). I remember looking through the courses, as you did, and the only gap I remember noticing was Operating Systems (and maybe graph theory, now that you mention it). It would have been nice to be introduced to machine learning while in school, but that's fine, I ended up learning it on my own.

There could easily be a bias error, but I said what I said simply because everything covered in the CS curriculum seems to also be present in the CE curriculum, but in the CE curriculum more is added. So I see the CE degree as a CS degree plus the essentials of an Electrical Engineering degree.

The advantages, if there are any, can definitely fade away after a few years of real experience, assuming everyone continues to better their knowledge, and those years aren't spent, as is typically the case, repeatedly re-implementing the same solution.

1 comments

Now I'm curious - which of those courses covered the pumping lemma or LR(1) grammars? I'm surprised to hear that they are relevant to a Discrete Mathematics, Control Systems, or Digital Design course.

Or was those covered in your compiler course?

We covered graph theory in discrete math - it wasn't an independent topic - so I'm surprised that you didn't cover it in your discrete math courses. As I recall, first semester was more combinatorics and second was more graph theory, but I don't recall at this point.

Also, in reading the ACM curricula guidelines, I came across the comment "As is typical of most programs in engineering, this program has a smaller general education component than Curriculum A described in this appendix, with more hours devoted to computer engineering topics."

That is (and using your earlier terminology), a computer engineering degree is more specialized, while a computer science degree will include more non-CS courses and give a 'more versatile, open-ended' education. :)