Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

Producing competent CS grads (was: Theory and Practice)

已查看 6 次
跳至第一个未读帖子

Jeff Seigle

未读,
1995年7月26日 03:00:001995/7/26
收件人
In article <3v0j4d...@nntp1.radiomail.net> ku...@radiomail.net (Kurt L Sussman) writes:
[quote snipped]
>
>I heard that list of three as
>
>1. Engineer
>2. Programmer
>3. Coder
>
[elaboration snipped]

There seems to me to be a skewed emphasis on the ability of CS graduates
to write code. Certainly that's what they have to be able to do to hold
a job, but a university CS program should not be a programmer factory.
I have a BS/CS degree from the University of Michigan (vintage '79).
I suppose that most CS programs today have similar requirements, to wit,
lab chemistry and physics, 400-level math, electives, and other courses
to produce not just a coder but a well-rounded, comprehensively trained
professional. Yes, a graduate should be able to perform certain programming
tasks, but if that's *all* we look for then a BS becomes no different than
a certificate from Frank and Ernie's Discount Computer Institute.

A university is not a programming school. If you expect
an exam to test what a student has learned in four years, you
need to make it more like a term project involving the full life cycle.
The student has to be able to display every aspect of building a system,
not just being able to write or modify code. The idea that a student
can demonstrate that she deserves a BS just be being able to write a
couple of thousand lines of code that work, as another poster suggested,
is ridiculous.

People bemoan the failures of the public school system
in its production of high school graduates who can't read. A BS/CS
grad who can't code is just as shameful, and if we need an exam to prove
this narrow skill then our universities are in poorer shape than I thought.
Is this what we have come to?

Jeff Seigle
CSC
Bethesda, MD

Rob Broadhead

未读,
1995年7月26日 03:00:001995/7/26
收件人
Ok, I've seen a lot of trashing of the CS education system in general,
but I would like to say that some schools are doing it right (IMHO) even
if they are a minority.
I graduated from Rose-Hulman so I am partial, but I have been pleased
with the CS program in general even though I have my doubts about some of
the staff. The program includes a good dose of datastructures, and other
programming basics as well as operating systems, software
engineering/documentation, compilers, networks, and machine architecture.
The keys to the whole program are however:

1) Most programming assignments are open ended. You get a requirements
sheet, and then everybody goes at it. The requirements tended to be
average, but once one person or team added to them everybody would follow
suit. It quickly became a quest to have the best app that also happens
to meet the basic requirements. There was never a case where
simply meeting the requirements would give you better than the worst app
of the class. Everyone realized that they would have to far exceed the
reqs to end up with something they could be proud of.

2) Senior year included a required senior project. The students worked
in small teams and had to design an app of their choosing (with prof
direction) from start to end. They didn't have to deal with maintenance,
but every other step was covered.

It was a far cry from the real world, but it did do a good job of
teaching the students how to code well regardless of the implementation
language and how to problem solve.

---Rob

Kevin Cline

未读,
1995年7月26日 03:00:001995/7/26
收件人
In article <3v5kev$m...@explorer.csc.com>,
Jeff Seigle <jse...@csci.csc.com> wrote:
>[quote snipped]

>
>There seems to me to be a skewed emphasis on the ability of CS graduates
>to write code. Certainly that's what they have to be able to do to hold
>a job, but a university CS program should not be a programmer factory.
>
>[....] The idea that a student

>can demonstrate that she deserves a BS just be being able to write a
>couple of thousand lines of code that work, as another poster suggested,
>is ridiculous.
>

I think that poster was me, and I did not suggest such a thing. I did
suggest that it is ridiculous that some universities are granting
CS degrees to students unable to write working programs.

I also suggested that this situation could be remedied rather easily,
by requiring that students demonstrate that ability before granting
the degree, just as EE students are required to produce working
breadboards, and Mech E's are required to produce working models.
I never suggested that being able to write working code
was the only knowledge that a CS graduate should have. Actually, I
expect 4-year CS graduates to have some understanding of:

machine architecture
operating system architecture
automata theory and formal languages
data structures and algorithm analysis
classical algorithms
how to read manuals
when to read manuals
how to use a library
when to go to the library

Mostly, I am disappointed. I interviewed an MS graduate from Texas A&M and
asked him how he would modify an O(N**2) algorithm to run in O(N log N) time,
and he looked at me like I had just arrived from Saturn.

Schools that grant CS degrees to students unable to write programs are
cheating both the student and their future employers.
Theoretical and practical training must be balanced. Sometime during
their four year stay, students should have a class that involves
reading, understanding, and modifying a sizeable (50K lines+) program.
Since this is what most CS graduates do for a living, it is important
for students to try it out before wasting another two years getting a
degree that will be useless to them.

Kevin Cline
--
Kevin Cline


Chris

未读,
1995年7月26日 03:00:001995/7/26
收件人
This is a subject I've been fighting against for some
time (I'm a CS undergraduate) - Of course no university
program is going to try to produce a bad CS student, but
its hard to see any that are trying to produce a
competent problem solver in the computer science world.

The Professors are typically not engaging in class, the
assignements are debugged by the students as we try to
complete them, not that the programs are
thought-provoking,
or awe-inspiring, what with half the assignments being
"fill in the blank with the code from the book", and the
other half being a share of next-to-useless code, next-
to-totally-obscure-code, and mostly just non-thinking
code, an average CS student is frustrated, and
exceptional
CS students are down-right pissed at how we're blown off
by a department whose Prof.s we pay the salaries of, but
don't get much of a measure of their respect.

Not to mention the fact that they're typically under-
staffed.

Now why would you think that it doesn't take a degree
in education for people to become teachers in CS? All
it takes is knowledge in their area, no prerequisite
ability to communicate that knowledge to others, except
perhaps their "peers" who so graciously allow them into
their ranks after working diligently for years in a
Ph.D. program... So much of the time, it was the TAs
who were able to explain class concepts to me.


WRT Jeff's posting, I find that the exams are typically
jokes played on the students (several different prof.s
have had "fill in the blank" answers, where the single
word left out of the sentence was taken either directly
out of a lecture or out of the book!), and again, the
homework is dry. I would personally prefer an
apprenticeship with a good programmer where I was able
to:

1) learn techniques from the Master Programmer, on
how to solve problems (how to become a faster/
more competent coder so that you only have to
worry about the design of the program).
2) Produce useful functions and build up to designing
classes (for OOLs), that, along the development
of the product may well change or be completely
revised (after all, mistakes are some of the
best teachers).
3) Teach others the skills that I know, whether it
be C++, another language, coding in general, the
use of other programs I'm familiar with (CAD,
graphics), etc.

This may be the 2nd or 3rd year (after introduction to
regular concepts), then in the last 2-3 semesters, the
apprentice then becomes a "manager" where they will
decide on people to become their apprentices. The final
1-2 semesters would be finishing the product and
documenting it.
8)


So much of the real learning a person gets anymore is
from exploring a subject on their own, this process
would
give both technical support and some satisfaction of
knowing that you truly have learned something, because
there it all is, in your product.

Of the environments that I know, the closest that comes
to this ideal of mine (and still allows exploration) is
the Media Lab at M.I.T. If I ever manage to graduate,
I'll probably apply there. Of course I'll have to make
my own demo first :)


To tell you the truth, I hope I get flamed: Then I'll
apply to your universities, try those out, and hopefully
find somewhere that makes my grade. If not, well, are
there any competent Macintosh programmers out there who
want to learn C++?


And all that Jazz,

-Chris


Monika Weikel

未读,
1995年7月26日 03:00:001995/7/26
收件人
What blows my mind is that I'll be sitting in the lab, and I'll see one student
helping another student. This isn't really wrong in my opinion, by the student
being helped will ask things like " what line do I type in next? " It makes
me mad that people who don't know the first thing about coding are graduating
with the same degree as me.

Jonathan Allan

未读,
1995年7月27日 03:00:001995/7/27
收件人
In article <3v658u$7...@sun132.spd.dsccc.com>, kcl...@sun132.spd.dsccc.com (Kevin Cline) writes:
[slice]
|> Mostly, I am disappointed. I interviewed an MS graduate from Texas A&M and
|> asked him how he would modify an O(N**2) algorithm to run in O(N log N) time,
|> and he looked at me like I had just arrived from Saturn.

In an interview, I probably would look at you blankly too.
There's either a simple, and likely wrong, answer to such
a question, or a longer, less likely to be wrong answer
*that depends on the whole problem*. Being asked a question
like that straight out seldom gives the required context.
Now if there were a written test as *part* of the interview,
and that question and the appropriate context were on it,
then I'd dive right in.

|> Schools that grant CS degrees to students unable to write programs are
|> cheating both the student and their future employers.

As another poster pointed out, CS schools aren't supposed
to be grinding out grads of factory-programming work.



|> Theoretical and practical training must be balanced. Sometime during
|> their four year stay, students should have a class that involves
|> reading, understanding, and modifying a sizeable (50K lines+) program.
|> Since this is what most CS graduates do for a living, it is important
|> for students to try it out before wasting another two years getting a
|> degree that will be useless to them.

ROTFLMAO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Good luck. I can't imagine a prof or TA willing to sock
such a workload on themselves (grading such a nightmare).
I do hope, if you are really interested in hiring grads
with such experience, that you make use of, or form if
necessary, a co-operative education program with a CS
school or two. That's the only way your going to get
young grads. I'm sure there's a supply of re-trained
old COBOL fogeys near-by, if you don't have a co-op
program handy...

Please note that I'm not attacking you personally.
It irritates the be-jesus out of me when I hear someone
pissing and moaning about not being able to get good
people and then when you ask, they have no co-op or
other training program in place to build up a few.
Experience doesn't happen to new grads until they get
hired but they can't get hired until they have
experience... |-((

Jonathan Allan
--
* Nobody except me has any stake in this opinion, and *
* if I'm playing Devils Advocate, even *I* don't. *
* Email to k...@mill2.millcomm.com won't bounce. *

Matthew Kennel

未读,
1995年7月27日 03:00:001995/7/27
收件人
Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:

: Mostly, I am disappointed. I interviewed an MS graduate from Texas A&M and


: asked him how he would modify an O(N**2) algorithm to run in O(N log N) time,
: and he looked at me like I had just arrived from Saturn.

Is this a good question? Is there any "rule" to do so without knowing
a thing about the particular problem? Or did you have a particular program
in mind that you showed to this person?

If it were asked in general the only thing I could think of would to look at
the interviewer like he just came from Saturn and mumble something like "I'd
look through some textbook indices and do a keyword search on journal
articles and see what's been done on the particular problem."

Here's a problem: identify the nearest neighbor to each points in an
arbitrary dimensional vector space in O(N log N) time with either L-infinity
or L^2 metric. Naively it's N^2, but it's far from obvious how to
do it N log N.

I think it would be quite unreasonable to expect random interviewees to
be able to re-invent k-d trees "on the spot". It's quite a bit harder
than most 1-d sort algorithms.

: Kevin Cline
: --
: Kevin Cline


Kevin Cline

未读,
1995年7月27日 03:00:001995/7/27
收件人
In article <3v80d0$n...@locutus.rchland.ibm.com>,

Jonathan Allan <k...@mill2.millcomm.com> wrote:
>In article <3v658u$7...@sun132.spd.dsccc.com>, kcl...@sun132.spd.dsccc.com (Kevin Cline) writes:
>[slice]
>|> Mostly, I am disappointed. I interviewed an MS graduate from Texas A&M and
>|> asked him how he would modify an O(N**2) algorithm to run in O(N log N) time,
>|> and he looked at me like I had just arrived from Saturn.
>
>In an interview, I probably would look at you blankly too.
>There's either a simple, and likely wrong, answer to such
>a question, or a longer, less likely to be wrong answer
>*that depends on the whole problem*. Being asked a question
>like that straight out seldom gives the required context.
>Now if there were a written test as *part* of the interview,
>and that question and the appropriate context were on it,
>then I'd dive right in.
>

I didn't ask it straight out. That would be absurd.

I asked this question after asking the candidate to produce a
minimal-space algorithm for a simple task. The algorithm ran in
O(N**2) time. So I asked him if he could think of a way to modify
the algorithm to use more space and run in O(N log N) time.
I believe these ideas should be elementary to anyone with a
degree in computer science.

>|> Schools that grant CS degrees to students unable to write programs are
>|> cheating both the student and their future employers.
>
>As another poster pointed out, CS schools aren't supposed
>to be grinding out grads of factory-programming work.
>

No, they are supposed to be training computer scientists. The
practice of computer science consists largely of desiging and writing
programs. Students holding degrees in CS expect to earn a living from
the field, and pay tuition to be taught how. Graduates who can't code
are unable to compete for jobs in the real world, and have been
cheated by their school. It is cruel to tell a student for four years
that he is doing just fine, taking his money all along, and then let
him find out after graduation that the real world has much higher
standards.



>|> Theoretical and practical training must be balanced. Sometime during
>|> their four year stay, students should have a class that involves
>|> reading, understanding, and modifying a sizeable (50K lines+) program.
>|> Since this is what most CS graduates do for a living, it is important
>|> for students to try it out before wasting another two years getting a
>|> degree that will be useless to them.
>
>ROTFLMAO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
>Good luck. I can't imagine a prof or TA willing to sock
>such a workload on themselves (grading such a nightmare).

Why? Way back in 1979 in my undergrad Operating Systems class our
project required designing, and adding a feature to the Unix kernel.
There are plenty of high-quality, large, public domain programs that
nicely realize the concepts being taught in the curriculum.

BTW, this is one reason why the graduates from the top research
schools are so highly sought after. Many have had the opportunity to
work on cutting-edge applications as undergraduates.

>Experience doesn't happen to new grads until they get
>hired but they can't get hired until they have
>experience... |-((

Actually, most undergraduates who reach the high-paying end of the software
business are about 50% self-taught, and would program even if they weren't
paid to do it.

When I was an undergraduate I volunteered my time to support and
enhance MMAIL (a large TOPS-20 mail reader), and also spent
considerable time hacking Emacs.

Personal computers are now very cheap. CS students today have
ample opportunity to supplement their classroom experience by
hacking public domain software. Students who expect someone else
(their professors or employers) to teach them everything they need
to know will be left in the dust of those with a real passion to learn.
--
Kevin Cline


Darin Johnson

未读,
1995年7月28日 03:00:001995/7/28
收件人
Wei...@Fwva.Saic.Com (Monika Weikel) writes:
> It makes
> me mad that people who don't know the first thing about coding are graduating
> with the same degree as me.

If you're mad now, wait until you realize they're going to get better
jobs than you :-)

--
Darin Johnson
djoh...@ucsd.edu
Caution! Under no circumstances confuse the mesh with the
interleave operator, except under confusing circumstances!

Darin Johnson

未读,
1995年7月28日 03:00:001995/7/28
收件人
> I believe these ideas should be elementary to anyone with a
> degree in computer science.

Even during an interview? I know I've found myself finding
simple things hard at interviews (constricting necktie, long
day of answering the same questions, extreme nervousness and
shyness, and being asked to write my sample program on a pad
of paper instead of in an editor). One interviewer asked me to
describe a way to reverse the bits in an incoming byte stream;
I slapped myself on the forehead when he mentioned the simple
answer...

--
Darin Johnson
djoh...@ucsd.edu
- Luxury! In MY day, we had to make do with 5 bytes of swap...

Danny R. Faught

未读,
1995年7月28日 03:00:001995/7/28
收件人
In article <3v6jr0$m...@handy.gr.com>, Rob Broadhead <ro...@gr.com> wrote:
>1) Most programming assignments are open ended. You get a requirements
>sheet, and then everybody goes at it. The requirements tended to be
>average, but once one person or team added to them everybody would follow
>suit. It quickly became a quest to have the best app that also happens
>to meet the basic requirements. There was never a case where
>simply meeting the requirements would give you better than the worst app
>of the class. Everyone realized that they would have to far exceed the
>reqs to end up with something they could be proud of.

The ones that met the basic requirements in the shortest amount of
time were the ones most closely adhering to what their future employers
will expect of them.
--
Danny Faught -- Convex -- Operating System Demolitions Specialist
Magister artis ingeniique largitor venter.

Robert G. Plantz

未读,
1995年7月28日 03:00:001995/7/28
收件人
In article <3v6584$9...@spool.cs.wisc.edu>, Chris <dagnon> wrote:

<snip>

> The Professors are typically not engaging in class, the

When I read my students' evaluations at the end of the semester,
one will say that I am very interesting, the next boring. Several
years ago while teaching assembly language, I realized that
many students thought there was something special about the
labels I used (e.g, "start", "loop"). I started using names
of animals (e.g., "cat", "dog") to emphasize that they are
arbitrary. (Yes, I explained that they should come up with
names relevant to the actual application.) One student complained
in his/her evaluation that I talked about animals too much!
One really cannot please everyone. By the way, have you ever
given a 50 minute talk and attempted to keep everyone's
attention? I do 12 of 'em each week. Sometimes I just don't
feel like talking to 50 or so people. But I have to do it
anyway, and it probably shows in my lecture.

<snip>


> CS students are down-right pissed at how we're blown off
> by a department whose Prof.s we pay the salaries of, but

The State of California pays my salary. I suspect that I pay
more taxes, hence more of my own salary, than most of my
students. In addition, the University hits me up every
year to donate part of my salary back to them! And, finally,
I am making about 2/3 as much money now (1995) as I did
when working in industry in 1982! (The difference would be
much greater if I adjusted for inflation.) This is certainly
not your fault. It is the fault of the general public, which
elects legislators who don't care enough about your education
to pay us to do a good job.

> don't get much of a measure of their respect.

This works both ways. I'm pretty informal and easy to get
along with, but I've encountered some pretty surely students
in my 11 years of teaching. (I'm no saint either.)

> Not to mention the fact that they're typically under-
> staffed.

Yep. See my remarks above.

> Now why would you think that it doesn't take a degree
> in education for people to become teachers in CS? All
> it takes is knowledge in their area, no prerequisite
> ability to communicate that knowledge to others, except
> perhaps their "peers" who so graciously allow them into
> their ranks after working diligently for years in a
> Ph.D. program... So much of the time, it was the TAs
> who were able to explain class concepts to me.

This is not unique to CS. And who do you think was doing
the TAing? We were, while we were studying for our Ph.D.s.
By the way, you might sit in on some education classes
some time and see first-hand what our education profs
are teaching them! Call me old-fashioned, but I think
that education theory is going some pretty strange directions
these days.

> WRT Jeff's posting, I find that the exams are typically
> jokes played on the students (several different prof.s
> have had "fill in the blank" answers, where the single
> word left out of the sentence was taken either directly
> out of a lecture or out of the book!), and again, the

Not all of us make up good exams. Try it some time with some
of your fellow students. Don't forget that I have to grade
around 50 of them for every exam questions I give. It's not
easy. (Recall that I don't make as much money as most of
my ex-students who have been working for 5 or so years.)

> homework is dry. I would personally prefer an
> apprenticeship with a good programmer where I was able
> to:
>
> 1) learn techniques from the Master Programmer, on
> how to solve problems (how to become a faster/
> more competent coder so that you only have to
> worry about the design of the program).

This would be great! The ideal way, IMHO, to learn! Now, how
much are you willing to pay me for this? Hint: Master
Programmers in my area earn well over $100,000 a year.

<snip>

> So much of the real learning a person gets anymore is
> from exploring a subject on their own, this process
> would
> give both technical support and some satisfaction of
> knowing that you truly have learned something, because
> there it all is, in your product.

I encourage all my students to do this. I spend many more
than the required (at our campus) five hours in my office
when students can consult with me. Would you care to guess
how many take advantage of this situation?

<snip>

> To tell you the truth, I hope I get flamed: Then I'll
> apply to your universities, try those out, and hopefully
> find somewhere that makes my grade. If not, well, are
> there any competent Macintosh programmers out there who
> want to learn C++?

I'm not trying to flame here. It's just that many posts that I
see seem to ignore the fact that I am a person and that this
is a job for me. Just because I like what I do doesn't mean
that I don't deserve to get paid for it.

The administration imposes a very heavy workload on me -- four
classes a semester -- and leans on me constantly to get
grants and bring other money in. The things you are pointing
out are all very true. I'm just asking you to stop and think
about who will pay for it. Then, think about where that money
comes from. And remember this the next time you vote!!

Bob Plantz

Jonathan Allan

未读,
1995年7月28日 03:00:001995/7/28
收件人
In article <3v8dcn$9...@sun132.spd.dsccc.com>, kcl...@sun132.spd.dsccc.com (Kevin Cline) writes:
|> In article <3v80d0$n...@locutus.rchland.ibm.com>,
|> Jonathan Allan <k...@mill2.millcomm.com> wrote:
|> >In article <3v658u$7...@sun132.spd.dsccc.com>, kcl...@sun132.spd.dsccc.com (Kevin Cline) writes:
[slice]
|> >|> Schools that grant CS degrees to students unable to write programs are
|> >|> cheating both the student and their future employers.

|> >As another poster pointed out, CS schools aren't supposed
|> >to be grinding out grads of factory-programming work.
|>
|> No, they are supposed to be training computer scientists. The
|> practice of computer science consists largely of desiging and writing

Hmmm. Not sure if I agree with this. Not that I
can say why I disagree, I'm just not sure I can
agree. Hmmmm.

|> programs. Students holding degrees in CS expect to earn a living from
|> the field, and pay tuition to be taught how. Graduates who can't code
|> are unable to compete for jobs in the real world, and have been
|> cheated by their school. It is cruel to tell a student for four years

It's cruel, and Standard Operating Procedure.

|> that he is doing just fine, taking his money all along, and then let
|> him find out after graduation that the real world has much higher
|> standards.
|>
|> >|> Theoretical and practical training must be balanced. Sometime during
|> >|> their four year stay, students should have a class that involves
|> >|> reading, understanding, and modifying a sizeable (50K lines+) program.
|> >|> Since this is what most CS graduates do for a living, it is important
|> >|> for students to try it out before wasting another two years getting a
|> >|> degree that will be useless to them.
|> >
|> >ROTFLMAO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|> >
|> >Good luck. I can't imagine a prof or TA willing to sock
|> >such a workload on themselves (grading such a nightmare).
|>
|> Why? Way back in 1979 in my undergrad Operating Systems class our
|> project required designing, and adding a feature to the Unix kernel.
|> There are plenty of high-quality, large, public domain programs that
|> nicely realize the concepts being taught in the curriculum.

My curriculum had nothing like that required; class of
86 (though I graduated in 87 because of co-oping).

In fact, I was one of the most hated students in the
Advanced data structures classes because I routinely
turned in programs which:
1) worked;
2) had built-in error checking/handling, a result of
my personal library of I/O routines built while
I was a co-op and approved for my personal use
by the company while I was at school;
3) were three times the size of other students programs
because I included (horrors!) documentation
in the form of subroutine headers, line comments,
etc.

It wasn't the students that hated me, it was the
professor. I quote "Another one by the pound
I see, Allan." on the day I turned in a simulation
of an airport runway system (about 5KLOC) that was
an inch thick, including nicely formatted output.
He was also rather non-plussed when I wrote an
optimizing assembler instead of a regular one
for another assignment. He actually had to
think while he was grading the assignments from me...

|> BTW, this is one reason why the graduates from the top research
|> schools are so highly sought after. Many have had the opportunity to
|> work on cutting-edge applications as undergraduates.

As undergrads? As grads I won't quibble, but as
undergrads? Maybe I went to the wrong school.

|> >Experience doesn't happen to new grads until they get
|> >hired but they can't get hired until they have
|> >experience... |-((
|>
|> Actually, most undergraduates who reach the high-paying end of the software
|> business are about 50% self-taught, and would program even if they weren't
|> paid to do it.

I can't disagree here. Anybody who has the gumption
can get ahead in just about any field.

Danny R. Faught

未读,
1995年7月28日 03:00:001995/7/28
收件人
In article <3v80d0$n...@locutus.rchland.ibm.com>,
Jonathan Allan <k...@mill2.millcomm.com> wrote:
>It irritates the be-jesus out of me when I hear someone
>pissing and moaning about not being able to get good
>people and then when you ask, they have no co-op or
>other training program in place to build up a few.
>Experience doesn't happen to new grads until they get
>hired but they can't get hired until they have
>experience... |-((

I always thought it was pretty sad that I had to do a few co-op terms
to get any kind of useful education. But as for the co-op program
itself, let me chime in my hearty approval from both sides of the
fence. It's a great opportunity for both the students and the
companies they work for.

[followups trimmed]

John Sellers

未读,
1995年7月28日 03:00:001995/7/28
收件人

In Article<3v8dcn$9...@sun132.spd.dsccc.com>,
<kcl...@sun132.spd.dsccc.com> write:
> .... It is cruel to tell a student for four years

> that he is doing just fine, taking his money all along, and
then let
> him find out after graduation that the real world has much
higher
> standards.
> ...

Since when does the real world have higher standards? That is an
over generalization. There are good companies with good
standards, but then there are others...read on!

Here are selected examples of "real world" environments which I
have seen or heard about with very poor standards, some examples
are drawn from well known companies who are involved with
Smalltalk as well as others. These are from direct work
experience as well as from running Smalltalk SIG:

0a) Company0 - Everything was politics. Regular as clockwork
every two years everyone would roll everyone else. Groups would
disappear and appear or reappear as wind blows. Substance was
almost irrelevant to success or failure.

0b) Company0.1 - Foreign owners decided company was overstaffed.
Company was actually understaffed. Development was thus forced
to work with chewing gum and string. The suspicion was that
foreign owners wished company to perform poorly in order to throw
out local management and run the show themselves. This
eventually happened.

1) Company1 - Candidates for project hired on basis of resume, no
face to face questioning. Of 7 applicants which were accepted,
all claimed to have Smalltalk experience. Of these, none
actually had any Smalltalk experience. Personel where used for
Smalltalk development anyway, because turn around cycle for
getting new applicants was more than 3 months.

2) Company2 - Project group was made of individuals which had
been burned out by "death march" or other problems in other
groups. Fine, but group members ran wild and free while
leadership was prohibited from requiring any discipline at all.

3) Company3 - Development group in such shambles that they were
not able to make progress at all, no versioning, wild hacking was
rampant...progress was often negative. Manager encouraged this
behavior and had developed strong loyalties from members of the
group by their dependence on him. Manager prevented bringing in
talent that could have easily turned around the problem. Manager
and certain members expert at blowing mucho smoke. Only after
much extreme assertion and assorted arm breaking was progress
finally able to be made.

4) Company4 - High level manager intent on micro-managing Windows
development. This manager was simplistic in approach, considered
himself programming expert because of pre-windows c programming
experience 6 years ago. Manager unable to estimate actual work
against expectations by factor of more than 10 to 1. Decisions
were more than arbitrary, all real expert advice was completely
ignored.

5) Company5 - Manager came to company after being at another
company for 20 years. His advent was from location worthy of
note because of the dismal quality of the work they did in
Smalltalk (see company1). His first act was to kick out
Smalltalk development group without even examining their new
deliverable.

6) Company6 - This company was noted for constant turn-over of
Smalltalk programmers. Every once in a while they would fire a
bunch of programmers and then a while later they hire some more.
I know more Smalltalk programmers from this particular company
than from any other place.


Thadeus Olczyk

未读,
1995年7月29日 03:00:001995/7/29
收件人
Robert G. Plantz (b...@cs.sonoma.edu) wrote:
: The State of California pays my salary. I suspect that I pay

: more taxes, hence more of my own salary, than most of my
: students. In addition, the University hits me up every
: year to donate part of my salary back to them! And, finally,
: I am making about 2/3 as much money now (1995) as I did
: when working in industry in 1982! (The difference would be
: much greater if I adjusted for inflation.) This is certainly
: not your fault. It is the fault of the general public, which
: elects legislators who don't care enough about your education
: to pay us to do a good job.

: > Now why would you think that it doesn't take a degree


: > in education for people to become teachers in CS? All
: > it takes is knowledge in their area, no prerequisite
: > ability to communicate that knowledge to others, except
: > perhaps their "peers" who so graciously allow them into
: > their ranks after working diligently for years in a
: > Ph.D. program... So much of the time, it was the TAs
: > who were able to explain class concepts to me.

: This is not unique to CS. And who do you think was doing
: the TAing? We were, while we were studying for our Ph.D.s.
: By the way, you might sit in on some education classes
: some time and see first-hand what our education profs
: are teaching them! Call me old-fashioned, but I think
: that education theory is going some pretty strange directions
: these days.

Those who can do, those who can't teach, those who can't teach teach
how to teach.

: The administration imposes a very heavy workload on me -- four


: classes a semester -- and leans on me constantly to get
: grants and bring other money in. The things you are pointing
: out are all very true. I'm just asking you to stop and think
: about who will pay for it. Then, think about where that money
: comes from. And remember this the next time you vote!!

I think people have remembered, and that is the cause of recent election
results. If those educators you complained about were elimated how much more
money would you have? What if there was a limit on salaries which
said that no one in a discipline could earn 50% more then they could
earn using that discipline in the "real world". It wouldn't hurt you,
but would get at those who make too much ( like the highest paid language
teachers, social scientist and humities types) . I'm not objecting to
the topics, I'm just saying that it is ridiculous for a history department
to say that their faculty should make as much as the CS department faculty.
What about researchers who are doing research on topics that could never have
any practicle value ( not even in a hundred years )? I've seen researchers
who go and recruit five or six students for a class, that way they avoid
teaching a big course. The people are ready now. If you speak they will listen.
The ball is in your court.

Two years ago I recieved a PhD in physics. I looked around and I saw the mess
and said to myself, 'Time to leave'. It's been a struggle but I'm happier now.
--------------------
Thaddeus L. Olczyk

Thadeus Olczyk

未读,
1995年7月29日 03:00:001995/7/29
收件人
Path: holonet!colossus.holonet.net!news.sprintlink.net!newsfeed.internetmci.
com!news.uoregon.edu!vixen.cso.uiuc.edu!news.eecs.uic.edu!news.cc.uic.
edu!uicvm.uic.edu!olczyk
Message-ID: <19950729.142337...@UICVM.UIC.EDU>
Date: Sat, 29 Jul 1995 13:14:39 +0000
From: olczyk@sunphy1 (Thadeus Olczyk)
Subject: Re: Producing competent CS grads (was: Theory and Practice)
Newsgroups: comp.edu,comp.object,comp.lang.c++,comp.lang.smalltalk,comp.
software.testing
References: <3v5kev$m...@explorer.csc.com> <3v6584$9...@spool.cs.wisc.edu> <
bob-2807951316190001@comp_ctr245.sonoma.edu>

Murray J. Root

未读,
1995年7月30日 03:00:001995/7/30
收件人
WARNING: Off-topic response follows (with the POSSIBLE exception of
comp.edu).

[>==========Scott Nettles, 7/29/95==========
[>
[>In article <19950729.142337...@UICVM.UIC.EDU>,
[>Thadeus Olczyk <olczyk@sunphy1> wrote:
[>>Those who can do, those who can't teach, those who can't teach teach
[>
[>Yea, right. I guess you are looking to get flamed and I'm in the
[>mood, so here
[>goes.

Thank you, Scott.

I am not a teacher, nor employed by any educational foundation.
However, my parents were both teachers in public schools. My grandmother was a
public school teacher. They all took early retirement due to interference from
'do-gooders' who believed that everyone should pass a class regardless of
actual knowledge/skills gained.
I have the greatest respect for any individual willing to sacrifice income for
the purpose of educating our youth in spite of the efforts mounted against
them.
Yes, there are incompetents who become teachers because they can't do anything
else. They ARE NOT common. It's too hard. Teaching is a LOT more than
classroom time. One point - my brothers, my sister and I would have liked a
little more time from our parents. We would have gotten it if they worked
where I do.

***************************************************************
AT&T Global Information Solutions would probably disavow any knowledge of
this, if they had any knowledge of this. Look for press releases to get the
official opinion.

Astound your friends/dazzle your detractors/confound your enemies - THINK!
***************************************************************

Scott Nettles

未读,
1995年7月30日 03:00:001995/7/30
收件人
In article <19950729.142337...@UICVM.UIC.EDU>,
Thadeus Olczyk <olczyk@sunphy1> wrote:
>Those who can do, those who can't teach, those who can't teach teach

Yea, right. I guess you are looking to get flamed and I'm in the mood, so here
goes.

Some 7 years ago I left a very good industry job to go back to grad school and
took a pay cut of almost a factor of five in the process. In the few years
before that I averaged about 25,000 lines of code a year and not trivial stuff
either, serious VLSI design tools, the first graphics editor for the X window
system (still in use at DEC, if you've used MIPS based DEC machine in the last
few years, they were designed using my editor), etc. Lately I've been taking
it easy, my friend Jim O'Toole (another one of those can't do so they want to
teach) and I have been building a concurrent garbage collector for a
transactional persistent heap. Actually it's the first one to run, although a
few pretty smart folks took a stab at it before we did without getting anything
working. All they got were PhDs in Computer Science, from CMU and MIT... So, I
think it's pretty well established that I can do.

Now, why would I take a big pay cut and devote seven years of my life to doing
a foolish thing like getting a PhD? Simple, although I knew that getting a PhD
wouldn't really get me a better industry job, I wanted to be able to get a
faculty position, which without the PhD is kinda hard no matter how much you
can do. Right, I did this foolish thing so I could teach. Not because I
couldn't do, but because I thought it would be fun and rewarding and useful to
be able to transfer my skills to others, either in a classroom or in the kind
of mentoring relationship that a faculty member has with their students. Now of
course there are other factors, like being able to do your own research, but
you can do that in the industrial labs and without having to raise money and
spend a lot of time on teaching.

So I guess it just pisses me off when somebody says the teachers can't do and
generally act like faculty members are some kind of slime. Didn't any teachers
ever make a positive impact on you? They sure have on me, in fact if I'm the
best teacher I can ever be for a long long time it will be hard to repay that
debt. But no doubt you are a self-made man and never learned anything from a
teacher. That probably explains why you are such an idiot.

>: The administration imposes a very heavy workload on me -- four


>: classes a semester -- and leans on me constantly to get

And to boot you're ragging on some guy who has to work like a dog to be a
teacher. I'm sure glad I don't have four classes, I don't know when I would eat
and sleep, much less get research done.

> the topics, I'm just saying that it is ridiculous for a history department
>to say that their faculty should make as much as the CS department faculty.

I don't know what kind of dream-land you are living in, but this just isn't
true. As a very junior faculty member in a CS department that certainly isn't
in the top few, I make more than full professors in humanities departments that
are in the top few. And that's BEFORE summer salary, which they don't get (they
spend their grant money, if they have any, on paying their students) and
consulting, which they can't get either. These people are very smart, if they
wanted to give up teaching, they could easily get jobs making big bucks, smart
people are always in demand.

>Two years ago I recieved a PhD in physics. I looked around and I saw the mess

Ah, we finally find out the truth. You looked around, couldn't find a faculty
position, and to salve your miniscule ego decided that professors were shits
and you didn't want to be one. A pox on you.

Scott Nettles
net...@cis.upenn.edu

P.S. You should learn to use a spell checker. It's not that hard...

Scott Ellsworth

未读,
1995年7月30日 03:00:001995/7/30
收件人
I agree heartily on what is being done in education classes. I am tempted
to wax lyrical about the many and varied crimes, but wat is the point? I
suspect you know the sins of the education departments better then I. If
you have any good grist for my annoyance mill, however, please feel
encouraged to pss them on. :)

Good evening,

Scott

--
f...@deltanet.com
"You die, she dies, EVERYbody dies" - Heavy Metal
"When a great many people are unable to find work, unemployment results" - Calvin Coolidge, attrib. by Stanley Walker, City Editor, p. 131 (1934)

Michael Feldman

未读,
1995年7月30日 03:00:001995/7/30
收件人
In article <33...@ncrws1.PeachtreeCityGA.ncr.com>,
Murray J. Root <Murra...@peachtreecityga.attgis.com> wrote:

[snip]

>I have the greatest respect for any individual willing to sacrifice income for
>the purpose of educating our youth in spite of the efforts mounted against
>them.

Thank you!

>Yes, there are incompetents who become teachers because they can't do anything
>else. They ARE NOT common. It's too hard. Teaching is a LOT more than
>classroom time. One point - my brothers, my sister and I would have liked a
>little more time from our parents. We would have gotten it if they worked
>where I do.

Amen to that!

Let's turn the jerk's flame bait around on him. Everybody has opinions
on what, how, when, where, and why others should become teachers. Many
of the second-guessers haven't got the brains, determination, guts, or
other stuff to _buy_ their way into a teaching position, let alone get
one on their merit. They think money is the only measure of job satisfaction.

"Those who can teach, teach. Those who can't teach, settle for industry."

Mike Feldman

David Cattarin

未读,
1995年7月31日 03:00:001995/7/31
收件人
Monika Weikel (Wei...@Fwva.Saic.Com) wrote:
: What blows my mind is that I'll be sitting in the lab, and I'll see one student

: helping another student. This isn't really wrong in my opinion, by the student
: being helped will ask things like " what line do I type in next? " It makes

: me mad that people who don't know the first thing about coding are graduating
: with the same degree as me.

Welcome to the real world. This happens in every technical faculty
that I know of. You could console yourself with the fact that most
likely, these people will move into marketing or something similar.
But, don't worry about them. You should be happy with the fact that
you "know" what you are doing. Knowing how to learn is probably the
most important skill you can have when you join the "real world".

--
Ditto

-------------------------------------------------------------------
David Cattarin | Yes indoody, Lord and master!
email: di...@achilles.net | Metal moron, And disaster!
Home: (613) 567-4689 | Beep again, I'll work faster!
Work: (613) 567-4740 | -- Sha'ot Startide Rising
-------------------------------------------------------------------


Rob Broadhead

未读,
1995年7月31日 03:00:001995/7/31
收件人
>The ones that met the basic requirements in the shortest amount of
>time were the ones most closely adhering to what their future employers
>will expect of them.
>--
>Danny Faught -- Convex -- Operating System Demolitions Specialist
>Magister artis ingeniique largitor venter.

Not in all fields. If you are building a product that is intended for
commercial use then you want to do as much in as little time. A product
that goes out a little early, but without much functionality has a hard
time against a product that goes out with a good deal of functionality
(all other things equal).
Also, those who put more into the project learned more. Those who
consistantly aimed for the minimum requirements and the fastest
completion were soon blown away by programmers who could do twice as much
in the same amount of time.

---Rob


Scott Ellsworth

未读,
1995年7月31日 03:00:001995/7/31
收件人
In article <fuz-300795...@lkf0178.deltanet.com>,
Scott Ellsworth <f...@deltanet.com> wrote:

Sorry about this. While I stand behind what I said, it was meant to be
email. Regrettably, my news software is FUBAR, and will not let me
cancel it.

Scott
--
Scott Ellsworth f...@deltanet.com
"When a great many people are unable to find work, unemployment
results" - Calvin Coolidge, (Stanley Walker, City Editor, p. 131 (1934))
"The barbarian is thwarted at the moat." - Scott Adams

Lou Steinberg

未读,
1995年7月31日 03:00:001995/7/31
收件人
In article <3vaoqp$v...@locutus.rchland.ibm.com> xzz...@honker.rchland.ibm.com (Jonathan Allan) writes:

In fact, I was one of the most hated students in the
Advanced data structures classes because I routinely
turned in programs which:
1) worked;

2) had built-in error checking/handling, [...]


3) were three times the size of other students programs

because I included (horrors!) documentation [...]



It wasn't the students that hated me, it was the
professor.

Mostly I sympathize with you, but let me point out one caveat:

A programming assignment is given to teach you about some specific
ideas. Putting in huge amounts of code and documentation that are not
relevant to the pedagogical purpose is a waste - of both your time and
the time the person who has to grade it.

I suppose you could argue that a student does so little programming in
school that *every* programming assignment, no matter what its
specific point, should also be used to teach skills and attitudes
needed to produce "industrial strength" code. I'm not convinced
that that is true, though.


David Chase

未读,
1995年7月31日 03:00:001995/7/31
收件人

> Thadeus Olczyk <olczyk@sunphy1> wrote:
> >Those who can do, those who can't teach, those who can't teach teach

net...@saul.cis.upenn.edu (Scott Nettles) writes:
> Yea, right. I guess you are looking to get flamed and I'm in the mood, so here
> goes.

I'm afraid I agree completely with Scott's well-written flame. Currently,
the competition for academic CS positions is much tougher than the
competition for industrial positions. I'm speaking as someone with a PhD in
CS who's had no trouble at all getting jobs in industry, but was only one of
300 (or 600 or 700) applying for a job as an assistant professor at various
schools just two years ago. I've got my gripes (at times) with their work
but these people are not stupid, and the ones I know most definitely can
"do". Note, too, that those who take the assistant prof jobs are willing to
gamble on being able to get tenure, often in towns with no other employment
for someone of their qualifications (so, if they fail, they may need to find
a job in another town).

speaking for myself,

David Chase

Rick Hawkins

未读,
1995年7月31日 03:00:001995/7/31
收件人
In article <3vihmi$m...@centaur.achilles.net>,

David Cattarin <di...@dragon.achilles.net> wrote:
>Monika Weikel (Wei...@Fwva.Saic.Com) wrote:
>: What blows my mind is that I'll be sitting in the lab, and I'll see one student
>: helping another student. This isn't really wrong in my opinion, by the student
>: being helped will ask things like " what line do I type in next? " It makes
>: me mad that people who don't know the first thing about coding are graduating
>: with the same degree as me.
>
>Welcome to the real world. This happens in every technical faculty
>that I know of. You could console yourself with the fact that most
>likely, these people will move into marketing or something similar.

Ahh, but sometimes there is a happy ending to this story :)

I'll tell it as long as everyone promises not to start the sort-wars
here :)

At 17 & out of high school, i picked up a programming job for a startup.
They were able to hire me full time for the summer for far less than
they were paying for consultants. I also turned out to be able to
produce far better code in far less time. After several months, i left,
and rather than telling them my opinion, I politely told them that if
they had any questions, to call.

Several months later they called. They had more than questions, they
needed substantive changes. Seems that they had a dispute with their
director of R&D not to long after i left, and he was the only other
person who understood how the central system worked (it was a video game
monitoring system). They just about chased him out of town on a rail.
(This was in basic on a CP/M system; the comments, spaces, etc. had been
removed from the code to make room, and were in another binder [hey, i
only had 25 k to share between code & data, and the market wasn't big
enough for the time/expense of doing it all in assembler; we were
working on a compiled basic version, but microsoft had some annoying
differences between the "compatible" compiled & interpreted versions]).

Anyway, they hired someone with a Masters in CS. He didn't work out
very well. When IBM grumbled about my moonlighting (before i knew
enough contract law to realize i had an enforceable contract with them
:( ), i traded in my $25/hr for $1500/month part time. ["You're coming
here to tell me you can't work for us any more?" "No." "You're coming
here to say you quit IBM?" "No" "You want me to make you an offer!"
"Riiiight."]

Anyway, they had him working on the minicomputer version that the old
director had started; i came in to work on the microcomputer at first.
He was clearly one of those who had been "helped." I had to show him
how a bubble-sort worked--he couldn't even figure out how to copy one
from one section of the program to another . . .

They noticed that his output went up 3 or 4 fold after they hired him,
and they were aware that it was because i was explianing his job to him.

They still fired him . . .
--
R E HAWKINS
rhaw...@iastate.edu

Darin Johnson

未读,
1995年7月31日 03:00:001995/7/31
收件人
> > .... It is cruel to tell a student for four years
> > that he is doing just fine, taking his money all along, and then let
> > him find out after graduation that the real world has much higher
> > standards.

The real world doesn't have higher standards, it just has different
standards. And within the real world, every person you meet has
different standards. (The new grad has to learn that on a job
interview, you have to adjust to each new person; the tech may
want to know if you know the specifics, the next tech may want to
know if you can learn, the manager wants to know what you want to
do in five years, the next manager wants to know what school you
went to, etc)

As a student you learn: comparative study of programming languages
In the real world they want: 5+ years with C++ only

As a student you learn: operating system design principles
In the real world they want: 5+ years with dos/windows

As a student you learn: to be adaptive
In the real world they want: prior experience with foxpro

As a student you learn: how to excel on your own merits
In the real world you find out: politics matters

Todd Blanchard

未读,
1995年7月31日 03:00:001995/7/31
收件人
In article <19950729.142337...@UICVM.UIC.EDU>, olczyk@sunphy1
(Thadeus Olczyk) spewed:

>
> Those who can do, those who can't teach, those who can't teach teach

> how to teach.
>

Uh huh. Some of us do both. I work in industry. I design large scale OO
expert systems for phone companies. I also teach CS in the evenings at
the Denver campus of University of Colorado. Its not a huge prestigious
school. Most of the students have day jobs and are over 30. Most of the
evening faculty are what they call honoraria or adjunct faculty. These
people teach for the love of teaching (and maybe beer money). They all
have day jobs that run 50 hours or so per week, but then they go and
devote 4-8 hours of class room and about another 10-20 or so per week in
prep/grading. I figure I make about $2 per actual hour on this deal. But
there's no better way to push yourself to master something than to teach
it.

I think more accurate might be: Those who can do. Those who can do and
want to help others do better teach. Those who also teach, know more than
those who only do. Those who speak the loudest know the least.

Todd Blanchard

Lou Steinberg

未读,
1995年8月1日 03:00:001995/8/1
收件人
In article <qqn3du1...@tartarus.ucsd.edu> djoh...@tartarus.ucsd.edu (Darin Johnson) writes:

As a student you learn: comparative study of programming languages
In the real world they want: 5+ years with C++ only

Correction: "THIS YEAR in the real world they want ..." Five (or less!)
years from now they'll want something different. The folks who graduated
some years ago when RPG was the thing they wanted in the "real world" now
find themselves learning about "client server" systems. One point of a
BS or BA in Conputer science is to give the students enough background,
both in basic principles that don't change and in learning how to
learn new things that do change, so that 5 years after graduation (and
10 years and 15 years ...) they will be better able to adapt as the "real
world" changes. (What? Remember something for 5 years after they
graduate?!? :-)

jeff_seigle

未读,
1995年8月1日 03:00:001995/8/1
收件人
In article <LOU.95Ju...@atanasoff.rutgers.edu> l...@cs.rutgers.edu (Lou Steinberg) writes:
[post Lou is responding to snipped]

>A programming assignment is given to teach you about some specific
>ideas. Putting in huge amounts of code and documentation that are not
>relevant to the pedagogical purpose is a waste - of both your time and
>the time the person who has to grade it.
>
>I suppose you could argue that a student does so little programming in
>school that *every* programming assignment, no matter what its
>specific point, should also be used to teach skills and attitudes
>needed to produce "industrial strength" code. I'm not convinced
>that that is true, though.

This attitude is at odds with the lamentation that began this thread,
namely that many CS grads are not emerging from school able to work
effectively as programmers. We can't teach students that "putting in huge
amounts of code and documentation that are not relevant to [a specific]
purpose is a waste." This approach fosters a "code it quick and if it
works who cares what it looks like" mentality. If an assignment
focuses on the a particular technique but ignores good design,
commenting, documentation, error checking, etc., then we're going to
teach a series of isolated skills without ever teaching how to put them
together into a comprehensive skill set that can be applied with every
work assignment.

If a CS degree doesn't teach how to produce "industrial strength" code,
what will? Should a CS degree just be a starting point for industry
to *begin* teaching? (I think that learning must continue, BTW, but
I don't believe that a CS degree should merely qualify a graduate to begin
learning.)

When I have a choice of hiring someone who knows how to code some exotic
algorithm but writes sloppy unmaintainable code vs. someone with good
habits for thorough design and clear documentation who can learn a specific
programming technique if needed, I will take the latter every time.

Jeff Seigle jse...@cscmail.csc.com
CSC
Bethesda, MD

Thadeus Olczyk

未读,
1995年8月1日 03:00:001995/8/1
收件人
Scott Nettles (net...@saul.cis.upenn.edu) wrote:
: In article <19950729.142337...@UICVM.UIC.EDU>,
: Thadeus Olczyk <olczyk@sunphy1> wrote:
: >Those who can do, those who can't teach, those who can't teach teach
(rest was ) teaching.

: Yea, right. I guess you are looking to get flamed and I'm in the mood, so here
: goes.

Too bad you can't read, then at least you could get the flame right. I wasn't
picking on teachers, I was picking on education teachers. Do you want to defend
outcome based-education. Do you even know what it is? If not you're in for a
shock with the next bunch of students.

By the way you should also learn your Mark Twain.

: Ah, we finally find out the truth. You looked around, couldn't find a faculty


: position, and to salve your miniscule ego decided that professors were shits
: and you didn't want to be one. A pox on you.

Nope. I only sent out one application, and that was at the urging of a friend.
Many of the faculty and friends tried to pushed me into looking, but my heart
wasn't into it. Frankly I didn't want some beauracrat telling me that I
couldn't fail anyone just because they couldn't count to ten.

: P.S. You should learn to use a spell checker. It's not that hard...
And you should learn your netiquette. Ive seen virtually everyone make
spelling errors. As for using a spell checker, I would have to ftp one install
it and then compile it at this point I don't have the time.
--------------
Thaddeus L. olczyk

Lou Steinberg

未读,
1995年8月1日 03:00:001995/8/1
收件人
In article <3vleg0$d...@explorer.csc.com> Jeff Seigle writes:

In article <LOU.95Ju...@atanasoff.rutgers.edu> l...@cs.rutgers.edu (Lou Steinberg) writes:

>A programming assignment is given to teach you about some specific
>ideas. Putting in huge amounts of code and documentation that are not

>relevant to the pedagogical purpose is a waste [...]

This attitude is at odds with the lamentation that began this thread,
namely that many CS grads are not emerging from school able to work
effectively as programmers. We can't teach students that "putting in huge
amounts of code and documentation that are not relevant to [a specific]
purpose is a waste." This approach fosters a "code it quick and if it
works who cares what it looks like" mentality. If an assignment
focuses on the a particular technique but ignores good design,
commenting, documentation, error checking, etc., then we're going to
teach a series of isolated skills without ever teaching how to put them
together into a comprehensive skill set that can be applied with every
work assignment.

Just because we don't require it in every assignment does NOT mean
that we aren't teaching it via -some- assignments. If the pedagogical
purpose of an assignment includes learning how to produce industrial
strength code, the student certainly should be required to do so.
Then if a job situation requires industrial strength code, the student
will know what to do.

It seems to me that the alternative position is to say that writing
non-industrial-strength code is so habit forming that if we let
the students EVER do it, they will "learn bad habits" and not
write industrial-strength code even when it is called for.

Also note that non-industrial-strength code does not mean poor
design, no comments, poor structure, etc. - it just means that the
design, comments, structure, etc. should be guided by the purpose of
the program rather than by standards that are appropriate for a
multi-programmer, long-lived program.

Charles Lin

未读,
1995年8月1日 03:00:001995/8/1
收件人
Some general comments about teaching. First, it's harder than
it looks. Having been on both sides, I know that I have complained
as a student about the quality of teaching, and admittedly, there
are people out there who don't do a good job. On the other hand,
students often don't hold up their end of the bargain either. They
like to show up late to class, or miss class altogether, and want
to have all the handouts they missed, and don't go to office hours
when confused, and don't want to study any of the topics that are
too hard to think about, and want to do the minimum to get by. Does
this describe all students? No. Some students are interested
in learning and do work hard. Others like to complain (I was one
of them) and don't really want to do the work.

As far as whether we should be teaching students to go out
and be able to go into the workforce right away. This goes
to the heart of what computer science education (even engineering)
is all about. Do you teach skills that may become obsolete in
a few years, but are marketable now, or do you teach skills that
aren't extremely marketable, but hope the students can pick it
up while working in industry? And, what about preparing students
to go to graduate school?

I think there probably needs to be some more skills taught
that are more relevant to industry, at least, better coding
techniques. However, I think there is just too much diversity
in the kinds of skills that are needed, and the time it would
take to ensure that everyone had a deep enough knowledge of
those skills would be extremely prohibitive. The question
is whether it is better to teach the basic structure of a
computer, or to teach some neat features of C++ that
happen to be specific to C++. And which features should
we teach?

We're talking about a tradeoff in time. One might decide
to teach three or four courses of C++ and skills need to write
extremely sophisticated C++ code, and have the student be unaware
of issues in databases or operating systems or compilers. Perhaps
we do need some more of these courses, though we do so at the
expense of teaching any theory, and we need some theory (in
my opinion) because without it, we have no future advances.

So, basically, yes, I think teaching can be better, I think
it can be more relevant to industry without sacrificing the
needed training for graduate students. I think students
can also do their share, but it's harder to convince students
to do their share when there is little incentive (i.e., you
can't fire students and stop paying them).

--
Charles Lin
cl...@cs.umd.edu

Jeff Seigle

未读,
1995年8月1日 03:00:001995/8/1
收件人
In article <LOU.95Au...@atanasoff.rutgers.edu> l...@cs.rutgers.edu (Lou Steinberg) writes:

>Just because we don't require it in every assignment does NOT mean
>that we aren't teaching it via -some- assignments.

But it sounded like you were saying not just that it not be required,
but requiring it not be there.

>It seems to me that the alternative position is to say that writing
>non-industrial-strength code is so habit forming that if we let
>the students EVER do it, they will "learn bad habits" and not
>write industrial-strength code even when it is called for.

That is in fact my position. It's not fun to write documentation.
It's fun to write code that works. Without learning discipline people
_tend_ to do only what's fun.

Jeff

Vanchau Nguyen

未读,
1995年8月1日 03:00:001995/8/1
收件人
Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:
: I didn't ask it straight out. That would be absurd.

: I asked this question after asking the candidate to produce a
: minimal-space algorithm for a simple task. The algorithm ran in
: O(N**2) time. So I asked him if he could think of a way to modify
: the algorithm to use more space and run in O(N log N) time.
: I believe these ideas should be elementary to anyone with a
: degree in computer science.


No offense, but I think the only people you would higher are a bunch
of dorks. Some friends of mine who were graduating with me (1994),
had interviews with Microsoft. The interviewer asked some
very similar questions (I believe sparse trees was another one
he asked). That day we all had a beer and laughed out loud
at the company and the interviewer. (Shrug, I guess we're still
immature).

However, this brings up a point. Why is it necessary for a
computer scientist to know off the top of his head such things?
Recently, in one of our projects, we created a loop. Later,
we optimized the loop. Of course, it was not the most difficult
thing, but it did take some time and thought. The last thing
I would like to do at an interview is explain to you how to
reduce algorithm time by to a certain Big O notation. laf.
In my opinion, it would be like asking a physics major
to recite the periodic table. Even though this is possible,
why? Whats the point of retaining such knowledge when its
an index away? I guess I believe in only remembering/retaining
things that are worth keeping. How wonder I did bad in
biology...


:
: No, they are supposed to be training computer scientists. The


: practice of computer science consists largely of desiging and writing

: programs. Students holding degrees in CS expect to earn a living from


: the field, and pay tuition to be taught how. Graduates who can't code
: are unable to compete for jobs in the real world, and have been

: cheated by their school. It is cruel to tell a student for four years


: that he is doing just fine, taking his money all along, and then let
: him find out after graduation that the real world has much higher
: standards.

I agree. However, at my school (Virginia Tech), people dropped like flies
as the years went along. My classes got smaller and smaller. To me,
this was a sign that people were FAILING. The University didn't let
them slide on to the next level. I believe you had to get a C or better
to move on.

Anyway, I hope Virgina Tech was the standard and not the exception.

: Why? Way back in 1979 in my undergrad Operating Systems class our


: project required designing, and adding a feature to the Unix kernel.

: There are plenty of high-quality, large, public domain programs that
: nicely realize the concepts being taught in the curriculum.

1979? Was UNIX programmed on a bunch of punch cards? Heh, just kidding,
I didn't even know what a computer was in 1979.

: BTW, this is one reason why the graduates from the top research


: schools are so highly sought after. Many have had the opportunity to
: work on cutting-edge applications as undergraduates.

I wouldn't really care if an applicant had worked on a cutting-edge-application.
I do not think colleges really prepare you for the real world in the sense
of teaching you what you need to know. I think colleges that are good, teach
you the ability to 'learn' what you need to know.

There was one class in particular that struck out in my college career (other than
beers and wines, which for some reason, was always a blast). The class was
called software-engineering. Basically, we were chosen by the teacher in groups
of three (by some statistical metrics or something). We then had to come up
with a project idea, and, after approval, present this to the class. We then
had to 'hire' fellow classmates to code our project. In fact, this is how
we got graded. At the same time, we had to code other people's project.

So basically, we would split up our project into parts and hire out coders
for X points. (BIG modules got BIG points etc). This was by far my
most challenging, exciting, and rewarding class. We learned initially how
to work in a team, then we learned how design well enough so that we could
actually sell our project, and finally how to work for others.
It was a senior level class and really wrapped up all four (or five) years
of what we had learned.

I would much rather higher a student who had taken this course than
someone who had worked on a huge some huge state-of-the-art application.
Basically, I am arguing that the former is capable of creating it, while the
latter is only using it.

[SideNote]: In my Operating Systems class we also had to add a feature to
our little Unix boxes. We had to alter the file permissions so that
you could say Larry has access, but July doesn't. Instead of your
basic Owner User Group (777) access. The funny thing is that
in order to do this we had to mess with some inode stuff, and if you
were a little off, when Unix went around and cleaned up your unused (or
what it thought were unused), inodes, it basically destroyed your system.
80% of the class had no machine to work on the day before project was due.
(only geeks didn't work up to the minute on a program. 8). Heh, ok,
so we procastinated.)

Just something not to assign to your students if you teach.


: Personal computers are now very cheap. CS students today have
: ample opportunity to supplement their classroom experience by
: hacking public domain software. Students who expect someone else
: (their professors or employers) to teach them everything they need
: to know will be left in the dust of those with a real passion to learn.


Agreed, so much of what I know was learned by basically being a dork
and playing with my computer. There was no Internet 101 offered, but
I feel I am a veteran (*gasp*) in cycerspace.


Later.

--
Vanchau Nguyen
-[My opinions are my own]-

Kevin Cline

未读,
1995年8月1日 03:00:001995/8/1
收件人
In article <3vlo87$d...@mimsy.cs.umd.edu>, Charles Lin <cl...@cs.umd.edu> wrote:
> [good stuff elided]

> As far as whether we should be teaching students to go out
>and be able to go into the workforce right away. This goes
>to the heart of what computer science education (even engineering)
>is all about. Do you teach skills that may become obsolete in
>a few years, but are marketable now, or do you teach skills that
>aren't extremely marketable, but hope the students can pick it
>up while working in industry? And, what about preparing students
>to go to graduate school?
>

I agree that you need to teach general topics that won't become
obsolete in a few years, and I agree that it would not be productive
to spend a full semester teaching clever C++ tricks. I learned to
program in FORTRAN (Watfiv) and ALGOL/W and PASCAL and a little bit of
C. But when I graduated I was able to read and write programs that
worked. That's all I am asking you to do: make sure students are able
to design and implement a 2K LOC program before you let them graduate.
Is it asking too much for students in compiler courses to look at
portions of a working compiler, and for students in operating system
courses to look at the code of a working operating system? Can't
CS students have assignments that require reading and writing code?

I can't think of another discipline that allows students to go
through a four year program without exposing them to the work
of other professionals in the field.


--
Kevin Cline


Jonathan Allan

未读,
1995年8月2日 03:00:001995/8/2
收件人
In article <LOU.95Ju...@atanasoff.rutgers.edu>, l...@cs.rutgers.edu (Lou Steinberg) writes:
|> In article <3vaoqp$v...@locutus.rchland.ibm.com> xzz...@honker.rchland.ibm.com (Jonathan Allan) writes:
[slice]
|> It wasn't the students that hated me, it was the
|> professor.
|>
|> Mostly I sympathize with you, but let me point out one caveat:
|>
|> A programming assignment is given to teach you about some specific
|> ideas. Putting in huge amounts of code and documentation that are not

Putting in a few lines of white space and a two or three
line comment at the beginning of each procedure doesn't
seem like a big deal. Might have even helped the twit
_grade_ the silly thing; it was clear that it worked, he
just needed to verify the code looked like it should spit
out those results. Huge? Nah; I don't have that much
patience.

|> relevant to the pedagogical purpose is a waste - of both your time and
|> the time the person who has to grade it.

Since I have referred to some of these after I graduated,
they certainly weren't a waste of *my* time.

|> I suppose you could argue that a student does so little programming in
|> school that *every* programming assignment, no matter what its
|> specific point, should also be used to teach skills and attitudes
|> needed to produce "industrial strength" code. I'm not convinced
|> that that is true, though.

I'm not either. But if they have a reasonable library
at thier disposal and there is no pedagogic reason to
not use it, then we ought to be encouraging reuse... 8-)

Jonathan Allan

John Altinbay

未读,
1995年8月2日 03:00:001995/8/2
收件人
In article <9507292...@wem.org> thadeus...@wem.org (Thadeus Olczyk) writes:
>I think people have remembered, and that is the cause of recent election
>results.

If I want to read the same old rubbish about the cause of recent election
results, I can read it in miriad political groups. Please take it there.


--
John Altinbay - alti...@netcom.com anon...@twwells.com
===============================================================
There's a spirit that guides me, a light that shines for me
My life is worth the living, I don't need to see the end.

Ron Crocker

未读,
1995年8月2日 03:00:001995/8/2
收件人
In article <3vmcvv$m...@crchh327.rich.bnr.ca>,

Vanchau Nguyen <van...@bnr.ca> wrote:
>Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:
>: I didn't ask it straight out. That would be absurd.
>
>: I asked this question after asking the candidate to produce a
>: minimal-space algorithm for a simple task. The algorithm ran in
>: O(N**2) time. So I asked him if he could think of a way to modify
>: the algorithm to use more space and run in O(N log N) time.
>: I believe these ideas should be elementary to anyone with a
>: degree in computer science.
>
>
>No offense, but I think the only people you would higher are a bunch
(hire)

>of dorks. Some friends of mine who were graduating with me (1994),
>had interviews with Microsoft. The interviewer asked some
>very similar questions (I believe sparse trees was another one
>he asked). That day we all had a beer and laughed out loud
>at the company and the interviewer. (Shrug, I guess we're still
>immature).

Yeah, I wouldn't want to work at Microsoft either - they're just
a bunch of dorks. All they have done is built some of the most widely
used software in history, but they're so geeky. They probably don't
even drink beer, they're such dorks.

>However, this brings up a point. Why is it necessary for a
>computer scientist to know off the top of his head such things?
>Recently, in one of our projects, we created a loop. Later,
>we optimized the loop. Of course, it was not the most difficult
>thing, but it did take some time and thought. The last thing
>I would like to do at an interview is explain to you how to
>reduce algorithm time by to a certain Big O notation. laf.

The original question wasn't even that difficult, really. You didn't
have to solve the problem, just talk about approaches to solving
it. It's a test of your ability to solve problems. That's what we do,
us geeky engineers in the real world. Our bosses ask us to solve
problems. And our problems, at least in the places I've worked, often
revolve around improving performance. The difference between O(n^2)
and O(n log n) is significant at n ~ 100 (by a factor of 10x) and gets
better from there on.

>In my opinion, it would be like asking a physics major
>to recite the periodic table. Even though this is possible,
>why? Whats the point of retaining such knowledge when its
>an index away? I guess I believe in only remembering/retaining
>things that are worth keeping. How wonder I did bad in
>biology...

(or english).

I disagree with your analogy. It's more like asking a physics major to
tell you how to compute something's kinetic energy. Sure, it's in a
book. Of course, you don't have that book with you all of the time, so
you often need to be able to give an answer *now* - not in tomorrow,
often not even 10 minutes from now. Without a strong foundation in
some of the fundamental aspects of computing, you'll have a struggle
with other, more interesting, concepts.

>There was one class in particular that struck out in my college career (other than
>beers and wines, which for some reason, was always a blast). The class was
>called software-engineering. Basically, we were chosen by the teacher in groups
>of three (by some statistical metrics or something). We then had to come up
>with a project idea, and, after approval, present this to the class. We then
>had to 'hire' fellow classmates to code our project. In fact, this is how
>we got graded. At the same time, we had to code other people's project.
>
>So basically, we would split up our project into parts and hire out coders
>for X points. (BIG modules got BIG points etc). This was by far my
>most challenging, exciting, and rewarding class. We learned initially how
>to work in a team, then we learned how design well enough so that we could
>actually sell our project, and finally how to work for others.
>It was a senior level class and really wrapped up all four (or five) years
>of what we had learned.
>
>I would much rather higher a student who had taken this course than
>someone who had worked on a huge some huge state-of-the-art application.
>Basically, I am arguing that the former is capable of creating it, while the
>latter is only using it.

I'm not sure that I agree with this either. There's something to be
said for working (in school) on a long term project with many people
coming and going. It's like the "real world." One thing missing from
your class was ongoing maintenance of other people's code. That's
going to be part of the other project, and it's for sure in the real
world.

>: Personal computers are now very cheap. CS students today have
>: ample opportunity to supplement their classroom experience by
>: hacking public domain software. Students who expect someone else
>: (their professors or employers) to teach them everything they need
>: to know will be left in the dust of those with a real passion to learn.
>
>
>Agreed, so much of what I know was learned by basically being a dork
>and playing with my computer. There was no Internet 101 offered, but
>I feel I am a veteran (*gasp*) in cycerspace.

Summing up, in college you learned to be a hacker, a surfer, and an
alcoholic. So, what is it that you have to offer my company? Please
keep the net informed of the copious employment opportunities for
someone with such skills.

--
Ron Crocker
Motorola Cellular Infrastructure Group
(708) 632-4752 [FAX: (708) 632-3113 <- NOTE: new fax number]
cro...@mot.com

Igor Chudov @ home

未读,
1995年8月2日 03:00:001995/8/2
收件人
Ron Crocker (cro...@tamarin.cig.mot.com) wrote:
* In article <3vmcvv$m...@crchh327.rich.bnr.ca>,
* Vanchau Nguyen <van...@bnr.ca> wrote:
* >Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:
* >: I didn't ask it straight out. That would be absurd.
* >
* >: I asked this question after asking the candidate to produce a
* >: minimal-space algorithm for a simple task. The algorithm ran in
* >: O(N**2) time. So I asked him if he could think of a way to modify
* >: the algorithm to use more space and run in O(N log N) time.
* >: I believe these ideas should be elementary to anyone with a
* >: degree in computer science.
* >
* >
* >No offense, but I think the only people you would higher are a bunch
* (hire)
* >of dorks. Some friends of mine who were graduating with me (1994),
* >had interviews with Microsoft. The interviewer asked some
* >very similar questions (I believe sparse trees was another one
* >he asked). That day we all had a beer and laughed out loud
* >at the company and the interviewer. (Shrug, I guess we're still
* >immature).

* Yeah, I wouldn't want to work at Microsoft either - they're just
* a bunch of dorks. All they have done is built some of the most widely
* used software in history, but they're so geeky. They probably don't
* even drink beer, they're such dorks.

I think that tests like the one above test not only how well-read the
candidate is (which is important), but also how smart s/he is. This is
probably their primary purpose. Also, not dismissing the need to know
many more things, a programmer who does not care about "Big O's" is
plain dangerous and incompetent.

Note that theory of algorithms and "software engineering" are actually
different things. The former talks about solving small problems, and the
latter is about solving BIG problems, like design of a large computer
system. Therefore, a good interviewer would try to assess the abilities
of a candidate in these areas separately.

Note that proficiency in only one area is a necessary, not sufficient
condition of suitability of a candidate. Since both are necessary, a
discussion on which is more important makes little sense.

--
- Igor. (My opinions only) http://www.galstar.com/~ichudov/index.html
For public PGP key, finger me or send email with Subject "send pgp key"

Danny R. Faught

未读,
1995年8月3日 03:00:001995/8/3
收件人
In article <3voo77$8...@mercury.galstar.com>,

Igor Chudov @ home <ich...@galstar.com> wrote:
>I think that tests like the one above test not only how well-read the
>candidate is (which is important), but also how smart s/he is. This is
>probably their primary purpose. Also, not dismissing the need to know
>many more things, a programmer who does not care about "Big O's" is
>plain dangerous and incompetent.

I agree. And you can't think only in black and white terms during an
interview. In technical interviews, after the candidate has written a
short piece of code, I often ask them to tell me the computational
complexity of the code. And, especially if they used a naive
algorithm, I ask them how they could optimize it. If I get a blank
stare, that counts against them. But if they can come up with the Big
O, and can give some vague suggestions about how to improve the code,
I'm more confident that they have the necessary background. Even if
they get the answer wrong but can get it right after some prodding,
they pretty much "pass" the test as far as I'm concerned.

[followups trimmed]

Vanchau Nguyen

未读,
1995年8月3日 03:00:001995/8/3
收件人
Ron Crocker (cro...@tamarin.cig.mot.com) wrote:
: In article <3vmcvv$m...@crchh327.rich.bnr.ca>,
: Vanchau Nguyen <van...@bnr.ca> wrote:
: >No offense, but I think the only people you would higher are a bunch

: (hire)
: >of dorks. Some friends of mine who were graduating with me (1994),
: >had interviews with Microsoft. The interviewer asked some
: >very similar questions (I believe sparse trees was another one
: >he asked). That day we all had a beer and laughed out loud
: >at the company and the interviewer. (Shrug, I guess we're still
: >immature).

: Yeah, I wouldn't want to work at Microsoft either - they're just
: a bunch of dorks. All they have done is built some of the most widely
: used software in history, but they're so geeky. They probably don't
: even drink beer, they're such dorks.

I don't know about you, but I definately would not work for Microsoft
based upon the rumours I have heard about the company. Yes, you
can make tons of money, yes they do produce some excellent? software.
Or is it pretty good software, just marketed well? Lets take
Windows 3.0. Why is it that when I use Windows, my system slows
down performace as if it were going from a 486-66 (which it is), to
a 386-25? Then, I'll switch over to something like LINUX (which
is free and written by a bunch of independants), and I am amazed at
how much I can do with my little computer.

Don't get me wrong, I love using Microsoft Word or Microsoft Excel,
but I would never work for a company where you sit in a cube all
day coding for a deadline like a rat in a cage. What do you really learn?
Of course, these are all rumours, if anyone who actually works there
and would like to post what it is really like, feel free, I'll listen
and change my mind appropriately.

: >However, this brings up a point. Why is it necessary for a


: >computer scientist to know off the top of his head such things?
: >Recently, in one of our projects, we created a loop. Later,
: >we optimized the loop. Of course, it was not the most difficult
: >thing, but it did take some time and thought. The last thing
: >I would like to do at an interview is explain to you how to
: >reduce algorithm time by to a certain Big O notation. laf.

: The original question wasn't even that difficult, really. You didn't
: have to solve the problem, just talk about approaches to solving
: it. It's a test of your ability to solve problems. That's what we do,
: us geeky engineers in the real world. Our bosses ask us to solve
: problems. And our problems, at least in the places I've worked, often
: revolve around improving performance. The difference between O(n^2)
: and O(n log n) is significant at n ~ 100 (by a factor of 10x) and gets
: better from there on.

Well then this is an argument about semantics. I do not know
exactly what was asked. Perhaps I jumped to a conclusion about
what was asked since I had heard stories of interviewers asking
specific questions. Of course, if it was a general question
hoping to see if the candidate has general problem solving abilities,
then thats of course ok. I got the impression that is was a question
of specifics not generalities.

: >In my opinion, it would be like asking a physics major


: >to recite the periodic table. Even though this is possible,
: >why? Whats the point of retaining such knowledge when its
: >an index away? I guess I believe in only remembering/retaining
: >things that are worth keeping. How wonder I did bad in
: >biology...

: (or english).

: I disagree with your analogy. It's more like asking a physics major to
: tell you how to compute something's kinetic energy. Sure, it's in a
: book. Of course, you don't have that book with you all of the time, so
: you often need to be able to give an answer *now* - not in tomorrow,
: often not even 10 minutes from now. Without a strong foundation in
: some of the fundamental aspects of computing, you'll have a struggle
: with other, more interesting, concepts.

Again semantics.

: >There was one class in particular that struck out in my college career (other than


: >beers and wines, which for some reason, was always a blast). The class was
: >called software-engineering. Basically, we were chosen by the teacher in groups
: >of three (by some statistical metrics or something). We then had to come up
: >with a project idea, and, after approval, present this to the class. We then
: >had to 'hire' fellow classmates to code our project. In fact, this is how
: >we got graded. At the same time, we had to code other people's project.
: >
: >So basically, we would split up our project into parts and hire out coders
: >for X points. (BIG modules got BIG points etc). This was by far my
: >most challenging, exciting, and rewarding class. We learned initially how
: >to work in a team, then we learned how design well enough so that we could
: >actually sell our project, and finally how to work for others.
: >It was a senior level class and really wrapped up all four (or five) years
: >of what we had learned.
: >
: >I would much rather higher a student who had taken this course than
: >someone who had worked on a huge some huge state-of-the-art application.
: >Basically, I am arguing that the former is capable of creating it, while the
: >latter is only using it.

: I'm not sure that I agree with this either. There's something to be
: said for working (in school) on a long term project with many people
: coming and going. It's like the "real world." One thing missing from
: your class was ongoing maintenance of other people's code. That's
: going to be part of the other project, and it's for sure in the real
: world.

Of course, but this is school. School is not going to teach you
everything you need to know. Perhaps another class could offer
a course on 'reading other people's code'. Of course, I wouldn't
take it, sounds like a complete waste of time. Why is there a need
to learn how to do this when you'll learn it on the job or a co-op?
I agree its an important 'skill', but nothing you could learn after
a week on the job.

: >: Personal computers are now very cheap. CS students today have


: >: ample opportunity to supplement their classroom experience by
: >: hacking public domain software. Students who expect someone else
: >: (their professors or employers) to teach them everything they need
: >: to know will be left in the dust of those with a real passion to learn.
: >
: >
: >Agreed, so much of what I know was learned by basically being a dork
: >and playing with my computer. There was no Internet 101 offered, but
: >I feel I am a veteran (*gasp*) in cycerspace.

: Summing up, in college you learned to be a hacker, a surfer, and an
: alcoholic. So, what is it that you have to offer my company? Please
: keep the net informed of the copious employment opportunities for
: someone with such skills.

Pretty much. Bottom line is personally, I can do anything. Whats more is
that I have diversity and adaptability. I wouldn't trade these characteristics
for anything.

: --

: Ron Crocker
: Motorola Cellular Infrastructure Group
: (708) 632-4752 [FAX: (708) 632-3113 <- NOTE: new fax number]
: cro...@mot.com

--

Darin Johnson

未读,
1995年8月3日 03:00:001995/8/3
收件人
l...@cs.rutgers.edu (Lou Steinberg) writes:
> One point of a
> BS or BA in Conputer science is to give the students enough background,
> both in basic principles that don't change and in learning how to
> learn new things that do change, so that 5 years after graduation (and
> 10 years and 15 years ...) they will be better able to adapt as the "real
> world" changes.

That's the theory. Currently however, this isn't as marketable a
skill as it once was. Experience showing you can adapt helps a little
more though. In my experience interviewing in 93 and 94, for everyone
I talked to who was interested in past work and grad school, there was
one person with more hiring authority who wanted to know what I had
done recently, and one who wanted to know why I hadn't done much C++.

Your mileage may vary, since I think timing is even more important.

--
Darin Johnson
djoh...@ucsd.edu -- Toy cows in Africa

Darin Johnson

未读,
1995年8月3日 03:00:001995/8/3
收件人
> Yeah, I wouldn't want to work at Microsoft either - they're just
> a bunch of dorks. All they have done is built some of the most widely
> used software in history, but they're so geeky. They probably don't
> even drink beer, they're such dorks.

Facetious point aside (my philosophy is that if they think this is
a good reason to work for Microsoft, they'll probably fit in); there
is a lot of evidence that the hiring at Microsoft screens for certain
attributes. This is because they use these trivia style questions for
all their interviewees. *Including* PhD's. Apparently, correct but
alternate answers are pointed out at times as being good but wrong.
The "why are manholes covers round" used to be the common question,
now it's things like "how can you divide this particular shape into
two even pieces". Talking about approaches to solving these problems
have been reported to not go over well by some past interviewees.

The sorts of people that get flying colors on this sort of interview
can easily be imagined. Good at trivia, only come up with one answer
at a time, sees the trees but not the forest, etc. Now compare this
to the view the outside world has of Microsoft - good at business,
mediocre with technology.

The vast majority of past interviewees I've heard from have said that
the Microsoft interviews were the strangest they've ever been to.


> One thing missing from
> your class was ongoing maintenance of other people's code. That's
> going to be part of the other project, and it's for sure in the real
> world.

You know, I've thought about this before. Maybe I'm a bit jaded
in that everyone wanted this from me when I interviewed, when little
of it was in my past experience (I maintained my own code for the
most part). One interviewer, who had given a voice offer, withdrew
it, but was honest enough to say that they thought I would not do
maintenance if hired because I hadn't done it in the past (duh, did
they think I'd stare out the window rather than do my job?).
[hmm, the vp who hired me where I am now, who's now gone, gave me
a salary less than normal because he thought I'd sit around and do
research instead of maintenance - sigh]

Anyway, there's this impression that if you haven't done this stuff
before, that you can't do it in the future. People have to learn this
somewhere. And it's not at all that hard - the only real new skill is
being able to decipher other people's code. Do people really think
new students can't do this, or that they'll take longer to come up
to speed than someone who has done maintenance yet never seen the
particular product before? Granted, there is a bit of time involved
before the student learns that doing the things the right way isn't
as important as getting a quick and dirty patch in so it can ship
tomorrow, but it shouldn't be that critical.

Likewise, another thing I've heard from other people, is that
they feel new students can't handle the real world politics.
One even said this was his primary reason for requiring at least
a year of experience in anything. I can see a little of this,
since I got sucked up into company politics that sidetracked me
a few time, but that was after having experience...

Students will rarely be familiar with the real world, but then,
it's not that difficult a concept. Even more important, students
will not be as familiar with your particular little niche in industry
(for every professional who wishes students learned more software
engineering, there's someone else who wishes they learned more
of something else). The only solution universities have, because
they can't tailor every students education to the exact job they'll
get on graduation, is to teach a lot of things and make the student
adaptable. And back to my first point - this just isn't being
treated as a valuable asset in industry *currently*.

--
Darin Johnson
djoh...@ucsd.edu
"Are you a doctor?" "No, but I watched."

Charles Lin

未读,
1995年8月3日 03:00:001995/8/3
收件人
Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:

|| I agree that you need to teach general topics that won't become
|| obsolete in a few years, and I agree that it would not be productive
|| to spend a full semester teaching clever C++ tricks. I learned to
|| program in FORTRAN (Watfiv) and ALGOL/W and PASCAL and a little bit of
|| C. But when I graduated I was able to read and write programs that
|| worked. That's all I am asking you to do: make sure students are able
|| to design and implement a 2K LOC program before you let them graduate.
|| Is it asking too much for students in compiler courses to look at
|| portions of a working compiler, and for students in operating system
|| courses to look at the code of a working operating system? Can't
|| CS students have assignments that require reading and writing code?

Actually, I think that would be a great idea. Right now,
one big problem in computer science is trying to teach students
to write quality code. Unlike essays or reports, code is rarely
looked at for its style. One reason, I'm sure, is that we've
never really been taught (oh, sure, add comments, use functions,
etc., but more than that) how to read other people's code. This
is a skill that is not taught, but one that I think needs to be
taught. But, in order to evaluate another person's code, we
also need some kind of standardization of how to write code.
We should also discuss various ways of implementing code.

I write some code that I happen to know is ugly, but I have
no better ideas as to how to write it (mainly because I want
to get it to work, rather than think about how to do it), and
I think we need to look at other code, and ask why a person
did this or that, and whether it is good or bad. Of course,
this introduces subjectivity into the process, but I don't
think that's all bad. It also forces one to have an opinion
and be able to back it up.

|| I can't think of another discipline that allows students to go
|| through a four year program without exposing them to the work
|| of other professionals in the field.

Umm, some of the engineering fields also do this. As an
electrical engineering major, I didn't have to look at any current
circuits or devices currently being made by engineers, even the
"alleged" VCRs and TVs that some non-engineers think are what we
learn in EE. Do I think we should have looked at some real
world examples. Yes, I do. But, one has to make sure that
they are merely examples, and not the entire focus of the
course. I have heard that Indian universities will have more
practical elements in their courses (as well as the theoretical
stuff). A little balance is needed.

--
Charles Lin
cl...@cs.umd.edu

Robert G. Plantz

未读,
1995年8月3日 03:00:001995/8/3
收件人
In article <nagleDC...@netcom.com>, na...@netcom.com (John Nagle) wrote:

> van...@bnr.ca (Vanchau Nguyen) writes:
> >Ron Crocker (cro...@tamarin.cig.mot.com) wrote:
> >: In article <3vmcvv$m...@crchh327.rich.bnr.ca>,
> >: Vanchau Nguyen <van...@bnr.ca> wrote:

< a bunch of stuff about good/bad interview questions >

> in UNIX up to V7 or so. It makes sense for an interviewer to ask
> that question.

Organizations differ quite a bit. Each has its own, unique personality.
So they look for different things when interviewing applicants. And
they interview accordingly.

Looking for an employee/employer is a two-way street. Both sides are
looking for a match. There are no right or wrong interview questions.
(Well, some are rude.)

Likewise, colleges and universities have different personalities and
produce different kinds of graduates.

"Competent" includes quite a wide range of capabilities and skills.

There really is room for all of us.

Bob Plantz

Scott Nettles

未读,
1995年8月4日 03:00:001995/8/4
收件人
In article <19950801.022723...@UICVM.UIC.EDU>,

Thadeus Olczyk <olczyk@sunphy1> wrote:
>Too bad you can't read, then at least you could get the flame right. I wasn't

Too bad you can't even read what you wrote. I knew what you were commenting on,
but since you seem to have not been able to figure it out, the "saying" you
posted doesn't just insult teachers of teachers, it just insults them more.
And in case you didn't notice while "recieving" your PhD, one of the main roles
of university faculty is to teach people who plan to teach.

>outcome based-education. Do you even know what it is? If not you're in for a
>shock with the next bunch of students.

Yes, I do and no, I'm not. I didn't and wouldn't claim to defend education
teachers. I'll let them do that. However, from your other contributions to this
thread, it's pretty clear what you attitude to teachers, learning, knowledge,
etc. is. And that's why I flamed you and with good reason.

>By the way you should also learn your Mark Twain.

You mean like the quote I used at my high-school graduation, "I never let
school interfere with my education"? Been there, learned that. Fortunately,
I've grown up a bit since then as well.

>Nope. I only sent out one application, and that was at the urging of a friend.

Well, that's a relief. I'd hate to see someone with your attitudes about the
value of knowledge and learning involved in education.

In a different post you say
>A professor who gets a one million dollar grant, and gets paid $100,000 makes
>money for the university. A professor who takes in no grant money and gets
> paid the same loses money for the university. Yet when salary time comes
>around the argument is that because they contribute equally to the education
> of a student they should get paid similarly. that is one of the factors of th>high cost of education.

A lot of faculty members I know wish they were living on the same planet as
you. At the universities where people are getting 1 million (or 10 thousand for
that matter) dollar grants, your success at raising money is evaluated at
pretty much every step, when getting raises, definitely when getting tenure and
guess what if they think you bring in money they are even more likely to hire
you. For good or bad, it is an issue, and a big one.

Scott

P.S. I just love it when people take the bait and run with it.

> And you should learn your netiquette. Ive seen virtually everyone make
>spelling errors.

As far as I'm concerned, the more reasons you give people to ignore the kind of
nonsense you post to the net, the better.

>spelling errors. As for using a spell checker, I would have to ftp one install
>it and then compile it at this point I don't have the time.

Poor baby, you're so busy that you can't be bothered, but you do have time to
make lengthy and insulting posts.

John Nagle

未读,
1995年8月4日 03:00:001995/8/4
收件人
van...@bnr.ca (Vanchau Nguyen) writes:
>Ron Crocker (cro...@tamarin.cig.mot.com) wrote:
>: In article <3vmcvv$m...@crchh327.rich.bnr.ca>,
>: Vanchau Nguyen <van...@bnr.ca> wrote:

>: >However, this brings up a point. Why is it necessary for a
>: >computer scientist to know off the top of his head such things?
>: >Recently, in one of our projects, we created a loop. Later,
>: >we optimized the loop. Of course, it was not the most difficult
>: >thing, but it did take some time and thought. The last thing
>: >I would like to do at an interview is explain to you how to
>: >reduce algorithm time by to a certain Big O notation. laf.

Because the order of an algorithm tends to be much more
important than the speed of a single pass. The order of an
algorithm should never be too far from your mind when coding one.
I know of several major systems with terrible performance because
somebody forgot this, the most notable one being AT&T's "malloc"


in UNIX up to V7 or so. It makes sense for an interviewer to ask
that question.

John Nagle

John Sellers

未读,
1995年8月4日 03:00:001995/8/4
收件人

I think these things cut both ways...the two edged sword. Here
is a few of the best and the worst of my learning experiences.

Worst:
College Professor, teaching circuit theory, what he taught had
nothing to do with the rest of the curriculum or the level of
knowledge the students had. His opinion of what the student
should know before taking HIS class was completely disjoint from
what the students knew actually knew.

Next to Worst:
Summer course on Engineering statics and dynamics, five days a
week at 7AM. Ten minute Pop quiz started class every day. One
question on the quiz. Class average for all tests was below 25%.
Typical question would be: "Such and such a sphere with such and
such rotational speed sliding down incline with such and such
coefficient of friction. How far will it slide before it starts
rolling without slipping."

I never saw such a bunch of demoralized students in my life.

Above Average:
Compile writer from HP teaching course at local community college
teaching advanced Pascal. I took the course because of his
technical knowledge. I was experienced in Pascal so I kept
asking these leading questions which I knew would expose
interesting aspects of language. This would invariably lead
other students to get involved. He resented the questions, a
dynamic that I had noticed when I came to California and only the
past 15 years. Previous to that in Arizona I had never seen a
teacher discourage questions. At the end of the semester he
mentioned that he thought that the class was the most involved of
any he had ever taught. It was obvious he was not aware of the
dynamic of the question asking I did and how it simulated the
class.

Excellent:
In my Arizona high school our Algebra II and Trig class consisted
of small town kids who had grown up together, started a science
club in grade school, and a few of which would come over to my
house and Dad would show us stuff in his little chemistry lab or
machine shop when we were in grade school.

In the Algebra II and Trig class we had a level of excellence
that I have never seen since. The class average was 99% and we
were competing for first place with averages ranging from 99.5%
to 99.8%. The tests and homework was hard. Several of us placed
in the top ten in the state wide math contest. One year I placed
first in the state.

The course was not watered down as you might think from the
grades. There were one or two hours of home work almost every
night. The standards were pretty tough in the school. When a
student came to our schools from California, it was pretty
standard that he/she would be put back one grade level.

One of the Best:
I won't say the best because I can think of many examples of good
learning experiences, but a very recent example was at the just
completed ParcPlace, Digitalk conference.

Steven T. Abell of ParcPlace Systems presented ValueInterface
which he designed and built for ParcPlace. His presentation was
crystal clear and several participants said it was the best
session they had attended at the conference. Among other things,
Steve teaches an intermediate course for ParcPlace and does some
programming for A.G. The ValueInterface is a very nice little
framework for ValueModel.


Cjdavies

未读,
1995年8月4日 03:00:001995/8/4
收件人
In article <NEWTNews.807575...@sellers.sellers.com>, John
Sellers <sel...@sellers.com> writes:

>
>Steven T. Abell of ParcPlace Systems presented ValueInterface
>which he designed and built for ParcPlace. His presentation was
>crystal clear and several participants said it was the best
>session they had attended at the conference. Among other things,
>Steve teaches an intermediate course for ParcPlace and does some
>programming for A.G.

Steve Abell was one of the instructors who taught the VisualWorks class I
took at ParcPlace. I agree with your assessment of his teaching, which is
a very high standard at ParcPlace. He knows some good restaurants, too!

Jonathan Allan

未读,
1995年8月4日 03:00:001995/8/4
收件人
In article <nagleDC...@netcom.com>, na...@netcom.com (John Nagle) writes:

|> van...@bnr.ca (Vanchau Nguyen) writes:
|> >Ron Crocker (cro...@tamarin.cig.mot.com) wrote:
|> >: In article <3vmcvv$m...@crchh327.rich.bnr.ca>,
|> >: Vanchau Nguyen <van...@bnr.ca> wrote:
|>
|> >: >However, this brings up a point. Why is it necessary for a
|> >: >computer scientist to know off the top of his head such things?
|> >: >Recently, in one of our projects, we created a loop. Later,
|> >: >we optimized the loop. Of course, it was not the most difficult
|> >: >thing, but it did take some time and thought. The last thing
|> >: >I would like to do at an interview is explain to you how to
|> >: >reduce algorithm time by to a certain Big O notation. laf.
|>
|> Because the order of an algorithm tends to be much more
|> important than the speed of a single pass. The order of an
|> algorithm should never be too far from your mind when coding one.
|> I know of several major systems with terrible performance because
|> somebody forgot this, the most notable one being AT&T's "malloc"
|> in UNIX up to V7 or so.

Good point. But do you, as an interviewee, have time
in an interview and/or test situation to come
up with the *best* solution or a solution *that works*?

Given the later, and info on what is considered best,
the former can be found. Searching for
the former, while the later is unfound, is inefficient
at best, and incompetance at worst. I'd rather get
something defensible (it works) on an interview test,
and when questioned, point out there are better ways, but
I was focused on getting the problem answered, not
finding the best solution possible. If you want the
best possible solution, you can invest in some more of
my time... 8-) Really, you want to know how the person
is going to work in your shop, right? How often does
the *best* answer pop out of peoples mouths the first
time they talk about a problem. Damn rare in my opinion.

|> It makes sense for an interviewer to ask
|> that question.

So I disagree that this kind of question makes sense to
ask in a first interview. Now, given a date/time for a
second interview, and this code to rewrite to meet certain
performance parameters by that date, then this is a fair
question. Probably should be a required question.
Hmmm. I'll have to remember this...

Kevin Cline

未读,
1995年8月4日 03:00:001995/8/4
收件人
In article <3vt7ih$1d...@locutus.rchland.ibm.com>,

Jonathan Allan <k...@mill2.millcomm.com> wrote:
>Good point. But do you, as an interviewee, have time
>in an interview and/or test situation to come
>up with the *best* solution or a solution *that works*?
>

Since I was the interviewer who asked the question in the first place,
I will tell you all what kind of answer I was looking for.
All I really wanted the candidate to do was to wave his hands in the
air and mention binary trees or any N log N sorting algorithm
as a way to solve the problem in N log N time.

I certainly did not expect him to code a working binary
tree or quicksort on the spot, and probably not ever. But I was hoping
that he could talk about O(N**2) vs. O(N log N) just a bit. After all, this
candidate claimed to hold an MSCS from Texas A&M. Surely he had taken
a course on data structures and the analysis of algorithms.

Again, I did not reject the candidate because of this one question.
The real reason he was not hired was that he claimed C++ knowledge
but was unable to answer basic questions from the C++ FAQ.
--
Kevin Cline


Gil Colgate

未读,
1995年8月5日 03:00:001995/8/5
收件人
Although this replay to your Re: Producing competent CD Grads post is off
the subject, I am glad I can send some thoughts to a teacher of Computer
Science.

I work in the computer game industry, and am often surprised at inability
of majors in Computer Science to work until they have been retrained. I
believe that the wrong thing is often taught at school. Rather than learn
to write code, a programmer should learn to READ code.

For example, a graduate with a CS degree might get a job reprogramming
satellites for the defense department, burning ROMS for automobile
engines, writing word processors for Microsoft, or building Sega
cartridges for Electronic Arts. All these tasks are very different from
each other, even though they all involve programming at the basic level.

Most computer science grads will know how to write a quicksort, build a
linked list, or some other basic stuff, but will not know one bit how to
write software within any particular industry. (Or worse yet, they might
come from a trade school, and know how to write code for only one
particular industry and one class of applications!). The only way for a
neophyte to write good code is to A) Write a lot of code with problems
until you finally learn, via experience, what other people already know
(which can be an expensive lesson, especially if programming satellites)
or B) start with an existing program and modify it, absorbing the relevant
information within into your own brain.

I think a final exam in a course that build these skills would be
something like "Here is a program. We want to make the following five
changes. Please make them. You have five hours." The program ought to be
medium sized (100 thousand lines or so) and complex, and involving a
subject the students are unfamiliar with.... for example, the program
could be a simulation of a robot in a virtual world, or something
esoteric. Of course, you would lead up to this final exam in stages, by
having smaller and easier versions of this same sort exam with different
problems. Remember to have a different programmer prepare each test!
Perhaps you could obtain source from bulletin boards or books.

Your marking should also include an "autotest" facility, where the program
is run given random input for a period of time. If it crashes, it loses 1
grade level.

Matthew Kennel

未读,
1995年8月7日 03:00:001995/8/7
收件人
Kevin Cline (kcl...@sun132.spd.dsccc.com) wrote:
: Again, I did not reject the candidate because of this one question.

: The real reason he was not hired was that he claimed C++ knowledge
: but was unable to answer basic questions from the C++ FAQ.

We're getting closer here.

What are some examples of a "basic question" from the C++ FAQ (or similar
document) whose correct answer you would consider a prerequisite to hiring
somebody? What level of difficulty do you consider to be "at the border"?

The C++ FAQ has some what I'd consider to "basic questions" and some
"rather quite subtle and obscure things".

Or do you consider mastery of _all_ the questions of the C++ FAQ to be just
"basic knowledge"? That's rather stiff, I'd think, considering that
quite a number of them are not covered in standard textbooks.

: --
: Kevin Cline


Jon Jacky

未读,
1995年8月7日 03:00:001995/8/7
收件人

In article <gcolgate-050...@198.134.145.102> gcol...@digipix.com (Gil Colgate) writes:

> I work in the computer game industry, and am often surprised at inability
> of majors in Computer Science to work until they have been retrained.
>

> Most computer science grads will know how to write a quicksort, build a
> linked list, or some other basic stuff, but will not know one bit how to
> write software within any particular industry.

Comments like this appear on in this newsgroup all the time. I am
continually surprised that people in industry are surprised to find that new
graduates do not know much about applications and practices in their particular
industry. How could it be otherwise? Quicksort and that other basic
stuff is what they teach in undergraduate CS education.

Perhaps software development is less generic than most people think. Every
industry and type of application has its own problems. There is no
time in the undergraduate curriculum to touch on more than just a few.
I know industry would like new graduates to be familiar with their
particular problems, but this isn't a reasonable expectation.
Industry has to plan on providing a lot of specific training
themselves, even though they may cringe at the time and expense.

> (Or worse yet, they might
> come from a trade school, and know how to write code for only one
> particular industry and one class of applications!).

It is possible even to see the university computer science curriculum
this way. Its content often concentrates on compilers, operating
systems, and maybe two or three other kinds of applications like
computer graphics and networking. I know that computer scientists see
these as central, but really they are just applications. The
university CS curriculum really seems designed to prepare people to
write systems software, which is certainly not the only kind of
software. One could imagine a quite different computer science
curriculum that emphasized process control and numerical calculations
(I think David Parnas has suggested something like this) and yet
another curriculum that emphasized human computer interaction and
social/organizational aspects of computing. And so on. Each such
alternative curriculum would serve some industries better than the
present typical CS curriculum does. The problem is that each such
alternative curriculum would occupy a whole undergraduate education,
so no matter which you chose, most graduates will be still be
unprepared, from the point of view of most industries.

> The only way for a
> neophyte to write good code is to A) Write a lot of code with problems
> until you finally learn, via experience, what other people already know
> (which can be an expensive lesson, especially if programming satellites)
> or B) start with an existing program and modify it, absorbing the relevant
> information within into your own brain.

Another frequently seen theme that appears in this post is, that the
best way to prepare programmers to deal with some application area is
to have them write and ponder code written for that application area.
Don't overlook the obvious: what about just teaching them about the
application itself, having them read about the application, spend time
with users who work in the application area etc.

- Jon
--

Jonathan Jacky j...@radonc.washington.edu
Radiation Oncology RC-08 voice: (206)-548-4117
University of Washington FAX: (206)-548-6218
Seattle, Washington 98195
USA

Michael Feldman

未读,
1995年8月7日 03:00:001995/8/7
收件人
In article <LOU.95Ju...@atanasoff.rutgers.edu>,
Lou Steinberg <l...@cs.rutgers.edu> wrote:

>A programming assignment is given to teach you about some specific
>ideas. Putting in huge amounts of code and documentation that are not

>relevant to the pedagogical purpose is a waste - of both your time and
>the time the person who has to grade it.

Yes, I think that's a reasonable position to take. But...

>I suppose you could argue that a student does so little programming in
>school that *every* programming assignment, no matter what its
>specific point, should also be used to teach skills and attitudes
>needed to produce "industrial strength" code. I'm not convinced
>that that is true, though.

I am convinced that students need to develop habits of good design and
implementation. The best documentation is that written before, or
in parallel with, the code. And, as in most other things, moderation and
proportion are virtues. "Documentation" should be proportional to
program size. Too little or too much is a misallocation of priorities.

For the record, I've found that in nearly every programming-related
course, the following grade breakout is about right. We can, I'm sure,
debate the details endlessly, as none of us has a monopoly on truth,
but try this on for size:

1. 30% design and user-level documentation
2. 20% test plan
3. 20% code quality and style
4. 30% "correct answer"

This sends a clear message that a project is more than just a program.
Obviously a CS1-level 2nd-week program, a page or so of code, will not
have a very elaborate design, and only a few tests in the test plan.
The important thing is that the student is required to think through,
and briefly document, each test case and _why_ it was chosen.

A bigger project later on will have scaled-up documentation. I do not
give extra credit for BS; the student needs to learn how to write
articulate reports that tell the story and then shut up.

Why do I give "only" 30% for ther "correct answer"? Very simple -
students should not spend all their time debugging and none on the
other stuff. Also, in my nearly 20 years of using this and similar
schemes, students who get 1, 2, and 3 "right" usually get 4 "right"
as well. Those who get 1, 2, and 3 right but don't get 4, are
generally guilty of starting the project too late.

Mike Feldman

Stuart A J Houghton

未读,
1995年8月8日 03:00:001995/8/8
收件人
In article <JON.95Au...@bilbo.radonc.washington.edu>
j...@bilbo.radonc.washington.edu "Jon Jacky" writes:

> It is possible even to see the university computer science curriculum
> this way. Its content often concentrates on compilers, operating
> systems, and maybe two or three other kinds of applications like
> computer graphics and networking. I know that computer scientists see
> these as central, but really they are just applications. The
> university CS curriculum really seems designed to prepare people to
> write systems software, which is certainly not the only kind of
> software. One could imagine a quite different computer science
> curriculum that emphasized process control and numerical calculations
> (I think David Parnas has suggested something like this) and yet
> another curriculum that emphasized human computer interaction and
> social/organizational aspects of computing. And so on. Each such
> alternative curriculum would serve some industries better than the
> present typical CS curriculum does. The problem is that each such
> alternative curriculum would occupy a whole undergraduate education,
> so no matter which you chose, most graduates will be still be
> unprepared, from the point of view of most industries.
>

The CS degree course which I took at Coventry University in the UK was
effectively split into 3 'course paths' - Systems Programming, Business
Computing and 'straight' Computer Science.

This was achieved by making all but a few core modules into electives and
was really as broad a range of subjects as could be covered without
giving each student his or her own individual faculty.

I selected the straight CS route, but this still enabled me to take
human factors courses such as Human-Computer Interaction and combine
it with something more esoteric such as Knowledge Based Systems.

It is ridiculous to expect an undergraduate CS course to produce a student
who is an expert in all possible application areas and the only thing which
can and should be expected of a good degree course in a subject as broad
as computing is that it teach the student how to adapt to unfamiliar
situations by applying as broad a knowledge base as possible.

The Coventry degree course did, however, have the advantage of a compulsory
year in industry (it was a four year course, year three being spent on
placement). This helped give us a baptism of fire in the art of thinking
for ourselves and applying what we had been taught.

The very first thing that we learnt was that everything we had been taught
Formal Methods was a vicious lie... ;-)

--
Stuart Houghton <stu...@critbank.demon.co.uk>
"If we are all God's children,
couldn't he at least pay child support?"

Stuart A J Houghton

未读,
1995年8月9日 03:00:001995/8/9
收件人

> In article <LOU.95Ju...@atanasoff.rutgers.edu>,
> Lou Steinberg <l...@cs.rutgers.edu> wrote:
>
> >A programming assignment is given to teach you about some specific
> >ideas. Putting in huge amounts of code and documentation that are not
> >relevant to the pedagogical purpose is a waste - of both your time and
> >the time the person who has to grade it.

I would agree that there is sometimes a case for relaxing standards to
allow a quick hack, especially when the assignment is just to demonstrate
a particular point, but generally I think programming standards should be
rammed down student's throats at every opportunity.

I am not talking about anal-retentive formal design methodologies or
some bizzare Inverse-Mesopotamian Notation. Just simple stuff like
commenting your code, modular code (where applicable) and an effort
to make programs readable and maintainable.

A couple of years ago I spent 6 months porting some Fortran code from
an old IBM mainframe to a SIllicon Graphics UNIX box. The bulk of
the programs were more than 500 lines and typically had at most 3 lines
of comments. It was hell on earth.

I would be lying if I said I am perfect in this respect, but anyone
who has spent any amount of time working on other people's code will
tell you that they wish programming standards were legally enforcable.

Ex.job Z/ETC Per Salmi Z/EG

未读,
1995年8月9日 03:00:001995/8/9
收件人
In article <405qfc$a...@martha.utk.edu>, m...@caffeine.engr.utk.edu (Matthew Kennel) writes:
>
>The C++ FAQ has some what I'd consider to "basic questions" and some
>"rather quite subtle and obscure things".
>
>Or do you consider mastery of _all_ the questions of the C++ FAQ to be just
>"basic knowledge"? That's rather stiff, I'd think, considering that
>quite a number of them are not covered in standard textbooks.

Isn't that the reason for the questions being in a FAQ? I think people turn to
the FAQ when they can't find the stuff in their textbooks...

/Per

Jonathan Allan

未读,
1995年8月9日 03:00:001995/8/9
收件人
In article <JON.95Au...@bilbo.radonc.washington.edu>, j...@bilbo.radonc.washington.edu (Jon Jacky) writes:
|>
|> In article <gcolgate-050...@198.134.145.102> gcol...@digipix.com (Gil Colgate) writes:
|>
|> > I work in the computer game industry, and am often surprised at inability
|> > of majors in Computer Science to work until they have been retrained.
[slice]

|> Comments like this appear on in this newsgroup all the time. I am
|> continually surprised that people in industry are surprised to find that new
|> graduates do not know much about applications and practices in their particular
|> industry. How could it be otherwise? Quicksort and that other basic
|> stuff is what they teach in undergraduate CS education.
|>
|> Perhaps software development is less generic than most people think. Every
|> industry and type of application has its own problems. There is no
|> time in the undergraduate curriculum to touch on more than just a few.
|> I know industry would like new graduates to be familiar with their
|> particular problems, but this isn't a reasonable expectation.
|> Industry has to plan on providing a lot of specific training
|> themselves, even though they may cringe at the time and expense.
|>
|> > (Or worse yet, they might
|> > come from a trade school, and know how to write code for only one
|> > particular industry and one class of applications!).
[slice]

I was reading in IEEE Computer (I think) this morning;
found an opinion piece which basically posited that the
end of Computer Science may be visible today. The
disciplines which gave it rise, engineering, physics,
math, may "take back" the tools the CS folks have created
and go on thier way.

Why shouldn't industry do the same? An overly pessimistic
viewpoint in my opinion, but an interesting one to ponder.

Mark A Harrison

未读,
1995年8月10日 03:00:001995/8/10
收件人
Matthew Kennel (m...@caffeine.engr.utk.edu) wrote:
: What are some examples of a "basic question" from the C++ FAQ (or similar

: document) whose correct answer you would consider a prerequisite to hiring
: somebody? What level of difficulty do you consider to be "at the border"?

I interviewed an individual who claimed to be an "experienced C++
programmer." He was able to tell the difference between public
and private data, but was unable to explain how to declare a
virtual function or explain what a virtual function did (although
he did make several referenced to "specializations" and "polymorphism".)

Needless to say, we didn't hire the individual.

--
Mark Harrison http://jasper.ora.com/mh/

Michael Hann

未读,
1995年8月10日 03:00:001995/8/10
收件人

Jon Jacky quoted and addressed:

>> I work in the computer game industry, and am often surprised at
>> inability of majors in Computer Science to work until they
>> have been retrained.

Frankly, when industry starts paying for the college educations of
students, perhaps then they can expect an education narrowly confined
to solving their particular problems. Of course they do have the
option of hiring people without college educations who are computer
whizzes -- but they don't want that because those people lack the
fundamental background that enables them to grow and adopt new
technology (generally speaking, individual mileages may vary).

I believe students shouldn't expect their educations to prepare them
to hit the ground running their first day inside the doors of the
professional world. I don't think industry has a right to expect
. . . I don't think they WANT their college hires to be narrowly
confined to the particular methods of doing things at hand in their
company. I think the education should provide the background to learn
quickly and to grow with new needs and problems.

Perhaps the issue is industry likes to get the inexpensive, high
energy level, unjaded college hires and wishes there were no value in
seasoning which requires significantly higher salary levels.

--
-----------------------------------------------------------------------
"There are no misfortunes from which the adroit cannot take some
profit and no boon from which the imprudent cannot take some harm."
- LaRochefoucauld

mi...@ssd.fsi.com
-----------------------------------------------------------------------

Chris Clayton

未读,
1995年8月10日 03:00:001995/8/10
收件人
In article <807956...@critbank.demon.co.uk>, Stuart A J Houghton <stu...@critbank.demon.co.uk> says:

>I would agree that there is sometimes a case for relaxing standards to
>allow a quick hack, especially when the assignment is just to demonstrate
>a particular point, but generally I think programming standards should be
>rammed down student's throats at every opportunity.

>I am not talking about anal-retentive formal design methodologies or
>some bizzare Inverse-Mesopotamian Notation. Just simple stuff like
>commenting your code, modular code (where applicable) and an effort
>to make programs readable and maintainable.

One of the best lessons that I had in college was in a data-structures
course. There were six programs done during the semester, each one
building on and extending the one before it. The professor gave his
talk on readability and maintainability standards, divided the class into
six project teams, and assigned the first program. Naturally, everyone
hacked the solution together quickly, with minimal docs, comments,
or rational variable names.

After the program was graded, the professor handed back the programs,
and required every team to pass it's source code to the next team over.
By the end of the semester, it's AMAZING how well peer pressure served
to enforce all of the readability-comment-etc. standards that the prof
tried in vain to tell us about. But until someone lives through modifying
someone else's code, standards and discipline is just the "fussy stuff"
that shouldn't concern a real red-blooded hacker.

Chris Clayton
Return mail to: USFM...@ibmmail.com
Ford has a better idea, but the opinions are all mine.

Naarok

未读,
1995年8月10日 03:00:001995/8/10
收件人
Michael Feldman (mfel...@seas.gwu.edu) wrote:
> For the record, I've found that in nearly every programming-related
> course, the following grade breakout is about right. We can, I'm sure,
> debate the details endlessly, as none of us has a monopoly on truth,
> but try this on for size:

> 1. 30% design and user-level documentation
> 2. 20% test plan
> 3. 20% code quality and style
> 4. 30% "correct answer"

20% for test plan, what a waste.:) Actually, we were never expected to
provide anything like a test plan, even in our major Software Engineering
course. I think it's a great idea. Now that I'm in testing, I really wish
we'd been taught a bit more about it. Sure we were given lots of practice
with unit testing. But the later levels were barely mentioned. As to the
rest of the grading. It looks reasonable to me.

--
And time began seriously to pass! John Zittlau
Zit...@nyquist.ee.ualberta.ca


Dr. Richard Botting

未读,
1995年8月11日 03:00:001995/8/11
收件人
Some one pointed out:
> As a student you learn: comparative study of programming languages
> In the real world they want: 5+ years with C++ only
Have you ever tried learning 5+ years of experience in
4 years?

Hey ho... its that arithmetic word problem thing again:-)

--
di...@csci.csusb.edu=rbot...@wiley.csusb.edu.
Disclaimer:`CSUSB may or may not agree with this message`.

Erik Naggum

未读,
1995年8月11日 03:00:001995/8/11
收件人
[Richard Botting]

| Some one pointed out:
| > As a student you learn: comparative study of programming languages
| > In the real world they want: 5+ years with C++ only
| Have you ever tried learning 5+ years of experience in
| 4 years?
|
| Hey ho... its that arithmetic word problem thing again:-)

it may actually be that the surreal world has problems counting. when the
WWW had just celebrated its first anniversary outside of CERN, some company
was looking for people with 3+ years of experience with WWW, and they were
not looking for Tim Berners-Lee, but some doofus to write HTML.

5+ years of experience with C++ means you have 4+ years of experience in a
language that no longer exists, but looks suspiciously like C++ of today.
knowing how extremely hard it is to remember the final text of a standard
one has been working on for several years, I would not recommend employing
anyone who claimed that much "experience" without showing me that he's up
on the latest, all-important changes to the language, knew where to find it
implemented, and also knew the stability of various features along the
time-line. however, tracking such large standards as C++ required nearly a
full-time job, so I sincerely doubt that anyone with 5+ years of full-time
programming experience in C++ is any good, anymore. it would be compiler-
and version-specific experience, _not_ experience in C++, the language.

personally, I think a CS grad should be able to pick up a language standard
and be able to assess (1) whether or not it is sufficiently well written to
learn the language from, and (2) how long time it would take to learn the
language from it. CS grads should _not_ need to read tutorials on
programming paradigms. (of course, C++ fails miserably in this regard.) I
find it reasonable to expect of a good CS grad that s/he be able to learn a
new language from the standard in three months, _maximum_, but I would also
exempt C++ from that, since it's such a horrible language and specification.

on the other hand, the sheer number of C++ programmers wanted is not a good
sign. if the industry hires that many people, and we have no noticeable
change in the backlog of software development, something is seriously amiss.

the biggest problem with the soi disant "real world" is that it thinks _it_
is the real world. it's like the alcoholic who doesn't think he has a
drinking problem. the "real world" is generally clueless.

#<Erik 3017129024>
--
#<Xyzzy 202B370B73>

John Hassler

未读,
1995年8月11日 03:00:001995/8/11
收件人
In article <MIKEH.95A...@dev1.ssd.fsi.com>, mi...@ssd.fsi.com (Michael

Hann) says:
>
>Jon Jacky quoted and addressed:
>>> I work in the computer game industry, and am often surprised at
>>> inability of majors in Computer Science to work until they
>>> have been retrained.
>
>Frankly, when industry starts paying for the college educations of
>students, perhaps then they can expect an education narrowly confined
>to solving their particular problems. Of course they do have the
>option of hiring people without college educations who are computer
>whizzes -- but they don't want that because those people lack the
>fundamental background that enables them to grow and adopt new
>technology (generally speaking, individual mileages may vary).
>
In ChE, we have a Co-op program, in which a student spends
some time actually doing engineers work in some participating
company. (Details differ at different schools; here at UMaine,
they spend two semesters in Co-op over a 15 month period.) The
students are _paid employees_ of the company during their Co-op
experience.
This is not exactly "paying for the education", but it does
result in students who are ready to "hit the ground jogging", if
not actually "running".
This spring, we graduated 29 BS ChE's. Of these, 26 chose to
Co-op. This same 26 have jobs (not all with the same company that
they co-op'ed at), and the other three do not, yet. This remaining
three are not bad students, by the way. But the industries that
hire our students value the co-op experience very highly.

>I believe students shouldn't expect their educations to prepare them
>to hit the ground running their first day inside the doors of the
>professional world. I don't think industry has a right to expect
>. . . I don't think they WANT their college hires to be narrowly
>confined to the particular methods of doing things at hand in their
>company. I think the education should provide the background to learn
>quickly and to grow with new needs and problems.
>

A few years ago, a friend of mine worked at a large computer
company. He used "summer interns", which are somewhat similar
to "co-op's". Although he found many of them to be a huge pain
in the lower anatomy, he was willing to expend the effort because
he occasionally found a real gem, and was often able to convince
said gem to work for him after graduation. Maybe the CS folks
should push harder to establish a "co-op" tradition.
=======================================================================
J. C. Hassler Chem. Eng. U of ME

Beth Kevles

未读,
1995年8月11日 03:00:001995/8/11
收件人

My experience with CS (and other) undergraduates may be a bit unusual,
but I think it lent me some insights into their education which may be
of interest to this thread.

I hired, trained and supervised undergraduates at MIT whose job was to
answer user questions about just about anything to do with our extensive
computer system. Communications and professional skills (showing up on
time, etc.) were, or course, high up on the list of valued attributes.
But additionally, learning how to find answers with often inadequate
information, to do elementary programming in order to solve a user
problem (csh, latex, C ...) and then even more digging around to find
answers and solve problems were skills highly valued.

By the time they had finished working for me (1-3 years, normally) my
students had developed in-depth skills in some domain or another, often
but not necessarily related to their major, Co-op experience (yup, MIT
does coops) or thesis. Their ability to solve a wide variety of
computer-related problems, their understanding of a wide variety of
computer-related concepts (largely through course work, but their
experience with me reenforced what their professors taught) and their
highly refined ability to communicate orally and in writing, made them
very desirable employees. Most of them had summer job offers before
they had graduated, and excellent full-time job offers after. (Graduate
school admissions, however, was dicier.)

My conclusions, based on this experience (and some experience in
industry) is that:

- practical exercises teach better than programming "problem sets" with
little real-world application. This goes for the teaching of concepts
as well as the teaching of programming per se.
- communication skills are as valuable as computer science skills
- the ability to research a problem, to dig through manuals, existing
source code, etc. are invaluable skills
- the ability to debug can't be underestimated -- and this means
"debugging" tasks to turn them from poorly-defined to well-defined ones
as well as debugging code. (Users rarely ask the question they think
they're asking.)
- it's useful to be exposed to a wide variety of applications of
computer skills.
- and finally, teamwork should be encouraged. In the real world one is
not expected to do it all oneself. So often, students are prohibited
from collaborating on problem sets. That's foolishness. Problem sets
should be for learning, not for evaluation (which is, necessarily,
individualized.)

I hope these thoughts contribute to the thread.
--Beth Kevles
kel...@mit.edu

Tim May

未读,
1995年8月12日 03:00:001995/8/12
收件人
mi...@ssd.fsi.com (Michael Hann) wrote:

>I believe students shouldn't expect their educations to prepare them
>to hit the ground running their first day inside the doors of the
>professional world. I don't think industry has a right to expect
>. . . I don't think they WANT their college hires to be narrowly
>confined to the particular methods of doing things at hand in their
>company. I think the education should provide the background to learn
>quickly and to grow with new needs and problems.

I fully agree. When I was hiring programmers and engineers for my old company
(a minor chip company called "Intel") I didn't expect them to start being
productive from Day One. In this business, being productive from Day One
Hundred is almost too good to be true...sometimes they're not productive even by
Day Five Hundred!

Intelligence, alertness, and general skills are incredibly important, not specific
exposure in a class to OpenDoc or Dracula.

And in their first several months of orientation, learning what's been done and
what needs to be done, they can fit more "specific training" in than _any_ formal
education can reasonably be expected to provide. What I _can't_ teach them are
the core concepts of their field (and hopefully they've learned from some other
fields as well!).

The math is simple: 8 hours a day times 100 days (for example) is a *lot* more
than they likely spent in any of their formal classes. Domain-specific knowledge
is thus much more easily picked up once they're in the domain.

What I value is a general enough education that they can pick up new skills, can
learn a computer language they didn't already learn, and have the core concepts
down solidly.

--Tim May

---------:---------:---------:---------:---------:---------:---------:----
Timothy C. May | Crypto Anarchy: encryption, digital money,
tc...@got.net (Got net?) | anonymous networks, digital pseudonyms, zero
408-728-0152 | knowledge, reputations, information markets,
Corralitos, CA | black markets, collapse of governments.
Higher Power: 2^756839 | Public Key: PGP and MailSafe available.
"National borders are just speed bumps on the information superhighway."

David N. Smith

未读,
1995年8月13日 03:00:001995/8/13
收件人
In article <MIKEH.95A...@dev1.ssd.fsi.com> Michael Hann,
mi...@ssd.fsi.com writes:

>I believe students shouldn't expect their educations to prepare them
>to hit the ground running their first day inside the doors of the
>professional world. I don't think industry has a right to expect
>. . . I don't think they WANT their college hires to be narrowly
>confined to the particular methods of doing things at hand in their
>company. I think the education should provide the background to learn
>quickly and to grow with new needs and problems.


My BS degree is in Mechanical Engineering (and it was a LONG time ago).
Graduates in design were expected to go to work for someone and spend
their first five (yes, a big FIVE) years sitting at a drafting table
learning how to be an engineer. There was no expectation that a graduate
could jump, or would be allowed to jump, into a design group and be
productive immediately.

It was (and I hope still is) considered HARD to be a mechanincal
engineering designer, ie, to have the responsibility for making
something new and having it work right.

New engineers had to learn all kinds of things that could not be
taught in a general program: the business (aerospace or farm
machinery or whatever), manufacturing (how do you make that widget),
assembly (how do you get all the widgets to go together),
and much more.

If a company was lucky, 10 years later a few of the graduates had become
promising designers who understood all the facets of the real world
of their business necessary to make new and successful products.

The rest of the graduates stayed on the drafting tables or left and
went to work in less demanding businesses (like sheet metal design for
air condition ducts) or ended up designing plastic tail lights.


One of the best professors I had was a real jerk who gave impossible
tests and was nasty as often as not. BUT, he taught that one had to
learn how to find out what one had to know. Memorize an equation!
OK, if you must, but you'd better know what it does, why it does it,
and how to derive it if you forget it! That is, basics and principles
are critical to success -- memorizing some stuff isn't.


In my view, a newhire should have the ability to learn on their own.
['Their' is singular, and preferable to her/his, but I digress...].
Don't know C++? (Lucky person!) OK, get a book, get a compiler, and
learn it. Can't?? Tough. Bye...

Don't know anything about the chicken business? OK, learn. GO out and
watch how we assemble chickens. SEE how the bio-designers designed the
new mussle attachment group. FIND out how our users use the chickens.
Compare the chicken business with the turkey business they know.
TALK to the chickens (OK, well, maybe not...)


Sigh... When is the last time you saw a help-wanted advt that listed
ability to learn new things rapidly as a requirement???


Dave


__________________________________
David N. Smith
dns...@watson.ibm.com
70167...@compuserve.com
IBM T J Watson Research Center
Hawthorne, NY
__________________________________
Any opinions or recommendations
herein are those of the author
and not of his employer.

Derek Douville

未读,
1995年8月14日 03:00:001995/8/14
收件人
Michael Hann (mi...@ssd.fsi.com) wrote:

: Jon Jacky quoted and addressed:


: >> I work in the computer game industry, and am often surprised at
: >> inability of majors in Computer Science to work until they
: >> have been retrained.

: Frankly, when industry starts paying for the college educations of
: students, perhaps then they can expect an education narrowly confined
: to solving their particular problems. Of course they do have the
: option of hiring people without college educations who are computer
: whizzes -- but they don't want that because those people lack the
: fundamental background that enables them to grow and adopt new
: technology (generally speaking, individual mileages may vary).


So, generally speaking, non-university-educated people lack the fun-
damentals of being able to adapt? Well, looks like I've done pretty
well for myself so far. I'm working for COGNOS!! I've wanted to work
here since I was 13 years old, when my father (with a masters)
told me about all these big computer companies in Ottawa.
I've passed this place on drives home everyday for 20 years. I think
I've adapted pretty well. I learned vi all by myself, can you believe it?
I think it depends on the individual and his/her ability to adapt to a
given situation. The ideal thinker would have an understanding of the
problem, a knowledge of the methods required to solve it, and the
_practical_ experience required to solve it.

I'm not knocking University students. The world needs these people.
Much of the most important research and development is done by universities,
and universities produce thinkers like Bjeorne Stroustrup,
Brian Kernighan, and Prometheus! (oh.. didn't have universities then).
However, we also need the people with the practical skills. There is no
doubt that a large mass of university grads are lacking some of the
practical skill-sets needed to function within the industry.

: I believe students shouldn't expect their educations to prepare them


: to hit the ground running their first day inside the doors of the
: professional world. I don't think industry has a right to expect
: . . . I don't think they WANT their college hires to be narrowly
: confined to the particular methods of doing things at hand in their
: company. I think the education should provide the background to learn
: quickly and to grow with new needs and problems.

Absolutely. This is the problem that university grads are running
into now, is that they can't get jobs when they come out of school due
to the lack of practical experience. Conversely, college students grab
jobs very "easily" (for the lack of a better word).

There is one catch here (so that the rest of the population doesn't run
off to college), is that in the long run, University students make more
money, get promoted faster, and innevitably get the management positions.
(That last one depends a lot on personality and people skills as well).

: Perhaps the issue is industry likes to get the inexpensive, high


: energy level, unjaded college hires and wishes there were no value in
: seasoning which requires significantly higher salary levels.

Ooh, you sound hurt, like you got rejected or something. I think
anyone with the right attitude and a good personality will be able to
get a job that they're after. But the trick is that you REALLY REALLY
have to want the job. Enthusiasm makes such a large difference.
(Now, please don't take this statement as, "all you need is enthusiasm,
who cares about what you know"!) A university graduate doesn't have
to demand a higher salary, but many u-grads I know feel that because
they've just spent $30,000 they deserve more. This in my opinion is the
wrong attitude. A university student has an education foundation set
for the long term. When you're fresh out into the real world, take
what you can get.

One thing I wish I had from a university is writing skills. Sometimes,
I read the university-educated people's posts and find them very concise
and well written, and at the same time still get the message across. But
what do I know.

(Just try to disect Object Oriented Programming Journal for a half
hour, and you'll want to kick some of these writers in the... the arm :-)

Derek Douville

未读,
1995年8月14日 03:00:001995/8/14
收件人
: 20% for test plan, what a waste.:) Actually, we were never expected to

: provide anything like a test plan, even in our major Software Engineering
: course. I think it's a great idea. Now that I'm in testing, I really wish
: we'd been taught a bit more about it. Sure we were given lots of practice
: with unit testing. But the later levels were barely mentioned. As to the
: rest of the grading. It looks reasonable to me.

Testing? They taught that in university? What a waste -- that's
what end-users are for!!! :-)


Langjahr

未读,
1995年8月14日 03:00:001995/8/14
收件人
Dave,
I agree. Unfortunately schooling and degrees have very little to do
with one's ability to learn, our desire to learn, and our willingness to
explore new things.

I don't want to start an rwar, or flame, but in my experiences
interviewing programmers, the most schooled were often the least skilled!

On another subject, has your second book (on IBM ST) come out yet?

Derek Douville

未读,
1995年8月14日 03:00:001995/8/14
收件人

[snip, chomp chomp chomp]
: The math is simple: 8 hours a day times 100 days (for example) is a *lot* more
: than they likely spent in any of their formal classes. Domain-specific knowledge
: is thus much more easily picked up once they're in the domain.

Drop an english-speaking person into the middle of Japan, and in three
years he'll be fluent... Makes perfect sense to me.


Derek Douville

未读,
1995年8月14日 03:00:001995/8/14
收件人
David N. Smith (dns...@watson.ibm.com) wrote:
[snip]
: Don't know anything about the chicken business? OK, learn. GO out and

: watch how we assemble chickens. SEE how the bio-designers designed the
: new mussle attachment group. FIND out how our users use the chickens.
: Compare the chicken business with the turkey business they know.
: TALK to the chickens (OK, well, maybe not...)

Chicken farming's pretty simple. As long as you don't plant them too
deep or too far apart, you'll be just fine. :-)


Derek Douville
Technology Support Services
Cognos Help Desk, Ottawa

David N. Smith

未读,
1995年8月14日 03:00:001995/8/14
收件人
In article <40m57d$d...@wormhole.cognos.com> Derek Douville,
douv...@Cognos.COM writes:

>David N. Smith (dns...@watson.ibm.com) wrote:
>[snip]
>: Don't know anything about the chicken business? OK, learn. GO out and
>: watch how we assemble chickens. SEE how the bio-designers designed the
>: new mussle attachment group. FIND out how our users use the chickens.
>: Compare the chicken business with the turkey business they know.
>: TALK to the chickens (OK, well, maybe not...)
>
> Chicken farming's pretty simple. As long as you don't plant them too
>deep or too far apart, you'll be just fine. :-)
>

You also have to know which end up to plant them! :-)

David N. Smith

未读,
1995年8月14日 03:00:001995/8/14
收件人
In article <40n0e3$p...@newsbf02.news.aol.com> Langjahr, lang...@aol.com
writes:

> I agree. Unfortunately schooling and degrees have very little to do
>with one's ability to learn, our desire to learn, and our willingness to
>explore new things.
>

In theory, a good education will teach a person how to learn, how to
explore,
and how to find out for themselves what they need to know. (At one point
that
was the purpose of a good liberal arts degree.)

In practice, our colleges teach everything BUT how to learn, how to
explore,
and how to find out for themselves what they need to know. One might argue
that some colleges (by which I include universities) do in fact teach it,
but one can also argue that they merely attract students that already know
how to explore -- that in order to qualify to enter MIT or CalTech
(or plug in your favorite) having gone through the typical American
high school they are already explorers.

> I don't want to start an rwar, or flame, but in my experiences
>interviewing programmers, the most schooled were often the least skilled!

I agree. Lets not write anything that would provoke anyone else to
be overcome with a need to comment further...


> On another subject, has your second book (on IBM ST) come out yet?

Nope, and it probably won't until next year. Writing those things takes
me an extraordinary amount of time, all of which is in the details.

If you had it now, what would you first look into it for? (Just curious
what YOU think you would use it for.)

Dave

Michael Hann

未读,
1995年8月14日 03:00:001995/8/14
收件人

John Hassler makes some good points RE cooperative education programs.

Nevertheless . . . I think there's really too much to pick up in the
world of software in an internship program (I assume that students
study full time and work part time in the cooperative program). For
example, it takes experience on a BIG team project to really
appreciate certain issues of software development; such a project
might take 18 months to complete working full time; I don't believe
this experience is available for a coop student.

I think cooperative education is good. I think it is beneficial to
both industry and student. It is very common in electrical
engineering, the discipline I come from. Still, industry is just
going to have to accept that there is a significant amount of on the
job training that has to take place and will take place.

I think it is the wrong route for a student to take to narrowly
specialize in the coursework that company xyz prescribes. Five years
from now this professional will be stepped over by another who didn't
specialize so narrowly and so was able to adopt more readily to the
changed way of developing software which company xyz is adopting. Or,
five years from now when the professional is laid off or seeks new
employment because company xyz pays slave wages, has execrable
management, has no room for advancement, etc., the professional won't
have the general background to go to company zyx where they do things
differently. If *I* am paying the money for my education I'm not
going to narrowly specialize.

Darin Johnson

未读,
1995年8月14日 03:00:001995/8/14
收件人
kev...@ATHENA.MIT.EDU (Beth Kevles) writes:
> - practical exercises teach better than programming "problem sets" with
> little real-world application. This goes for the teaching of concepts
> as well as the teaching of programming per se.

Except that this never comes out too well in interviews.

> - communication skills are as valuable as computer science skills

You don't need work experience for this. Most students who get
summer, part-time, or coop work in the computer industry use or
need very little communication skills (they are given 1 or 2 tasks
by a single supervisor and put in a dark room :-).

> - the ability to research a problem, to dig through manuals, existing
> source code, etc. are invaluable skills

Yes, but it doesn't give you many points in an interview.

> - and finally, teamwork should be encouraged. In the real world one is
> not expected to do it all oneself. So often, students are prohibited
> from collaborating on problem sets.

Again, this is another area that students working in the industry get
little exposure to. Part-timers and summer workers often just do not
fit well into existing team projects.

By the way, earlier I mentioned that coop students were looked
down upon when I was an undergraid. I DONT mean this to imply
that part-time or summer jobs in the industry were looked down on.
Such things were very popular and very useful and relatively easy
to find (much much easier than finding a full time job).

--
Darin Johnson
djoh...@ucsd.edu -- Strange things are afoot at the circle-K...

Michael Hann

未读,
1995年8月14日 03:00:001995/8/14
收件人

Derek Douville writes (in part):

> Well, looks like I've done pretty well for myself so far.

Good for you. No objections. I said GENERALLY the fundamental
background a college education provides enables professionals to grow
and adopt new technology. Maybe I should have added something to the
effect of 'more readily' or 'more rapidly.'


> I'm not knocking University students. [text removed]. There is no


> doubt that a large mass of university grads are lacking some of the
> practical skill-sets needed to function within the industry.

I'm not sure the skill-sets are lacking: I think something else is
lacking. In any job a professional -- college educated or not -- has
to figure out what the hell has to be done. It can't be adequately
explained by a boss or a mentor -- certainly not by a college course.
In my view the problem you are alluding to are college grads who are
somehow unable to come to grips with real problems with all their
ugly, untidy, non-generalized edges. You've got to have 'the Right
Stuff' to succeed in the professional world; college education simply
gives you an edge, in some circumstances, over those without the
college education. When you get out in the professional world you've
got to do . . . whatever it takes. Some college grads are slow to
pick up on that. Perhaps they feel they are entitled in some way and
shouldn't have to bust their ass making the transition from an
educated new hire to a skilled professional.


>> Perhaps the issue is industry likes to get the inexpensive, high
>> energy level, unjaded college hires and wishes there were no value in
>> seasoning which requires significantly higher salary levels.

> Ooh, you sound hurt, like you got rejected or something.

I haven't been rejected. I think my point is valid. Companies are
crying for BSCS people who are interchangeable with seasoned software
professionals. I think they're wanting to have their cake and eat it
too. Sorry. There is a market for practical skills. The practical
skills don't get taught (for the reasons above). There is a value to
experience, and they're going to have to pay for it. If they disagree
. . . let them get by with the entry level CS graduates (whose quality
they are already complaining about -- I think unjustly).

John Hassler

未读,
1995年8月15日 03:00:001995/8/15
收件人
In article <MIKEH.95A...@dev1.ssd.fsi.com>, mi...@ssd.fsi.com (Michael
Hann) says:
>
[deletia]

>
>I'm not sure the skill-sets are lacking: I think something else is
>lacking. In any job a professional -- college educated or not -- has
>to figure out what the hell has to be done. It can't be adequately
>explained by a boss or a mentor -- certainly not by a college course.

Excellent! I try to get this across in my courses, but it is hard.
Students expect to be able to work a problem by substituting numbers
into an equation which is found no more than 10 pages before the
problem. It is considered grossly unfair to expect them to look at
previous _chapters_! (I exaggerate, but only a little.)

>In my view the problem you are alluding to are college grads who are
>somehow unable to come to grips with real problems with all their
>ugly, untidy, non-generalized edges. You've got to have 'the Right
>Stuff' to succeed in the professional world; college education simply
>gives you an edge, in some circumstances, over those without the
>college education. When you get out in the professional world you've
>got to do . . . whatever it takes. Some college grads are slow to
>pick up on that. Perhaps they feel they are entitled in some way and
>shouldn't have to bust their ass making the transition from an
>educated new hire to a skilled professional.
>

W. Shockley (Nobel Prize for the transistor) described the usual
academic problem as a "solution kit". All of the pieces are there,
you just have to assemble them. This is quite correct, and there is
a good reason for it. Most people learn in small steps, and problems
are designed to lead the student through these steps (well, _good_
problems, at least). You don't turn a student driver loose on the
freeway at rush hour until you've covered starting, stopping,steering,
and a lot more.

Unfortunately, a lot of students are left with the impression that this
is what engineering _is_, and they are distressed and resentful when
confronted by less-well-defined problems. And some never get over the
fact that the problem with _real_ problems is figuring out what the
problem is. They universally detest "word problems" ('just gimme the
equation and I'll solve it'). And given that we have the students in
class for a finite (actually very short) time, we simply can not go
very far beyond teaching the "basic techniques", whatever they may be.
(The chemical engineering "capstone course" is Design, which is an
open ended vaguely specified problem to be solved by a team. One
course for one semester is not nearly enough time, but we don't have
any more.)
========================================================================
J. C. Hassler "Life is a word problem."
ChE U of ME

Danny R. Faught

未读,
1995年8月15日 03:00:001995/8/15
收件人
In article <40iqp0$6...@Sequoia.picosof.com>, Tim May <tc...@got.net> wrote:
>I fully agree. When I was hiring programmers and engineers for my old company
>(a minor chip company called "Intel") I didn't expect them to start being
>productive from Day One. In this business, being productive from Day One
>Hundred is almost too good to be true...sometimes they're not productive even by
>Day Five Hundred!

But given the shrinking average length of time spent on any particular
job, he may not be working for you any more by day 500. Seems to me
that the average is somewhere in the 2-5 year range before a
programmer tends to move on to another company. (anyone have any real
facts to supplant these guesses?) Maybe that's why companies want
people who get hit the ground running - so they won't spend a major
fraction of their whole tenure with the company in training.
--
Danny Faught -- Convex -- Operating System Demolitions Specialist
Magister artis ingeniique largitor venter.

John Watkins

未读,
1995年8月15日 03:00:001995/8/15
收件人

On 14 Aug 1995, Langjahr wrote:

> Dave,


> I agree. Unfortunately schooling and degrees have very little to do
> with one's ability to learn, our desire to learn, and our willingness to
> explore new things.
>

> I don't want to start an rwar, or flame, but in my experiences
> interviewing programmers, the most schooled were often the least skilled!
>

[chop chop]

SO you are saying that you would prefer little programmers who only
studied computer science or computer science engineer, with little narrow
minds that know of nothing but CS.
I suggest you find a few geologist and talk to them about having a narrow
education. My father has a MS in geology, guess what he does now?
Teaches hight school. Guess what happens to your programmer with his
little education? He becomes outdated and has to go back to school.

The whole point of college is not to just learn one skill that is what
vo-techs are for (duh-fry), its to help expand that mind and encourage
people to learn. The last thing we need is to discourage people from
getting board educations.

Langjahr

未读,
1995年8月16日 03:00:001995/8/16
收件人
Quite simply I am saying that a college degree insures NONE of the
things that you imply. I've met programmers from all walks of life with
all sorts of backgrounds.

I've met programmers with no training formal training in CS, per se,
who were quite well versed in many areas of computer science, were highly
motivated, and often early adopters of many design and coding techniques.
Some were also well versed in history, political science, Voltaire and so
on. And I've also worked with PHD's whose abilities were so narrow, that
they were almost worthless when it came to doing WHATEVER was needed to
get the job done. And sometimes not so useful even in their areas of
expertise when it came to solving real world problems.

Obviously these are generalizations. EACH person must be judged on his
own merit. But my experience in life (and in almost 20 years in the
software business) is that reflected by my comments.

As for narrow educations. Quite frankly, if someones education left
him in what you consider a deplorable state, he has only himself to blame.
The libraries are full of books, and there is a whole world of wonderful
things out there to learn.
I have no sympathy for your geologists.

Prior to 1984 I was or had been a mainframe systems programmer and an
assembly language programmer. Before that I had done PL/1, IMS, Cobol and
lots of other applications stuff. But I saw the writing on the wall. I
started learning about object-oriented technology in 1985. Got a Mac and
started doing Macintosh software development. Later on I moved over to
Windows. At all times even when working at a management level, I never
let my skills lapse. For me software development has been endlessly
fascinating. Even after almost 20 years I still love going to McGraw-Hill
and buying gobs and gobs of books. My desire to learn about everything
and be involved in emerging technologies has not abated.
But this is not intended to be self-congradulatory or a pat on the back
for me. The fact is I think there are many people out there JUST LIKE me.

Given two people who need to acquire some skill the way in which they
go about it, often tells a tale. As an example. Take two employees who
need to acquire C++ skills. One's immediate impulse is to take a course.
The other buys seven C++ books, reads them all, and learns a little bit
from each of them all the while building a new C++ application in his or
her spare time. While I could make a strong argument for either approach,
in general more often than not I'll take the person who bought the books
over the person who took the course. And there are in my mind lots of
reasons why that's so.

It's easy to rest on ones laurels or moan about the educational choices
one makes. But the fact is that education is lifelong and it doesn't
really require a school, a license, or a piece of paper from some
societally approved source. And invariably when those things are
important in an organization, they often result in organizations that
attract the least competentent people and achive a high level of
mediocrity.

Your mileage may differ <g>.

Jonathan Allan

未读,
1995年8月16日 03:00:001995/8/16
收件人
In article <MIKEH.95A...@dev1.ssd.fsi.com>, mi...@ssd.fsi.com (Michael Hann) writes:
|>
|> Derek Douville writes (in part):
[slice]
|> >> Perhaps the issue is industry likes to get the inexpensive, high
|> >> energy level, unjaded college hires and wishes there were no value in
|> >> seasoning which requires significantly higher salary levels.
|>
|> > Ooh, you sound hurt, like you got rejected or something.
|>
|> I haven't been rejected. I think my point is valid. Companies are
|> crying for BSCS people who are interchangeable with seasoned software
|> professionals. I think they're wanting to have their cake and eat it
|> too. Sorry. There is a market for practical skills. The practical
|> skills don't get taught (for the reasons above). There is a value to
|> experience, and they're going to have to pay for it. If they disagree
|> . . . let them get by with the entry level CS graduates (whose quality
|> they are already complaining about -- I think unjustly).

Oh oh oh! The TANSTAAFL argument!! Well said.

The problem remains however: how do we (or anyone really)
get thier company into using co-ops (if they don't) or
into using co-ops effectively (if they aren't now)?

And while we're at it, let's consider taking this thread
back to only comp.edu...

Todd Arthur Gibson

未读,
1995年8月16日 03:00:001995/8/16
收件人
John Hassler (HAS...@MAINE.MAINE.EDU) wrote:
[stuff deleted]
: W. Shockley (Nobel Prize for the transistor) described the usual

: academic problem as a "solution kit". All of the pieces are there,
: you just have to assemble them. This is quite correct, and there is
: a good reason for it. Most people learn in small steps, and problems
: are designed to lead the student through these steps (well, _good_
: problems, at least).
I disagree. In fact, we now know from advances in learning theory that people
don't learn best that way. People learn best when the learning is in the
context of what they will be doing with it. Please see all of the research
on transfer that specifically indicates that the closer the learning
environment reflects the work environment, the more likely that transfer
will occur.

People on this thread have been noting that when students get out of
school they lack skills such as creative and flexible problem solving
and the ability to retool. College students should be getting their
computer/engineering education in an environment similar to the
environment that computer and engineering professionals work in.


: You don't turn a student driver loose on the


: freeway at rush hour until you've covered starting, stopping,steering,
: and a lot more.

This is an invalid comparison. Learning psycho-motor skills is totally
different from learning cognitive skills. Even so, the statement is
wrong. Driving students aren't learning one aspect of driving in
isolation from other aspects. Student drivers learn by getting in a
car and driving. Of course the environment is safe (an instructor in
the passenger seat with an additional brake pedal, etc.).


: Unfortunately, a lot of students are left with the impression that this


: is what engineering _is_, and they are distressed and resentful when
: confronted by less-well-defined problems. And some never get over the
: fact that the problem with _real_ problems is figuring out what the
: problem is.

Design more (most/all?) of your instruction to be authentic and they
will learn these skills (and probably respond much more favorably).
The key is in the design. It is extremely challenging to design a
problem that is both authentic and yet will teach students content
and concepts that are normally covered in decontextualized instruction.

: They universally detest "word problems" ('just gimme the


: equation and I'll solve it').

This is a motivation issue. Word problems offer no added value so of
course they will choose the path of least resistance. Give them
authentic problems and they will attack it with a passion. Please see
all of the research on motivation to support this (specifically John Keller).

: And given that we have the students in


: class for a finite (actually very short) time, we simply can not go
: very far beyond teaching the "basic techniques", whatever they may be.

This is a cop out. Take the time you spend lecturing and replace it
with authentic real-world problems that require them to use resources
(books, experts, etc) to solve and learn.

: (The chemical engineering "capstone course" is Design, which is an


: open ended vaguely specified problem to be solved by a team. One
: course for one semester is not nearly enough time, but we don't have
: any more.)

If educators were be willing to invest the time necessary to develop
complex authentic problems that result in students being exposed to
the same material normally covered in lecture, then the entire
curriculum would be closer to this capstone activity described above.
If the curriculum more closely modelled the real-world, students would
leave college very prepared for that first job. Engineering schools are
doing a lot of work with instructional strategies that lead to authentic
learning activities such as Problem-Based Learning.
-TAG

: ========================================================================

Steve Lewis

未读,
1995年8月16日 03:00:001995/8/16
收件人
David N. Smith <dns...@watson.ibm.com> wrote:


>>professional world. I don't think industry has a right to expect

but they do...

>>. . . I don't think they WANT their college hires to be narrowly
>>confined to the particular methods of doing things at hand in their
>>company.

...In their company... exactly what they want. Better yet, when the
project is finished, throw the bum out on the street. He looses his
benefits, his seniority, and a few months of unemployment will let you
rehire him at half the previous wage if you havn't already hit minimum
wage.

This is what makes companies profitable. Unfortunately I would
suggest that free-markets are not very kind. This is another topic
however.

>My BS degree is in Mechanical Engineering (and it was a LONG time ago).
>Graduates in design were expected to go to work for someone and spend
>their first five (yes, a big FIVE) years sitting at a drafting table
>learning how to be an engineer. There was no expectation that a graduate
>could jump, or would be allowed to jump, into a design group and be
>productive immediately.

>It was (and I hope still is) considered HARD to be a mechanincal
>engineering designer, ie, to have the responsibility for making
>something new and having it work right.

Today, Arkie-techs (very similar to mech engineering) have to spend
several years at a table doing menial labor before they can be
certified. You have to be certified to get a real job. Of course
nobody wants to hire a wet-back child out of college to do that grunt
work because they don't have experience. That and too many of them
are in the same elevator, hence it doesn't go up very fast.

>One of the best professors I had was a real jerk who gave impossible
>tests and was nasty as often as not. BUT, he taught that one had to

Many many professors like this these days in CS (rather CIS) and
physics, at least around here.

>learn how to find out what one had to know. Memorize an equation!
>OK, if you must, but you'd better know what it does, why it does it,
>and how to derive it if you forget it! That is, basics and principles
>are critical to success -- memorizing some stuff isn't.

Thinking skills... the same things that much of our society discounts
as overrated? Hmmm. Now if a student (say, me for instance) can take
a class like this and do well, does that get him/her points in an
interview?

>In my view, a newhire should have the ability to learn on their own.
>['Their' is singular, and preferable to her/his, but I digress...].
>Don't know C++? (Lucky person!) OK, get a book, get a compiler, and
>learn it. Can't?? Tough. Bye...

Are you hiring? I am teaching myself OOD (through Objective C and
C++) this summer with a project to create multi-user interactive
programs for use on UNIX based time-sharing systems. I think that
takes some of what you are looking for? [Incidentaly I do have a
question regarding Polymorphism, any takers?]

As a student I can say that this thread is very interesting, thanks
David and everyone for your thoughts on the matter.

--Steve
========================================================================
Steve Lewis, nep...@ursula.uoregon.edu, University of Oregon
http://gladstone.uoregon.edu/~nepolon -- "Lets talk astrology. Word
has it that Jessie Helms sign is cancer." - Krist Novosalic


F. Chung

未读,
1995年8月16日 03:00:001995/8/16
收件人
>Again, this is another area that students working in the industry get
>little exposure to. Part-timers and summer workers often just do not
>fit well into existing team projects.
>
>By the way, earlier I mentioned that coop students were looked
>down upon when I was an undergraid. I DONT mean this to imply
>that part-time or summer jobs in the industry were looked down on.
>Such things were very popular and very useful and relatively easy
>to find (much much easier than finding a full time job).
>

Hello all. I have been following this thread for some time now and
was wondering what advice can you give to someone who is still in college
(in the case of my collegues and myself, we are grad students in physics)
trying to switch to the computer industry.

The job market is tough as is and I feel that it is even worse for
someone out of college trying to switch fields (regardless of having
a BS, MS or PhD) as getting an interview in the first place has been
a pretty depressing experience let alone getting the job.

So my question is then based on what has been said about people fresh
out of college with an "advanced" degree, what would be the minimum
pay you would take in order to take a job? I know that the cost of
living varies from town to town so for comparison can you give a salary
range and a city? I find that sometimes in the job postings in the
net, the prospective employer asks for salary requirements and not
having been in the "real world" and given my situation, I am not
certain what to put for this.

TIA

Felix


Todd Arthur Gibson

未读,
1995年8月17日 03:00:001995/8/17
收件人
Robin Rowe (c...@netcom.com) wrote:
: In article <40tapo$b...@carbon.cudenver.edu>,
: Todd Arthur Gibson <tgi...@evans.cudenver.edu> wrote:
: >Design more (most/all?) of your instruction to be authentic and they

: >will learn these skills (and probably respond much more favorably).

: Some may respond favorably, but others will not. They will demand to know
: what happened to the student exercises where it was all laid out in
: artificially simple steps. Some will be shocked that they will be using
: not memorization, but thinking, a part of the brain they have rarely been
: encouraged to use before.
: Robin
Yes, but just because they have only been exposed to very passive
lecture based instruction where most of what they have to do is
rote memorization doesn't mean that it is the best way they learn
(or even the way they prefer to learn).
It just means it is the only way they have been expected to behave
in a classroom. It's our responsibility as educators to help those
people to learn how to think. For those who have not used that part
of the brain, we as instructors have to be prepared and be willing to
coach and scaffold these people as they learn how to reason.
-TAG

: --
: -----
: Robin Rowe c...@netcom.com 408-626-6646 Carmel, CA
: Rowe Technology C++ Design/Training Email for sample C++ Newsletter!

Robin Rowe

未读,
1995年8月17日 03:00:001995/8/17
收件人
In article <40tapo$b...@carbon.cudenver.edu>,
Todd Arthur Gibson <tgi...@evans.cudenver.edu> wrote:
>Design more (most/all?) of your instruction to be authentic and they
>will learn these skills (and probably respond much more favorably).

Some may respond favorably, but others will not. They will demand to know
what happened to the student exercises where it was all laid out in
artificially simple steps. Some will be shocked that they will be using
not memorization, but thinking, a part of the brain they have rarely been
encouraged to use before.

Robin

--

Carlos A. Casanova

未读,
1995年8月17日 03:00:001995/8/17
收件人
Todd,

I absolutely agree with everthing you mentioned. I am an EE grad.
Well, I was about 5 years ago. I had some great profs. Two of them in
particular were just exceptional. They did exactly what you mentioned
in your post. The good profs were very active outside of the
university in their field and the average profs weren't active or were
retired. Of course there were always the profs that were so
intelligent that they were virtually useless to the students.

The keys were the following to the great profs I had are:

1) Real life examples. The problems we solved and the way the
material was presented was right from their experiences in the field.

2)Problems on exams did not fit into cute, neat little formulas. I
fortunately figured out their approach and methodology early and it
resulted in good grades. When they gave an exam, they would make sure
that it did NOT fit into the basic formulas that most students were
cramming and memorizing. What you had to do, was recognize the state
of the problem, and derive the necessary formulas to solve the
problem. You can easily see that this seperated the kids that just
wanted to get the grade from the ones that were sincerely interested
in learning the material and why things happened. What they really
did was make sure that you FULLY understood WHY you did what you did
for every problem in your homework.

Most importantly, the thing I learned was how to go about solving a
problem. It doesn't matter the field, topic, material. I was taught
( brainwashed ) the thought process that is vital to solving ANY
problem. It doesn't mean in any way that I'm always correct but at
least I learned how to recognize, approach and interpret a problem.

I till this day, even though I'm out of the EE field, use the skills I

learned over 5 years ago.


CIAO !

Carlos Casanova
<nova...@ix.netcom.com> Intrepid Consulting, Inc.

P.S. Thank You Dr. P. Rizzi and Dr. A. H. Costa at U Mass Dartmouth


Bonnie MacKellar

未读,
1995年8月17日 03:00:001995/8/17
收件人
One of the problems that we find is that as problems get
more authentic, the best students respond well, and are happy,
but the weaker students are very upset by the approach. Some
people might say that ths is good and will just separate the
weaker students from the good ones, but the problem is :
our enrollment goes down and the the administration notices.
I have seen this at two schools now. What can we do about this?

Bonnie MacKellar
Western CT STate Univ.


David N. Smith

未读,
1995年8月17日 03:00:001995/8/17
收件人
In article <40tapo$b...@carbon.cudenver.edu> Todd Arthur Gibson,
tgi...@evans.cudenver.edu writes:

>People learn best when the learning is in the
>context of what they will be doing with it. Please see all of the research
>on transfer that specifically indicates that the closer the learning
>environment reflects the work environment, the more likely that transfer
>will occur.

I'm reminded by this thread of Complex Variables as they were taught in
the engineering school I went to many moons ago.

Mathematics majors got Complex Variables as a senior level course. They
hated it. It was tough, tough, tough.

EE majors got no course on Complex Variables, although CVs are a major
and indespensable tool to electrical engineers even at the sophomore
level.
Instead, courses on A/C circuits taught CV a bit here and a bit there,
as needed to make a really tough new concept accessable (and easy!).
EEs soaked up a course of CV along with the course work on A/C circuits
and KNEW the material cold. They THOUGHT in Complex Variables. (They had
to or they changed departments and became geologists or mining
engineers.)

It was not at all uncommon to see a sophomore or junior level EE tutoring
a senior math major in CV or in Vector calculus, or ...

Doing, and doing in the context where it subject is needed, is a MOST
powerful way to learn.

(And no, I was neither a math major or a EE major).

Dave

__________________________________
David N. Smith
dns...@watson.ibm.com
70167...@compuserve.com
IBM T J Watson Research Center
Hawthorne, NY
__________________________________
Any opinions or recommendations

herein are those of the author
and not of his employer.

jhg...@epx.cis.umn.edu

未读,
1995年8月17日 03:00:001995/8/17
收件人
In article <40npmg$i...@watnews1.watson.ibm.com>,

David N. Smith <dns...@watson.ibm.com> wrote:
>In article <40m57d$d...@wormhole.cognos.com> Derek Douville,
>douv...@Cognos.COM writes:
>
>>David N. Smith (dns...@watson.ibm.com) wrote:
>>[snip]
>>: Don't know anything about the chicken business? OK, learn. GO out and
>>: watch how we assemble chickens. SEE how the bio-designers designed the
>>: new mussle attachment group. FIND out how our users use the chickens.
>>: Compare the chicken business with the turkey business they know.
>>: TALK to the chickens (OK, well, maybe not...)
>>
>> Chicken farming's pretty simple. As long as you don't plant them too
>>deep or too far apart, you'll be just fine. :-)
>>
>
>You also have to know which end up to plant them! :-)

*bzzzt* You are both wrong.
The proper question a chiecken farmer must answer is:
Which comes first,
the chicken or the egg plant?

John Greve
jhg...@epx.cis.umn.edu

Derek Douville

未读,
1995年8月18日 03:00:001995/8/18
收件人
Michael Hann (mi...@ssd.fsi.com) wrote:

: Derek Douville writes (in part):

: > Well, looks like I've done pretty well for myself so far.

: Good for you. No objections. I said GENERALLY the fundamental
: background a college education provides enables professionals to grow
: and adopt new technology. Maybe I should have added something to the
: effect of 'more readily' or 'more rapidly.'

I agree. Though I am (to date) self educated and quite adaptable with
my skill-set, I have a feeling that college or university courses would
add to my ability to apply several different methods, methods that have
been proven enough to be taught in professional institutions. One com-
mon statement about university education is that "university teaches the
individual to think." But does the university also teach the student to
adapt?

: > I'm not knocking University students. [text removed]. There is no


: > doubt that a large mass of university grads are lacking some of the
: > practical skill-sets needed to function within the industry.

: I'm not sure the skill-sets are lacking: I think something else is


: lacking. In any job a professional -- college educated or not -- has
: to figure out what the hell has to be done. It can't be adequately
: explained by a boss or a mentor -- certainly not by a college course.

: In my view the problem you are alluding to are college grads who are


: somehow unable to come to grips with real problems with all their
: ugly, untidy, non-generalized edges. You've got to have 'the Right
: Stuff' to succeed in the professional world; college education simply
: gives you an edge, in some circumstances, over those without the
: college education. When you get out in the professional world you've
: got to do . . . whatever it takes. Some college grads are slow to
: pick up on that. Perhaps they feel they are entitled in some way and
: shouldn't have to bust their ass making the transition from an
: educated new hire to a skilled professional.

Ah, precisely! I completely am with you on these points. It may not
be simply the university training, the indivual may also need a bit
of talent to help out too. I believe another very important factor in
the willingness to adapt and learn and go with the flow, so to speak,
is interest in the job. If one is interested in one's job, and one
has the desire to move ahead, and adapt, one is more likely to do
so.

Your last point: "Perhaps they feel they are entitled in some way...".
This hits home with me, as I've met several people of this type. I
have been looked down upon by University grads, because "I am lacking
a good education." But I always amount this to jealousy. I've got
the skills enough to get a job at a leading "computer" company with
no knowledge beyond what I have learned myself; conversly, that
person has just spent $30,000 on an education. They feel deserving.
But to be honest, I feel like I've had to work pretty damn hard for
myself to get the little that I've got so far. And to be honest, I'm
also jealous of people that can handle the structured work-load of
university and graduate. I have respect for these people. Sometimes
I wish it worked both ways.

Thus, I may end up sounding bitter, but I'm not really. I just think
a bunch of it has to do with attitude and work ethic.

Perhaps on a different thread a possible discussion topic would be,
"Do university grads who worked and paid for their own tuition have
a stronger, more devoted work background to those who had received
their tution payed for by their parents?" I would be willing to bet
on the average, those who worked for everything themselves are more
perserverant (once I get through college, I should be able to spell
that word correctly :-) ).

: >> Perhaps the issue is industry likes to get the inexpensive, high


: >> energy level, unjaded college hires and wishes there were no value in
: >> seasoning which requires significantly higher salary levels.

: > Ooh, you sound hurt, like you got rejected or something.

(Sorry, I didn't mean for that to come off so targetted. No offense
intended).

: I haven't been rejected. I think my point is valid. Companies are


: crying for BSCS people who are interchangeable with seasoned software
: professionals. I think they're wanting to have their cake and eat it
: too. Sorry. There is a market for practical skills. The practical
: skills don't get taught (for the reasons above). There is a value to
: experience, and they're going to have to pay for it. If they disagree
: . . . let them get by with the entry level CS graduates (whose quality
: they are already complaining about -- I think unjustly).

Well, again I agree. You can't have a "higher-level" university
educated individual and also expect that person to have the same
"instant" job-skills that a college grad does. But I think universities
have been sensing this for a while, and some are moving towards
incorporating a more practical side to coincide with the theoretical
part. There has to be a middle of the road. People don't spend their
money to learn about stuff for the hell of it, they do it in the
hopes of succeeding one day in the future.


Derek Douville

未读,
1995年8月18日 03:00:001995/8/18
收件人
Todd Arthur Gibson (tgi...@evans.cudenver.edu) wrote:

: John Hassler (HAS...@MAINE.MAINE.EDU) wrote:
: [stuff deleted]
: : W. Shockley (Nobel Prize for the transistor) described the usual
: : academic problem as a "solution kit". All of the pieces are there,
: : you just have to assemble them. This is quite correct, and there is
: : a good reason for it. Most people learn in small steps, and problems
: : are designed to lead the student through these steps (well, _good_
: : problems, at least).
: I disagree. In fact, we now know from advances in learning theory that people
: don't learn best that way. People learn best when the learning is in the

: context of what they will be doing with it. Please see all of the research
: on transfer that specifically indicates that the closer the learning
: environment reflects the work environment, the more likely that transfer
: will occur.

I can agree with your point. When I got to Cognos's Tech services,
the scenario was something like, "Okay, you know some Windows, tons
of applications, a few languages, some Unix. Great. Could you
please also learn VAX/VMX & DEC/Alpha, NT server account administration,
Unix (various shells), DG, some AS/400 and HP MPE/ix, plus memorize
all the script commands for starting the backups on all the platforms,
where the location of the machines are... and you'll have to know
all the backup stuff in two weeks, because third Sunday from now,
you're on your own." Yup, tell it like it is. Picture a 30 degree
angle on a learning scale and then a brick wall. We tend to learn
more when it's out of necessity.

: : And given that we have the students in


: : class for a finite (actually very short) time, we simply can not go
: : very far beyond teaching the "basic techniques", whatever they may be.
: This is a cop out. Take the time you spend lecturing and replace it
: with authentic real-world problems that require them to use resources
: (books, experts, etc) to solve and learn.

[snip]
: If educators were be willing to invest the time necessary to develop

: complex authentic problems that result in students being exposed to
: the same material normally covered in lecture, then the entire
: curriculum would be closer to this capstone activity described above.
: If the curriculum more closely modelled the real-world, students would
: leave college very prepared for that first job. Engineering schools are
: doing a lot of work with instructional strategies that lead to authentic
: learning activities such as Problem-Based Learning.

Teachers are limited my time and governing bodies' burocratic bull-
shit. As well, most teachers I know work 14 to 18 hour days, planning
their courses, offering extra help, and in the case of H.S. students,
monitoring the extra-curricular activities. Teachers (most) have no
time left. Oh -- there's the University professors who give their
lectures and then won't be bothered with their students. I've heared
of lots of these people, too. That's not teaching, that's collecting
a near free ride. (This statement can be applied to anyone in any field
that does the bare-minimum).


Todd Arthur Gibson

未读,
1995年8月18日 03:00:001995/8/18
收件人
Bonnie MacKellar (bonnie) wrote:
: One of the problems that we find is that as problems get

One mistake often made by instructors when using authentic problems
is that all they do is present the problem and then let the students
have at it. It's extremely important that the instructor remain
active during the entire problem solving process. As the "weaker"
students are identified, instructors need to more closely coach and
scaffold them during authentic problem solving activities--slowly
fading back as they begin to master problem solving and
self reflection and monitoring skills (i.e. metacognitive skills).

Instructors can get a lot of guidance on how to do this by examining
the research that has been done on problem-based learning,
cognitive apprenticeship (coaching, scaffolding, fading), and the
development of metacognitive skills.

On a side note, we *never* want to leave the "weaker" students behind.
These students aren't less intelligent or capable, they simply haven't
developed the metacognitive skills that the successful students have
already developed. It's easy to teach good students--they will learn
regardless. We get an opportunity to really be instructors with those
that need our support.
-TAG


Todd Arthur Gibson

未读,
1995年8月18日 03:00:001995/8/18
收件人
Derek Douville (douv...@Cognos.COM) wrote:
: Todd Arthur Gibson (tgi...@evans.cudenver.edu) wrote:
[majjjjjjjjjd'a]
: : If educators were be willing to invest the time necessary to develop
: : complex authentic problems that result in students being exposed to
: : the same material normally covered in lecture, then the entire
: : curriculum would be closer to this capstone activity described above.
: : If the curriculum more closely modelled the real-world, students would
: : leave college very prepared for that first job. Engineering schools are
: : doing a lot of work with instructional strategies that lead to authentic
: : learning activities such as Problem-Based Learning.

: Teachers are limited my time and governing bodies' burocratic bull-
: shit. As well, most teachers I know work 14 to 18 hour days, planning
: their courses, offering extra help, and in the case of H.S. students,
: monitoring the extra-curricular activities. Teachers (most) have no
: time left. Oh -- there's the University professors who give their
: lectures and then won't be bothered with their students. I've heared
: of lots of these people, too. That's not teaching, that's collecting
: a near free ride. (This statement can be applied to anyone in any field
: that does the bare-minimum).

If you were referring to K-12 teachers as being too constrained
by time and the bureaucracies that they are forced to work with
then I agree with you. However K-12 teachers are mainly
responsible for teaching basic skills. I'm talking about college
instructors who are responsible for preparing students for the real
world. College instructors do have the time, and need to make the
effort to prepare their students to move easily out of the classroom
and into the work environment.

BTW, I do feel that K-12 teachers are doing incredible things right now.
-TAG

KSG

未读,
1995年8月20日 03:00:001995/8/20
收件人
tgi...@evans.cudenver.edu (Todd Arthur Gibson) wrote:

>If you were referring to K-12 teachers as being too constrained
>by time and the bureaucracies that they are forced to work with
>then I agree with you. However K-12 teachers are mainly
>responsible for teaching basic skills. I'm talking about college
>instructors who are responsible for preparing students for the real
>world. College instructors do have the time, and need to make the
>effort to prepare their students to move easily out of the classroom
>and into the work environment.

I disagree. K-12 teachers are responsible for preparing students
for the real world. Basic skills better be applicable to the real
world. Many students don't go to college. At my high school
16% of the senior class was planning to go to college as of the
last week of high school. That means 84% are going into the
"real world". These students had better have learned real-world
skills during those 13 years, cause they aren't going to college to
learn them.

I've always felt that college should be more removed from the real
world. Any student that is motivated enough to go to college should
be motivated enough to study what lies beyond college. They should
prepare themselves (especially since what lies beyond for me, may
well greatly differ what lies beyond for you) for their lives. Why
can't we ever force students to be responsible for their own lives.

>BTW, I do feel that K-12 teachers are doing incredible things right now.

I agree, especially since most of my friends (who didn't get college
degrees) are making some darn good money.

KSG


正在加载更多帖子。
0 个新帖子