Putting the Science back in Computer Science
cs.princeton.edu
Putting the Science back in Computer Science
1–10 of 42 posts
Re: Putting the Science back in Computer Science
#2Re: Putting the Science back in Computer Science
#3I wonder if one of the implications of this presentation is that use of 'O' notation in design/algorithm selection is a form of cargo cultism?
Re: Putting the Science back in Computer Science
#4Computer 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 sense of using computational resources and in the sense that no sound and complete algorithm may even be available.
On the other hand, the real world requires us to represent facts like "Captain Kirk is a person is the Star Trek universe" and "Christians believe that Jesus Christ is the Son of God", "The identity of Deep Throat was unknown to most people in 1993", etc. For that we need highly descriptive representations.
On the other hand, we know that people and animals are quite capable of various sorts of modal reasoning. People aren't good at solving arbitrary problems with general structures, but they seem to have a bunch of heuristics that can deal with all of the problems that are actually in place.
Perhaps a scientific approach can be experimental, and not be so concerned with problems that ~might~ happen, but as an engineer I'm afraid the term 'science' is something that can be appropriated for the fashion of day, as in 'scientific socialism'.
Re: Putting the Science back in Computer Science
#5I wonder if one of the implications of this presentation is that use of 'O' notation in design/algorithm selection is a form of cargo cultism?
Not really, Big-O has its places. I think his point in that area was that the constant factors do matter, and are glossed over (by definition) in Big-O. Reminds me of DJB's book on high-speed crypto, where he talks about this issue: http://cr.yp.to/highspeed.html
Re: Putting the Science back in Computer Science
#6Earlier quoted context omitted.
Not really, Big-O has its places. I think his point in that area was that the constant factors do matter, and are glossed over (by definition) in Big-O. Reminds me of DJB's book on high-speed crypto, where he talks about this issue: http://cr.yp.to/highspeed.html
Is that book available anywhere? I can't seem to find it.
Re: Putting the Science back in Computer Science
#7Earlier quoted context omitted.
Not really, Big-O has its places. I think his point in that area was that the constant factors do matter, and are glossed over (by definition) in Big-O. Reminds me of DJB's book on high-speed crypto, where he talks about this issue: http://cr.yp.to/highspeed.html
Is that book available anywhere? I can't seem to find it.
Re: Putting the Science back in Computer Science
#8Hard 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'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 machine.
In this freedom, you have art. It can be used to implement math or build mathematical theories on. You can do science and have lots of fun.
The role of the software architect is to define reality and this reality will enable engineering.
Re: Putting the Science back in Computer Science
#9Last year I read Bergeron et al's Combinatorial Species and then dipped into Flajolet and Sedgewick's Analytic Combinatorics. The first of these is concerned with mathematical structures that are tantalizingly close (or identical) to data structure that we often use. These can be represented as algebraic expressions and converted into related or equivalent ones using simple operations from algebra and calculus. F&S exhibit the tools necessary for analyzing the properties of these structures, using complex analysis, the same tools used to get a grip on "ordinary" algebraic expressions. It turns out these tools can help predict the performance of algorithms or help generate large random data structures for testing or statistical analysis.
We are used to the strong connections between type theory and mathematical logic, and here we see something that looks like types being manipulated with algebra!
To me the trend is this: CS will benefit in the future from borrowing more and more design patterns from math. E.g. Don't think databases, think relations, or better yet, graphs.
Re: Putting the Science back in Computer Science
#10Hard 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…