Hacker News new | past | comments | ask | show | jobs | submit login

A computer science degree isn’t a math degree any more than a physics or chemistry degree is a math degree.

Classes like Computer Organization, Operating Systems, Networking, Databases, Software Engineering Fundamentals, the first year programming sequence, etc. could hardly be considered math courses.




> Classes like Computer Organization, Operating Systems, Networking, Databases, Software Engineering Fundamentals, the first year programming sequence, etc. could hardly be considered math courses.

so a math degree has to have every single course be a math course? do they not take literature?

Networking had me prove the theoretical limit of networks using calculus and other things, databases had us using relational algebra and other proofs... it certainly wasn't `select * from users;` kinda course. it's a math degree at least at my university and most reputable ones it is. are all classes 100% pure math? no of course not but the emphasis is math.


And a physics class will have you prove facts about momentum using calculus. A chemistry class may use basic elements of group theory, and it won’t be a “pour this chemical into that beaker” kinda course.

They’re not math degrees, and neither is CS. The emphasis isn’t math in a CS program at any reputable university; the emphasis is computer science.


The University of Waterloo, which came up elsewhere in the comments, is one of the top CS universities in Canada and gives out B.Math degrees with a CS major.

When you say, "the emphasis is computer science" what exactly does the term "computer science" mean to you? I'm not trying to be a jerk here. I think the term "computer science" covers several related, but distinct, disciplines so it's helpful to know exactly what the other person is referring to.


My databases course was very much a "select * from users" kinda course. Oh there was a little bit about good practice for relational DBs and what not but I wouldn't call it a math class. Obviously this is going to depend on your school, program, etc. I took a lot of math and CS besides my discrete math CS course and algorithms I wouldn't really call them math courses any more than I would economics or chemistry. Sure there's math sometimes but it's not the focus.

General electives like a math major having to take a literature course is very different from a core required piece of the major being literature.


> My databases course was very much a "select * from users" kinda course.

to be frank that doesn't sound like a very rigorous school for computer science... that sounds more like an information science curriculum instead of a proper computer science one. I'm talking university of california style learning or the equivalent.


> university of california style learning

Oh give me a break. CS 122 from UCI is exactly a “select * from users” kinda class. Sure, it has some sparse elements of theory sprinkled in, but pretending it’s some form of math class is outrageous.


Computer Science degrees also require literature. And some math, but not all.

But then UT Austin may not be a reputable university, computer science-wise.

[Certainly, they've redone the curriculum since I was there, and I don't like what they've done.]


> A computer science degree isn’t a math degree any more than a physics or chemistry degree is a math degree.

1 of these things isn't like the others.

There are places where theoretical physics and applied math are put together, and places where CS is put with math.

Upstream comment mentions Waterloo, where CS is as far as I know still part of the math faculty (e.g. multiple departments), not engineering. In that specific sense, every CS degree they give is a math degree - but other places give B.Math also.

This isn't just pedantry, the reason is that the boundaries are pretty fuzzy, and don't really work with the sort of absolute line you are hoping to apply.


Theoretical computer science predates modern computers by decades. Everything else is just implementation details.


Is AI computer science? Are the people going to OSDI (https://www.usenix.org/conference/osdi21/technical-sessions) doing computer science? How about SIGGRAPH (https://s2021.siggraph.org/)?


Was anyone arguing that they aren't? I'm sure you had a point behind these questions but I honestly don't get it. Could you please explain it?


"Everything else is just implementation details."

Except that those details seem to require a considerable amount of work.


Everything that falls under the umbrella of the term computer science can, in my opinion, be put into one of three categories: theoretical comp sci, algorithms, and coding. Theoretical comp sci is math. You don't need computers to do it and this is the foundation everything else is built on. Algorithms are all the specialized knowledge that fields like AI, machine learning, rendering, databases, etc use. You still don't need computers to make an algorithm. You need theoretical comp sci if you want to compare algorithms or determine if your desired result is even computable. Finally, you've got the implementation of those algorithms. This category is closer to doing a trade than anything else. This category includes all the stuff like choice of languages, should I use OOP, and other software engineering considerations Of the three, this is the category that most computer science graduates spend most of their time on.

The third category is mostly, if not all, implementation details. The fact that this is most of the work doesn't change that. I'd argue that most of the second category is implementation details as well.


Theoretical computer science is such a small portion of computer science that it’s a bit of a joke to pretend it’s most of the field.


In the post I originally replied to you mentioned a bunch of classes. Each of them, with the possible exception of software engineering, is a small portion of computer science. You could spend your whole career as a programmer and never touch a database or networked code. Even though theoretical computer science might be a small part of CS, everyone needs to use it to some degree even if they don't realize it. Can I compute X? That's theoretical computer science. Is algorithm A faster than algorithm B? Theoretical computer science again.

You also compared CS to physics and chemistry which is a bad comparison. Physics and chemistry don't have an equivalent foundation to theoretical comp sci. I'd also argue that comp sci isn't a science at all. What I do on a daily basis as a programmer is closer to plumbing than it is to science.


"Physics and chemistry don't have an equivalent foundation to theoretical comp sci."

Either that's not true, or there are an awful lot of physicists and chemists out there wondering why they took so many math courses.


Physics and chemistry use math but are not math. You can't point to an area of math and say "this is physics" or "this is chemistry." There is no chemistry without chemicals. There is no physics without physical processes. In contrast, there are areas of what we now call computer science that are math and predate computers.


You have mathematical physics, which is math. It is about treating physics as math, meaning you have axioms for the different laws of physics and then explore the topic that way. It doesn't care about experiments at all, it is just pure math. They still haven't properly formalized all of current physics that way, so it is ongoing work.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: