wu :: forums (http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi)
riddles >> general problem-solving / chatting / whatever >> CS programs not as education but as IQ tests
(Message started by: amichail on May 17th, 2007, 5:07pm)

Title: CS programs not as education but as IQ tests
Post by amichail on May 17th, 2007, 5:07pm
CS programs tend to be quite theoretical at the top universities.

But is such a theoretical approach  suitable for educating software engineers?

Universities would argue that a mathematical background is important for developing problem solving skills.

However, success in such a program is also indicative of high IQ.  High IQ students can learn whatever they need later on their own.

And so CS education might be more of an IQ test that is useful to employers.  The idea that something important is being taught might be wrong.

Title: Re: CS programs not as education but as IQ tests
Post by towr on May 18th, 2007, 1:20am
Is the goal of top universities to train engineers?
In this country we have several types of what abroad might be just called universities. We have 'academic' universities, technical universities and "hoge scholen"; the first is the most theoretically orientated (research), the second is geared to high-level application (engineering), and the last to more normal applications.
So I would posit that the toplevel universities you speak of do not in fact aim to educate software engineers, but rather computer scientists. Thus, to answer you're question, no; but there's nothing wrong with that.
You would probably miss out on a lot of important algorithms if not for (theoretical) computer science though. Nor, most likely, would you have proofs of their correctness. Simply put both aspects (theory and application) have their merit, and you're better off in a world that has both.

Also note that an example like the devellopment of RSA is based almost entirely on mathematics. Someone that was only a software engineer and hadn't much training in number theory would never have found it.

Title: Re: CS programs not as education but as IQ tests
Post by amichail on May 18th, 2007, 6:20am
People certainly do go to MIT for example to become engineers.

But my point is that a theoretical program can be completely misguided -- and not just for software engineers but also for computer scientists!

Any program that measures IQ would result in a grading system that is predictive of future success -- even if the material taught is completely irrelevant.

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 18th, 2007, 10:22am

on 05/18/07 at 01:20:16, towr wrote:
Nor, most likely, would you have proofs of their correctness.

By the way, when I was a postgrad in the 90's Formal Methods was quite a popular and developing subject. One standard text I remember was by Hoare. How are things today?

Title: Re: CS programs not as education but as IQ tests
Post by amichail on May 18th, 2007, 12:16pm

on 05/18/07 at 10:22:34, ThudanBlunder wrote:
By the way, when I was a postgrad in the 90's Formal Methods was quite a popular and developing subject. One standard text I remember was by Hoare. How are things today?

Formal methods are mostly a European thing.

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 18th, 2007, 1:49pm

on 05/18/07 at 12:16:59, amichail wrote:
Formal methods are mostly a European thing.

Is that why we have never had a Three Mile Island?

Title: Re: CS programs not as education but as IQ tests
Post by SMQ on May 18th, 2007, 2:02pm

on 05/18/07 at 13:49:44, ThudanBlunder wrote:
Is that why we have never had a Three Mile Island?

Would you rather claim Chernobyl instead?!  :o

--SMQ

Title: Re: CS programs not as education but as IQ tests
Post by Icarus on May 18th, 2007, 4:00pm

on 05/18/07 at 06:20:54, amichail wrote:
But my point is that a theoretical program can be completely misguided -- and not just for software engineers but also for computer scientists!

Any program that measures IQ would result in a grading system that is predictive of future success -- even if the material taught is completely irrelevant.


The mark of a good theoretical program in any discipline is not financial or career success of its graduates, but rather the quality of the research they publish, as judged by its "customers".

Disciplines generally are organized in layers progressing from the most theoretical to the most applied. The exemplar of this is probably Physics, which is broken down as:

Pure Mathematics
Applied Mathematics = Theoretical Physics
Experimental Physics
Concept Engineering
Design Engineering
Manufacturing Engineering
(Consumer)

The value of the work of each level of this progression is decided mostly by the level after. Most people who are familiar with the process recognize the value of each level in the physics progression. Every level developed to meet the needs of the level below. Each eventually came to be recognized as a separate discipline because they each have separate needs. The initial training for each field overlaps significantly with the nearer fields, so much so that colleges generally do not teach them all as separate fields. Yet any sizable company splits Engineering into the three groups listed, and those who work for them tend to specialize in just one of these. Similarly, the difference between theoretical and experimental engineering does not exist until late in the physicist's schooling, nor the difference between pure and applied mathematics.


The same thing is true for the CS field, though because it is so new, matters are still sorting out as to where the divisions between layers are needed (remember that Mathematics and Physics were not considered separate disciplines until about 100 to 150 years ago). The same sort of progression from theory to application is needed in CS.

Some people are needed to do basic research into the algorithmic process, some are needed to tie that research into real world conceptions, some are needed to convert those conceptions to actual usable algorithms, and some are needed to apply those algorithms to actual customer needs. And everyone involved needs to see something of the whole picture to figure out where they fit in it.

Those theoretical programs are needed to provide the top level of this progression. It is needful that everyone have some exposure to them in order to know what they should be asking for at their own level. At some point, too, there needs to be training at a more practical level, for those who feel led in this direction. Not being a CS person, I don't know what paths are available to one, but there should be the whole range to choose from.

Title: Re: CS programs not as education but as IQ tests
Post by amichail on May 18th, 2007, 4:19pm
Yes, CS is a young field and university teaching is a bit hit and miss.  

But as I have argued before, I think the problem is much worse than that:

http://weblog.fortnow.com/2006/07/science-and-art-of-computation.html

There is something different about computation and yet our attempts to teach it do not reflect that difference -- instead we try to teach it by imitating other fields!

Things are changing though at least in industry.  We can see much more creative approaches to computation now particularly with the explosion of web 2.0 startup ideas.

And even in academia, we are starting to see real ingenuity and creativity:

http://en.wikipedia.org/wiki/Human-based_computation

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 19th, 2007, 8:10am

on 05/18/07 at 14:02:02, SMQ wrote:
Would you rather claim Chernobyl instead?!  :o

--SMQ

Claim?   ???

Yes, the Soviet Union had Chernobyl, the US had Three Mile Island, and evidently Europe has had Formal Methods.  


Title: Re: CS programs not as education but as IQ tests
Post by Barukh on May 19th, 2007, 9:42am

on 05/19/07 at 08:10:43, ThudanBlunder wrote:
Yes, the Soviet Union had Chernobyl, the US had Three Mile Island, and evidently Europe has had Formal Methods.

Don't know how much Formal Methods can help solving nuclear reactor functionality ptoblems.

Besides, do you want to say that Europe hasn't suffered from any man-made disasters in last 50 years?

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 19th, 2007, 10:19am

on 05/19/07 at 09:42:32, Barukh wrote:
Don't know how much Formal Methods can help solving nuclear reactor functionality ptoblems.

Isn't proving program correctness of critical nuclear reactor software a good idea?

Title: Re: CS programs not as education but as IQ tests
Post by amichail on May 19th, 2007, 10:36am

on 05/19/07 at 10:19:30, ThudanBlunder wrote:
Isn't proving program correctness of critical nuclear reactor software a good idea?

Yes, of course.  But do enough software engineers end up working on mission-critical software to warrant making formal methods a major part of a CS education?

Title: Re: CS programs not as education but as IQ tests
Post by rmsgrey on May 19th, 2007, 10:57am

on 05/19/07 at 10:36:07, amichail wrote:
Yes, of course.  But do enough software engineers end up working on mission-critical software to warrant making formal methods a major part of a CS education?

It only needs one to make it necessary that someone get taught it. I don't think anyone here is arguing that you should automatically teach everyone formal methods (though there's an obvious benefit to exposing all software engineers to at least the basics) - but that doesn't mean no-one should get taught it either...

Title: Re: CS programs not as education but as IQ tests
Post by SMQ on May 19th, 2007, 12:21pm

on 05/19/07 at 08:10:43, ThudanBlunder wrote:
Claim?   ???

Um, last time I checked, Chernobyl was in Europe (http://maps.google.com/maps?client=firefox-a&channel=s&hl=en&q=Chernobyl&ie=UTF8&oe=UTF-8&cd=1&ll=51.261915,30.234375&spn=19.319048,41.132813&z=5&iwloc=addr&om=1)...  geographically, if maybe not politically.  My point being that bad judgment happens everywhere.

--SMQ

Title: Re: CS programs not as education but as IQ tests
Post by towr on May 19th, 2007, 12:43pm

on 05/18/07 at 10:22:34, ThudanBlunder wrote:
By the way, when I was a postgrad in the 90's Formal Methods was quite a popular and developing subject. One standard text I remember was by Hoare. How are things today?
I don't really know actually. When I had my course in program correctness I still wasn't prone to read my textbooks. And more recent familiarity was more practically oriented, using prover system to show correctness. (We have a professor that is very busy in the subject)

Title: Re: CS programs not as education but as IQ tests
Post by towr on May 19th, 2007, 12:45pm

on 05/18/07 at 06:20:54, amichail wrote:
But my point is that a theoretical program can be completely misguided -- and not just for software engineers but also for computer scientists!
Any program can be totally misguided. So ?
I very much doubt the programs at MIT and other top universities busy themselves with things that are irrelevant to their subject. Their not just measuring IQ, but their teaching certain subjects and modes of thinking. Or at least that's what I'd expect.
Teaching a hundred ways to get "Hello world" on a screen isn't a better approach.


on 05/18/07 at 16:19:00, amichail wrote:
web 2.0
An empty phrase if ever there was one. The web doesn't have versions, it's a continuous process.

Title: Re: CS programs not as education but as IQ tests
Post by amichail on May 19th, 2007, 12:52pm

on 05/19/07 at 12:45:45, towr wrote:
Any program can be totally misguided. So ?
I very much doubt the programs at MIT and other top universities busy themselves with things that are irrelevant to their subject. Their not just measuring IQ, but their teaching certain subjects and modes of thinking. Or at least that's what I'd expect.
Teaching a hundred ways to get "Hello world" on a screen isn't a better approach.


For whatever reason, computer science isn't really about software engineering.  

Professors teach what they like, even if it is less useful than more applied content.

Moreover, professors tend to like teaching and assessing students in a way that requires a high IQ for high marks.

So we get a situation where it appears that the curriculum is well-suited to software development, simply because those students who do well in university seem to do well later.

But that's just because those students have a high IQ and they would do well at pretty well anything, no matter what their education was like.

As for me, as I mentioned before, my interest in computing now is more creative, more at the application rather than the implementation level.

Title: Re: CS programs not as education but as IQ tests
Post by towr on May 19th, 2007, 12:53pm

on 05/19/07 at 10:19:30, ThudanBlunder wrote:
Isn't proving program correctness of critical nuclear reactor software a good idea?
Well, really the only thing you can do is prove that the program does what it says it does (or find otu what exactly it does). Whether it makes the right decisions is another method. Computers are very efficient in making the mistakes that people tell them to make very quickly and repeatedly.

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 21st, 2007, 3:24am

on 05/19/07 at 12:53:43, towr wrote:
Well, really the only thing you can do is prove that the program does what it says it does (or find otu what exactly it does). Whether it makes the right decisions is another method.

Right, but we are at least reducing human error.


on 05/19/07 at 12:53:43, towr wrote:

Computers are very efficient in making the mistakes that people tell them to make very quickly and repeatedly.

Indeed. For example, how would a program decipher the above sentence?    ;)


Title: Re: CS programs not as education but as IQ tests
Post by towr on May 21st, 2007, 3:46am

on 05/21/07 at 03:24:05, ThudanBlunder wrote:
Indeed. For example, how would a program decipher the above sentence?    ;)
I think it might have quite a bit of trouble coming up with the idea that I somehow switched "matter" and "method". I'm not quite sure myself how I managed to make that mistake.

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 21st, 2007, 4:22am

on 05/21/07 at 03:46:51, towr wrote:
I think it might have quite a bit of trouble coming up with the idea that I somehow switched "matter" and "method". I'm not quite sure myself how I managed to make that mistake.

In fact, I was referring to the more subtle mistake below.


on 05/19/07 at 12:53:43, towr wrote:
Computers are very efficient in making the mistakes that people tell them to make very quickly and repeatedly.

Would it be clear to a program what 'very quickly and repeatedly' refers to?


Title: Re: CS programs not as education but as IQ tests
Post by towr on May 21st, 2007, 4:41am

on 05/21/07 at 04:22:20, ThudanBlunder wrote:
Would it be clear to a program what 'very quickly and repeatedly' refers to?
It might consider both interpretations.
I'm not sure whether it consitutes a mistake, subtle or otherwise. Any additional punctuation would change the meaning. The only other remedy would be restructuring the sentence, but that would mean that there's things you can (properly) say but not write.

The basic structure of the sentence is "Computers are very efficient in making the mistakes very quickly and repeatedly."
The "that people tell them to make"-part is not an accidental quality of the mistakes, though, so it has to be added without surrounding commas. (I seem lost for the proper terminology on this point, at the moment)

So basicly, words cannot express how I feel ;)

Title: Re: CS programs not as education but as IQ tests
Post by ThudanBlunder on May 21st, 2007, 5:19am

on 05/21/07 at 04:41:23, towr wrote:
(I seem lost for the proper terminology on this point, at the moment)

So basicly, words cannot express how I feel ;)

Funny perhaps?   ;)

And of course you are not writing in your mother language.

Anyway, for human consumption I would stick the 'very quickly and repeatedly' after 'in', as I think an adverb usually modifies what immediately follows or precedes it. Placed at the end of a sentence, it must therefore modify what immediately precedes it. But I wouldn't know what's best for computer parsing.


Title: Re: CS programs not as education but as IQ tests
Post by towr on May 21st, 2007, 6:11am

on 05/21/07 at 05:19:23, ThudanBlunder wrote:
Anyway, for human consumption I would stick the 'very quickly and repeatedly' after 'in'
Yes, that would fall under the 'restructuring' remedy.
I suppose if you can't say what you want clearly, you should change what you want to say to something clear.


Quote:
as I think an adverb usually modifies what immediately follows or precedes it. Placed at the end of a sentence, it must therefore modify what immediately precedes it.
Well, it does modify the last subtree when parsing the sentence; so in that much it's ok
A rough parse:
[Computers [are [very efficient] [in [making [the mistakes that [people tell them to make]] [very quickly] and repeatedly]].


Quote:
But I wouldn't know what's best for computer parsing.
My experience with natural language processing is that a normal sentence can be parsed in at least half a dozen ways, having various types of structural ambiguity. The ambiguity is usually cleared up (for people) by the meaning of the consituent words and context, but computers lack such an understanding.



Powered by YaBB 1 Gold - SP 1.4!
Forum software copyright © 2000-2004 Yet another Bulletin Board