Live data from Hacker News

Code != computer science

ultrasaurus.com

111–120 of 148 posts

Re: Code != computer science

#111
post #58

Earlier quoted context omitted.

> I have friends with computing science degree yet they cannot code or have shipped software. So do I, but CS degrees are not about memorization. At least not in North America or Europe. For my CS degree, I had to follow the math and deliver code. Toy code of course, but its a long way from "recalling and reciting references." If it had been about memorization I would probably have failed. I also know people who say…

How the hell does this lead to stereotyping an entire race? Just so you know India and China have produced a large bulk of academics in computing science, across various educational institutions in North America and Europe. So I find your statement very arrogant and condescending. Of course you can't memorize your way through a CS course requiring you to write code, but my point is exactly that, school doesn't teach…

> How the hell does this lead to stereotyping an entire race?

It does not. It is just an anecdote, from three people I know, who were required to memorize stuff, and found their coding ability did not contribute much.

> Just so you know India and China have produced a large bulk of academics in computing science, across various educational institutions in North America and Europe.

Yes, I did.

Re: Code != computer science

#112
post #44

Earlier quoted context omitted.

That last bit sounds amazing and highly valuable. I go to a well regarded top CS school and I regret that we don't have something like that in our curriculum that forces people to write multi-thousand-lines of code with a team and maintain it. Our EE program has something like that where you choose a team and build something with them over the course of a semester while having an "advisor". At the end you make a repo…

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

Wikipedia describes "computer science" as an umbrella term covering everything pertaining to software development and algorithmic thought. Academic computer science programs generally offer courses in both the theoretical and the applied.

Even the very term itself has often been described as a misnomer, not necessarily having anything to do with "computers" or with "science".

I think the reason people mix such things around so much is because what "computer science" is has been ambiguously defined all along.

Re: Code != computer science

#113
post #5

I've always thought of computer science as a branch of mathematics. To me coding or programming is applied (or engineering) computer science, it's an engineering field (hence the term software engineer). Just like there is theoretical physics (a basic science), and also applied/engineering physics (e.g. mechanical engineering). They are related fields, but specializing in one does not mean you will be good at the oth…

I would say some of Computer Science is mathematics. Mathematics is the foundation of Computer Science, but CS is not a branch of mathematics, although the origins of the field are found there. It is an important, core, part of the subject, but it does not entirely encompass it.

For example, CS also includes Psychology, Graphic Design, social science, art, etc.

Also, CS involves the teaching of programming, which is a craft (ignoring edge cases) - crafts cannot be taught through maths alone.

Re: Code != computer science

#114

True but: Code people, should be open to learn theory when needed. CS people, should be open to understand that writing code is not marginal and takes a lot of time to master. Probably more cooperation would be needed.

Programming is a crucial part of CS. There is no separation of the two

Programmers who don't know CS are programmers who are less educated in the theory of their practice.

Re: Code != computer science

#115

This. If you're judging Computer Science by coding, you are making a huge mistake. Computer Science does not teach you how to code. I remember the only time my university teach me how to code is during our introductory course. Computer Programming 1. And that's it. You're on your own in your coding. Computer Science is more than just coding. It involves graphs, complexity, math, theories, and much more. Which is a lo…

If you do a CS degree that does not involve being taught to code, and code well, then I would ask for your money back.

Re: Code != computer science

#116
post #112

Earlier quoted context omitted.

Science != engineering. Engineers take what scientists discover and create and design solutions based on that. Computer science is not about engineering a large software solution. Rather it's about discovering and creating algorithms and techniques that engineers can use to design solutions. Much of the comments to this article seem to be happy to mix the roles of "technician", "engineer", and "scientist" when they a…

Wikipedia describes "computer science" as an umbrella term covering everything pertaining to software development and algorithmic thought. Academic computer science programs generally offer courses in both the theoretical and the applied. Even the very term itself has often been described as a misnomer, not necessarily having anything to do with "computers" or with "science". I think the reason people mix such things…

The truth is, CS is not a "science" like biology or physics.

It is an education in understanding computation and software development.

I'd also argue it is not an engineering discipline either. It's unfortunate the terms "Computer Science" and "Software Engineering" were ever accepted. They're holding us back; we're stuck in an outdated view of the subject.

Re: Code != computer science

#117
post #20

I look at this from the other side as well. I've worked with brilliant people with ivy league CS degrees who wrote much messier and less maintainable code than me, an autodidact designer/js dev with 1.5 years of experience. Maybe I'm wrong, and there was something in their code that I wasn't seeing, but I don't think so. There can also be a bit of an attitude, like the person is thinking "of course this is good, I we…

I'm a mechanical engineer, when I worked for a small manufacturing shop many of the best machine and fixture designs came from the machinists in the tool room. We tried to achieved the balance that you're talking about by having the machinists and engineers collaborate closely.

Re: Code != computer science

#118
I agree that the distinction needs to be made, although the exact difference between the two, as many of the comments have already stated well, is hard to define. A good post.

Nowadays academia is under ever increasing pressure to produce fit-for-work experts, and seen from such a perspective it really can look pointless. I personally strongly disagree with such a view. IMO, it should appear to be pointless! It should broaden your thinking and introduce you to the cutting edge of the field, not just specialize you for a certain line of work. There should be programs which will do only such a specialization, but a full-on CS course is supposed to be more. In the end, how well you will work will depend on a lot more than just the school, but a good school will help.

The Law of Leaky Abstractions is, perhaps, a good argument for why it is useful to learn all that theory even though in practice it is rarely needed. Sometimes, you just need to know what is going on behind the scenes.

P.S. I always have the feeling that the Dunning-Kruger effect is strongly present in these discussions. The first programmer that I heard claiming that a degree is useless is also the guy who didn't know what a DB transaction is for and when he should use it. It's not a huge deal, we fixed the bug, taught him, and then he knew. But - not knowing such basics, how could he possibly know what else he is also oblivious about?

We need good schools to teach us that we don't know shit.

Re: Code != computer science

#119
"[Computer science] is not really about computers -- and it's not about computers in the same sense that physics is not really about particle accelerators, and biology is not about microscopes and Petri dishes...and geometry isn't really about using surveying instruments. Now the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to confuse the essence of what you're doing with the tools that you use." -- Hal Abelson
Post reply on HN