Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Theoretical CS is hardcore mathematics https://en.wikipedia.org/wiki/Theory_of_computation


That's certainly an area where there is very deep overlap. I'd even say it's just mathematics. But aren't those topics generally covered in just a single course, maybe two, in a CS undergraduate degree?


In pretty bad CS degrees, maybe. Where I'm from, CS is mostly maths and there is a separate software engineering degree for those who want more software and less maths.


Your comment presumes the value of a CS education is that it is viewed and studied through a lens of mathematics. Otherwise you call the program “bad”.

Many people have a different opinion of what CS is. Seems like you enjoy theory, so you went to a program that is heavy on theory. Smart move for you, not the same move others would make for equally smart reasons.

Personally I think all of the theory is fine, but computer science is about doing science. You can do theory science, but there is a wide world of science that needs to be done beyond that. For instance, an HCI researcher may not work much with algorithms, but that doesn’t make them any less of computer scientist, although some jerks might like to think so.

As for programs, most only have a core of 5-7 core required courses, along with a dozen or more other elective and general liberal arts courses. If more than a couple of the required courses are devoted to theory, then it’s probably tailored toward people who know they want that kind of thing. That’s neither good nor bad, but it doesn’t mean that other programs that don’t require more theory are necessarily bad. It may be that they just want to give students a broad overview of the field, and allow them to dive deep into theory with electives.


I genuinely don't think that theory is better. I just think that we shouldn't cram everything related to computers in a single degree. It's not feasible and it leads to overly generalist degrees which I personally don't find very useful (which is totally a personal opinion, not some subjective truth for sure!).

Regarding your example, that's exactly why I mentioned that, where I'm from, we have a software engineering degree that is more common than computer science exactly because people want more practical courses rather than jerking about theory for three years.

We even have a distinction between "Informatique" (computer science but more practical), "Mathématiques et Informatique" (more of a classical computer science course with tons of math theory). I think this is the best way to actually provide a diverse education path for different types of people. Otherwise you get a CS degree that basically sucks imo


Well, that’s just how major evolve. They get so full with stuff until soon enough they pop and out comes another major. It’s how CS was born in the first place.

I can definitely see AI / intelligent systems becoming its own thing. The dean gave us a directive to create new programs, and said that 50% of our CS majors should be graduating with degrees that don’t yet exist in 10 years. So you may actually start seeing more degree types in the area of CS.


> But aren't those topics generally covered in just a single course, maybe two, in a CS undergraduate

I'd say the bulk of my CS degree was discrete maths adjacent to computation theory.

Honestly too much maths made me not like doing the degree (nothing against maths, I like it but I hate the way it's taught)


Theory of Computation itself may be one paper, but an undergraduate CS degree will include much applied mathematics involving logic and combinatorics and so on. I completed a short 3 year degree in CS that included the following papers:

- Algebra and discrete mathematics

- Two papers in data structures and algorithms (including theorems/proofs, using CLRS as the textbook)

- Secure systems (cryptography)

- Programming languages (parser/compiler theory etc)

- Theory of Computation

- Logic

Then I studied machine learning, which is a subfield of AI, which is a subfield of CS. That is a deeply mathematical subject, requiring knowledge of linear algebra and probability.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: