Comment by dahart

6 years ago

> So Computer Science is Engineering?

Mostly, yes, especially as an undergrad. A science forms and tests hypotheses, usually about natural phenomena. I only had a few classes in CS where we tested any hypotheses or performed any real experiments. Most of it was design and learn by rote, and not experimentation.

Theoretic Computer Science is pretty sciencey but is testing things engineers built and often testing using math rather than experiment. Algorithms and data structures use the result of some science, but don’t teach or perform much science normally. Graphics involves a lot of cross-discipline physics and math, but in practice is teaching techniques and APIs, and doing very little scientific experimentation.

Machine learning may be bringing more science into computer science. People are certainly running lots of experiments in ML today trying to figure out how neural networks behave. A lot of it is still engineering too, of course, but there is some science in there.

I think you were unfortunately downvoted. I think you're mostly accurate, but I think all sciences at the undergrad level don't teach how to do science. They teach about science. Yes, I know that there are labs, but that's rarely the emphasis. A physics and chemistry student is mostly learning things that other people have discovered and figured out. It's not until the graduate level that someone actually starts doing science as opposed to learning about science. And a lot of that is necessary: in order to be a productive scientist in any discipline, there is a lot of background material you need to understand first. The bar of entry to adding to our scientific knowledge is very high.

But, I think it would be good to include more philosophy of science - what does it mean to do science - at the undergrad level.

  • A physics or chemistry student is learning about empiricism on lab courses, and about how other scientists came-out with their advances. But more importantly, they are mostly studying science itself, not how use it to create practical stuff.

    • I don't disagree with your comment, and I don't think your comment disagrees with mine. I was agreeing with dahart that a computer science undergrad curriculum is mostly not about doing computer science, but then pointing that that is true for all sciences.

      1 reply →