Live data from Hacker News

Putting the Science back in Computer Science

cs.princeton.edu

11–20 of 42 posts

Re: Putting the Science back in Computer Science

#11
This is very interesting and very true. I think the main points of this article are:

1. Constants do matter, specially most programs end up with an asymptotic that looks like a N^b, and a and b are often not what you'd expect. This matches my experience a lot, and it's interesting that this is one level below O notation but one level above "counting how many operations should happen, roughly", which is what you have to do in practice to make algorithmic code go fast.

2. The examples around which an intro to CS course is structured are really uninteresting. I couldn't agree more, and never cared for computing factorial, fibonacci, etc, or for writing silly games or dumb data-processing programs; Simulations and numeric algorithms are far more interesting, and can get students interested more easily when they realize that other classes' work can be made far easier with computers.

3. Everyone should know CS. Even my philosophy-major wife often has the need to run short scripts to automate some tasks, and I think that if a philosophy major can benefit from CS concepts anyone else should as well.

All these things one should find out eventually, and I agree that exposing people to these concepts as soon as possible is a very good idea, far better than what is usually taught as CS-for-non-CS-majors.

Re: Putting the Science back in Computer Science

#12
To me, Computer Science has always really been more about math than anything else. I tell people that CS is basically a glorified math degree. Although it is possible to create programs without knowing much advanced math (beyond high school), they still require you to understand math.

Also, telling people I'm a glorified mathematician means that I don't get as much requests for tech help.

Re: Putting the Science back in Computer Science

#15

Hard to say. Computer science has always been in an awkward position. Is it science, is it math, is it engineering? Some people say that it's an entirely new thing, the "study of the artificial" Personally my impression is that work in description logics, databases and such has been held back by a focus on mathematics. Roughly, the more powerful a logic system gets, the harder it is to 'compute' about it, both in the…

I prefer the German word for CS. They call it 'Informatik,' because it's all about information.

I agree that the terms 'science' and 'engineering' are both abused by those who seek to legitimize their disciplines in the eyes of the public.

Re: Putting the Science back in Computer Science

#16
post #11

This is very interesting and very true. I think the main points of this article are: 1. Constants do matter, specially most programs end up with an asymptotic that looks like a N^b, and a and b are often not what you'd expect. This matches my experience a lot, and it's interesting that this is one level below O notation but one level above "counting how many operations should happen, roughly", which is what you have…

And regarding your point (1), the slides also lay out the interesting case in which the typical-case asymptotic time complexity

  a1 N^b
is far more favorable than the worst-case form of

  a2 N^b
The first form is generally deduced through extensive experiments with typical data, while the second is (often) easily proved with just paper and pencil. The first is the more important in practice, but the second is what's quoted in textbooks.

There are so many algorithms in which a1 The linear programming/max-flow type problems the slides mention are a major case.

Re: Putting the Science back in Computer Science

#17

Hard to say. Computer science has always been in an awkward position. Is it science, is it math, is it engineering? Some people say that it's an entirely new thing, the "study of the artificial" Personally my impression is that work in description logics, databases and such has been held back by a focus on mathematics. Roughly, the more powerful a logic system gets, the harder it is to 'compute' about it, both in the…

I prefer the German word for CS. They call it 'Informatik,' because it's all about information. I agree that the terms 'science' and 'engineering' are both abused by those who seek to legitimize their disciplines in the eyes of the public.

I have noticed that any degree program that ends with "Science" is generally not science. "Social Science" and "Political Science" are two of the big offenders.

Re: Putting the Science back in Computer Science

#18
More than anything else, Computer Science is young. Unlike other disciplines, there has not yet been a schism between the theoretical and practical yet. In school, we learned a bit of everything. I took classes focused on algorithms and computation, but also took classes on software design, learning how to use databases and practicing loose coupling and such.

If you look a physics, which has been around a little longer, you see a definite split. A physics major is a license to explore the theoretical limits of the physical world. Engineers design bridges and learn skills that let them do that really well. Both sides have overlapping knowledge and their knowledge is complimentary, but schools split them into distinct groups.

My guess is that, in time, we will see the same split in computer science.

Re: Putting the Science back in Computer Science

#20

Hard to say. Computer science has always been in an awkward position. Is it science, is it math, is it engineering? Some people say that it's an entirely new thing, the "study of the artificial" Personally my impression is that work in description logics, databases and such has been held back by a focus on mathematics. Roughly, the more powerful a logic system gets, the harder it is to 'compute' about it, both in the…

It is something new entirely and the superposition of science, math, engineering, art. I've talked (and I'll blog more about this sometime) about the role of a software architect. Software is very free in an engineering sense. There is not reality except the limitations of the machine which compared to reality are kinda easy. There is no gravity, friction, collisions between matter, heat, radiation. There is just a m…

I don't object so much to the word "science" in CS as I do about the word "computer". Edsger Dijkstra said: "Computer science is no more about computers than astronomy is about telescopes."
Post reply on HN