April 24, 2007
hm, how about...
why is problem X undecidable?
why does solving problem Y take at least O(...) time/space?
why are some problems NP and others P or aren't they?
why do these weights and activation functions make a recursive neural
network X do what it does?

"software engineering" is clearly a large subset, but you would have to stretch the term pretty much to make most theoretical CS fit in there.

Don Clugston wrote:
> Jascha Wetzel wrote:
>> the german name of this subject is more appropriate. "informatik" suggests the science of information.
> 
> It's better -- works well for most business apps, but it's a bit of a
> stretch for things like games.
> IMHO, "software engineering" is a much better term.
> 
>> just because there are no experiments doesn't mean it's not a science, though. mathematics is usually considered a science although has no experiments either. that's because both aren't natural sciences where there is a given real world complex that we try to understand by sampling it with experiments.
> 
> In science, we're always trying to answer the "why?" question.
> Mathematics is no exception; that's what proofs are about.(*Why* are
> there no integral solutions to x^n+y^n=z^n where n>2 ?)
> But in CS, the question is almost always "how?". While doing CS, you
> almost never come away with more understanding about how the universe
> behaves. Most of the actual computer *science*  is done in mathematics
> departments.
April 24, 2007
Jascha Wetzel <[firstname]@mainia.de> Wrote:

> hm, how about...
> why is problem X undecidable?
> why does solving problem Y take at least O(...) time/space?
> why are some problems NP and others P or aren't they?
> why do these weights and activation functions make a recursive neural
> network X do what it does?
> 
> "software engineering" is clearly a large subset, but you would have to stretch the term pretty much to make most theoretical CS fit in there.
> 
> Don Clugston wrote:
> > Jascha Wetzel wrote:
> >> the german name of this subject is more appropriate. "informatik" suggests the science of information.
> > 
> > It's better -- works well for most business apps, but it's a bit of a
> > stretch for things like games.
> > IMHO, "software engineering" is a much better term.
> > 
> >> just because there are no experiments doesn't mean it's not a science, though. mathematics is usually considered a science although has no experiments either. that's because both aren't natural sciences where there is a given real world complex that we try to understand by sampling it with experiments.
> > 
> > In science, we're always trying to answer the "why?" question.
> > Mathematics is no exception; that's what proofs are about.(*Why* are
> > there no integral solutions to x^n+y^n=z^n where n>2 ?)
> > But in CS, the question is almost always "how?". While doing CS, you
> > almost never come away with more understanding about how the universe
> > behaves. Most of the actual computer *science*  is done in mathematics
> > departments.

Software Engineering IMHO is the application of the science to solve a given problem.  This is the "how" question he refers to.

Computer Science IMHO is the study of a subset of Mathematics such that we are bound to discrete sets and algorithms; and we have a set of typically consistent objectives, such as minimizing time and space complexity; which other studies in Mathematics don't explicitly define.

On another note, you cannot understand "why" the abstraction is by examining the formula, you can merely understand "what" it is.

Why can we not understand "why" a formula behaves a certain way?  Because the concept of why is based on the concept of purpose, and the purpose is subset to existence; defined by it's users rather than being a necessary property of something that exists.

April 24, 2007
Dan wrote:
> Jascha Wetzel <[firstname]@mainia.de> Wrote:
>> Don Clugston wrote:
>>> Jascha Wetzel wrote:
>>>> just because there are no experiments doesn't mean it's not a science,

There are experiments, but they're mostly done a-hoc and small-scale -
like timing loops instead of trying to count cycles and predict cache
behaviour, which is plain impossible on some architectures.
Also, from a software-engineering POV every new programming language
must be viewed as an experiment. D is one. So was Java (is still a bit).

> Software Engineering IMHO is the application of the science to solve a given problem.  This is the "how" question he refers to.
> Computer Science IMHO is the study of a subset of Mathematics such that we are bound to discrete sets and algorithms; and we have a set of typically consistent objectives, such as minimizing time and space complexity; which other studies in Mathematics don't explicitly define.

Well, I don't know about computer science, but "Informatik" is that
plus electronics and electrical engineering aspects.
This has traditional reasons: Mathematicians (and people working
in other math-heavy fields) and electrical engineers where the
most important "early adopters" of computers. They where also
the ones who built and programmed them. So their academia teamed
up and founded "Informatik". Therefore there is a strong hardware
aspect if you study informatics (of course by now we also have lots
of more-specialised courses that drop these aspects).

Regards, Frank
April 24, 2007
Jascha Wetzel wrote:
> hm, how about...
> why is problem X undecidable?
> why does solving problem Y take at least O(...) time/space?
> why are some problems NP and others P or aren't they?
> why do these weights and activation functions make a recursive neural
> network X do what it does?

Agreed. Those are all mathematical, science questions. And the CS department at the university I went to, thought that was what they should be teaching. But there isn't really very much of it, and most of it was developed by regular mathematicians (Goedel, etc), without much connection to actual computers.

> "software engineering" is clearly a large subset, but you would have to
> stretch the term pretty much to make most theoretical CS fit in there.

Yup. But theoretical CS is pretty much a specialised branch of mathematics, which I think is not how the CS term is generally used.

But we're stuck with the name now!
April 24, 2007
Chris Nicholson-Sauls wrote:
> Walter Bright wrote:
>> Stephen Waits wrote:
>>> Basically, seems like the students aren't learning much about the machine any more.  Were they ever?  Or were us "old-timers" (I'm 35, not quite an old timer, but whatever) just so excited about the whole thing that we all spent way too much time learning stuff on our own?  (I also quit college so I could learn more)
>>
>> A guy in my dorm in college built a CPU board out of random logic (NAND, NOR gates) just for fun. Those are the kind of guys you want to hire!
>>
>> I think it was Niven who wrote that a real scientist was one who'd fearlessly peer through the gates of hell if he thought he could learn something.
>>
>> It isn't hard to tell the real engineers from the "just a job" folks in a job interview. The real engineers:
>>
>> 1) did weird projects in their spare time, just for fun, not for credit
>>
>> 2) regard getting a degree as incidental, and wind up leaving it forgotten in the bottom of a drawer
>>
>> 3) took the hard classes that weren't required
>>
>> 4) didn't duck the calculus classes
>>
>> 5) can enthusiastically describe their projects
>>
>> 6) can tell you how bright an LED can glow if you file down the housing a bit and stick it in liquid nitrogen
>>
>> The charlatans:
>>
>> 1) did nothing that wasn't required
>>
>> 2) generally complain that their hard work goes unrecognized
>>
>> 3) are much more interested in the salary & benefits rather than what the work is
>>
>> 4) have difficulty describing just what their last project was and what their contribution to it was
>>
>> 5) complain about outsourcing or foreigners taking their jobs
>>
>> 6) never made beersicles from pouring beer into liquid nitrogen
> 
> Ironically, a friend of mine just recently acquired some liquid nitrogen and we've been chattering away at work planning all the things we intend to do with it.  Time to add beersicles to the list.. made from home brewed beer no less.  ;)  Bananas and marshmellows do fun things too... especially if loaded into certain old nerf guns, but I digress.
> 
> -- Chris Nicholson-Sauls -- who still dreams of cubicle nerf wars gone awry

I heard that ice cream created with liquid nitrogen tastes very good and it is very quick to make as well.
April 24, 2007
Jeff Nowakowski wrote:
> I see this idea mentioned over and over.  "you won't need all this baroque knowledge we're feeding you, yet it will help your problem solving skills".  Guess what I do when I write programs?  Yep, I solve problems.  I learned this skill while learning to program, and every time I program it is reinforced.

This blog post just hit my radar yesterday.  Thought it was appropriate to this conversation.

  http://ihurl.com/2f

--Steve
April 24, 2007
Don Clugston wrote:

> Jascha Wetzel wrote:
>> hm, how about...
>> why is problem X undecidable?
>> why does solving problem Y take at least O(...) time/space?
>> why are some problems NP and others P or aren't they?
>> why do these weights and activation functions make a recursive neural
>> network X do what it does?
> 
> Agreed. Those are all mathematical, science questions. And the CS department at the university I went to, thought that was what they should be teaching. But there isn't really very much of it, and most of it was developed by regular mathematicians (Goedel, etc), without much connection to actual computers.
> 
>> "software engineering" is clearly a large subset, but you would have to stretch the term pretty much to make most theoretical CS fit in there.
> 
> Yup. But theoretical CS is pretty much a specialised branch of mathematics, which I think is not how the CS term is generally used.

The algorithmic parts of CS is mostly math, yes. There's quite a bit of software specific stuff though, like research into information systems and the methodologies to build them. This is again closely related to software engineering, in which research also is performed. Then you have the hardware part of it (computers are equally much hardware as software). My impression of those doing research at my university, was that they _are_ highly professional scientists, doing everything from exceptionally boring stuff to exceptionally exciting stuff.

I do to some degree agree that for what we as students did, science is a misnomer, and that is not a word used in the norwegian description of the studies either. In Norwegian terms, I'm an engineer in what we call datateknikk, meaning whatever means there are to treat data in a meaningful way.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
April 24, 2007
Stephen Waits wrote:
> This blog post just hit my radar yesterday.  Thought it was appropriate to this conversation.
> 
>   http://ihurl.com/2f

And the full URL (I really dislike hidden URLs):

http://steve-yegge.blogspot.com/2006/03/math-for-programmers.html

That was a good blog article, thanks for posting it.  I agree with a lot of what he says, in particular about the way math is taught.  As I have said, I didn't mind the concepts so much as attention to arcane detail.  I actually do what he's been doing, that is revisiting math as I need it while running across it in research papers.

I still think, however, that the vast majority of programmers can get by with basic algebra, discrete math, and a high level understanding of calculus.

-Jeff
April 25, 2007
Jeff Nowakowski wrote:
> Stephen Waits wrote:
>> This blog post just hit my radar yesterday.  Thought it was appropriate to this conversation.
>>
>>   http://ihurl.com/2f
> 
> And the full URL (I really dislike hidden URLs):
> 
> http://steve-yegge.blogspot.com/2006/03/math-for-programmers.html
> 
> That was a good blog article, thanks for posting it.  I agree with a lot of what he says, in particular about the way math is taught.  As I have said, I didn't mind the concepts so much as attention to arcane detail.  I actually do what he's been doing, that is revisiting math as I need it while running across it in research papers.

Donald Knuth has a book called "Concrete Mathematics" that it fairly useful for programmers.  It's also very well written, which is rare.


Sean
1 2 3 4 5 6 7 8 9 10
Next ›   Last »