The value of a CS education

formatting link

Makes sense to me. The best programmers I've known were a failed chemist, a physics major, and a lady who assembled printed circuit boards.

John

Reply to
John Larkin
Loading thread data ...

I've worked with some pretty good CS types. The field as a whole is fashion-driven, which is the down side, but the upside is that if they can get past the Sheer Cosmicness of It All, they're usually better than the rest of us slobs at s/w architecture and making extensible and maintainable designs for complex systems.

So for PC apps and firmware, you usually don't need a CS type.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs
Principal Consultant
ElectroOptical Innovations LLC
Optics, Electro-optics, Photonics, Analog Electronics

160 North State Road #203
Briarcliff Manor NY 10510
845-480-2058

hobbs at electrooptical dot net
http://electrooptical.net
Reply to
Phil Hobbs

formatting link

9

Murray makes the case that very few people should get official college degree and that a certification process should be used for most everything that requires a college degree. The college degree has become a really expensive way to filter out people that can stay on task.

(I am basing my statements on my recollection of an interview that I heard with him quite a while back)

Reply to
brent

It's about passion.

I used to teach at Portland State; class sizes of 55 to 65. Many of them just wanted to find a 'stable job' 'without a lot of stress' and figured that programming fit.

I'd do what I do if I didn't get paid at all. I love embedded work. It's my passion. And I'm good at it.

Jon

Reply to
Jon Kirwan

The best programmer I have known is a guy that got a phd in CS and then spent about a dozen years working for the University of Washington. Among other things he wrote a PCB Milling Gerber to G- code converter.

formatting link

Dan

Reply to
dcaster

WHAT?!?!?!?!?!

Stable? Low stress? Did you save some of whatever they were smoking? Is there any left? Will you share?

When a kid asks me what they should study, I tell them "What you like. You may get a job that pays crap, but you'll be enjoying the time spent".

--
www.wescottdesign.com
Reply to
Tim Wescott

Almost all the CS degree people I have worked with are now in management, are entrepreneurs, or are retired. This abotu 26 years into a career.

I don't think a degree is a requirement for being a good programmer, either. But then again, I've gone behind form EE types that were utterly hopeless ( they were forced into software to make a living ).

There are topics of significant value in the CS curriculum, but they tend to be reemphasized.

-- Les Cargill

Reply to
Les Cargill

Or not. Some of the higher-order CS types can be a significant liability in the wrong context. it is possible to overreach extensibility and maintainability. Once you get past 1000 classes for a single deployable system, with the ratio of executing code to boilerplate being 100:1...

Salient quote: "If we'd done this in 'C', we'd be done by now." And this ... metric led directly to failure...

For firmware? I'd disagree. You might need a CS type with the right real-world experience. A CE type might be better.

If you mean Verilog, then yes - no gain there.

ObDisclosure: I was s'posed to be a EE, but I went CS because I was more interested in that kind of math. Considered an MSEE, but there were reams of unemployed EEs lurking around, and didn't.

I say this manly because us CSers might have an advantage in building test rigs to find emergent bugs in complex systems. But I've run into EEs who could write good test code, too.

-- Les Cargill

Reply to
Les Cargill

I had a psychology prof at Tulane, a really cool guy. He was in the Army in WWII and was assigned to evaluate the training program for aerial gunners, the guys who sat in the turrets of bombers and tried to shoot down enemy fighters.

One day, just before the final exam shoot-out, he swapped out the Aerial Gunners class and substituted the Cooks and Bakers class. Their shooting was slightly better than the typical graduates of aerial gunnery school.

I think there are entire fields of study wherein education does not improve skill.

John

Reply to
John Larkin

I didn't say it was, that was what a few of my students told me they expected in choosing the field. Tim, these were 2nd year CS students at PSU. One of them told me she was considering either CS or accounting and decided that CS was less stress, etc. (These were conversations taking place in my office, during office hours. I think they were feeling overwhelmed in my class.)

Don't ask me to support that view. ;)

Yes, that's about what I say.

Jon

Reply to
Jon Kirwan

I'm told that "CS" has changed meanings over the years. And, that what passes as a CS degree nowadays is something considerably watered down ("specialized"?) from decades past.

IME, "Programmer" == technician. Same sort of role as someone you hire to assemble/troubleshoot boards. The creative aspects of the task are handled by someone considerably more skilled.

But, I agree that a degree means very little. The best technician I've worked with barely had a high school diploma. Best analog designer *might* have had a BSEE -- though from the 60's!

Most of the non-EE's that I know writing code are doing so for similar reasons (almost every physics PhD I know is in this boat!). Almost all of them have a "coding technique" of just sitting down and starting to *write* -- no formal planning or anticipation of problems (until they stumble on them).

[though this is often the case of many software folks, too!]

I wouldn't trust an EE with *designing* any software. OTOH, I wouldn't trust a CS with writing a device driver! The skillsets are considerably different. I'd consider *neither* competent to design a *product* (even just the conceptual aspects)!

A (good) "software" curriculum (avoiding the use of "CS") exposes people to issues that are extremely difficult to stumble onto in a casual (i.e., taking whichever jobs come your way) career.

E.g., the tradeoffs behind: for(r=0; r

Reply to
Don Y

They seemed stable enough. :) Just ill-informed. I think they thought about it like a typing job, except that you get paid more. Maybe. I never really did follow their logic and it wasn't the time to grill them about it. (One was nearly in tears.) I wasn't teaching any first year courses, so I don't know how they got into second year without having a better idea that it gets harder as they go. I also taught third year, but fewer students remain confused that long.

Which reminds me. Male teachers at University get offered sex for good grades, by female students. Even folks like me, at well more than twice their age. It takes more craft (for me, anyway; can't speak for other old dogs out there) to handle that properly, than the crying. First time took me by surprise, but after a slight pause I had the presence of mind to handle it without complications. Got downright good at it, later. ;)

Jon

Reply to
Jon Kirwan

It's different. I've run into grads that didn't have complexity theory, didn't know who Djikstra was.

No. That hasn't been the case around me in decades. Ever, really. We'd have "architects" but they did PowerPoint. The programmers did the real architecture work.

That's the military/IBM mindset. I *know* that's changed - you can hardly get funded now unless you know how to program. That means like a C level officer.

The best designers I knew were ex-techs. Some did not have degrees. That was some time ago - I don't think some of the big FPGA driven things people do now are in "tech" range.

Well, prototyping can be valuable.

Really? I was doing that... three years out of a CS program. Warn't rocket surgery.

The skillsets

Absolutely.

You can spend 5 minutes looking at the assembly and decide.

"New" usually means "new domains". It does not mean advances. I dunno - I go download whatever the Language du Jour is. It's usually pretty rotten compared to old established stuff.

But software lives forever.

I kinda doubt that... I've seen what you're saying, though.

Absolutely. But those aren't exactly... analytic. They're more like doing RF design.

Unfortunately. But now there are kids that have been programming since they were 9. Some of 'em are extremely good.

-- Les Cargill

Reply to
Les Cargill

"IT" is a pretty big field. Large chunks of it really don't benefit from a formal CS education. Even for the chunks that do, practice is more important than knowledge.

OTOH, there are plenty of areas where its very easy to get bitten by "you don't know what you don't know". E.g. if I need a parser for a structured file format ("structured" meaning anything beyond "each line is a record which can be parsed with *scanf"), the task won't get assigned to someone who doesn't understand formal grammars or automata; I've seen too many Heath Robinson parsers built out of ifs and strcmp()s and even fseek()s to make that mistake.

But a large proportion of software development requires almost no use of algorithms. It's just pulling data out of one API and feeding it into another. For that, the main criterion is knowing the language/framework/API du jour.

Reply to
Nobody

My evil twin wants me to ask if "without complications" means that you rented an apartment in Goose Hollow for your assignations. But it would be bad of me to even hint at such thoughts.

I suppose you could just look them in the eye, and in a slightly regretful tone, and with a mild shake of the head, say "I'm sorry, I'm gay". But then what would you do when the good looking _boys_ start showing up looking for better grades?

Teaching assistants do not get that. Or at least I didn't. I didn't get any criers, either. Just one woman who was foaming at the mouth over getting a "D" when she obviously didn't have a clue -- I sent her on to the prof, who fortunately backed me up.

I did once get a really, really comprehensive lab report from a couple of frat boys who were only semi-serious about EE. They'd screwed up the lab royally, and knew it, so they made up for it by documenting _everything_. When I was done grading their report I weighed it and put (so many ounces) * (so many points/ounce) = score. It was the second lab in the class or some such. They came back to me afterwards, eyes big, asking if I _really_ graded by weight. As I was explaining that it was humor, I had visions of the headlines: "Unexpected Paper Shortage hits Massachusetts University!"

--
www.wescottdesign.com
Reply to
Tim Wescott

I don't know. I did Theory of Computation 1 as an extra undergraduate course after I'd got my first degree in chemistry, while I was working on my Ph.D. and it helped a lot.

of course the single most helpful part of the experience was that the demonstrator had written an M.Sc, thesis which surveyed the non-linear multiparameter curve-fitting programs that had been published in the early 1960's. He lent it to me for a dayr or two, I read it, and it prompted me to program a version of the Fletcher-Powell procedure to analyse my reaction rate data, which worked relly well.

-- Bill Sloman, Nijegen

Reply to
Bill Sloman

A degree is not a sign of a good or bad programmer. Some even can't program at all while they should be able according to their degree. So you should test before hiring someone.

But the ones who do have a talent for programming will learn a great number of skills if they follow education. Those skills will help them organise and analyse (math!) their projects. I've come across many programmers and the ones with a degree clearly had the advantage (especially for bigger projects). Some without a degree may get lucky and find a tutor from which they can learn a lot but those are only a happy few.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------
Reply to
Nico Coesel

In this case, the most important thing is to recognize if it really matters. In most cases it doesn't.

In extremely rare cases (multi mega/gigabyte arrays, memory mapped files) this choice will affect the virtual memory/cache hit rate.

Fortran and C have different multidimensional array allocation, so which is good thing in one language is bad in an other language.

While these kinds of issues were relevant in the 1950-1980's, I do not think that teaching such things to current CS students is very relevant. This kind of issues could be addressed in a class about virtual memory and locality of reference.

Reply to
upsidedown

There are a few necessary things for a long relationship to last. Fidelity is NOT one of them. People who imagine that a fling is the problem have no real idea what the problems actually are.

What is required is mutual trust and mutual respect and mutual honesty. Trust nor respect are very hard to earn and so easily destroyed.

I like to imagine that I'm not so stupid as to toss away decades of hard work with someone I respect as much as I do so easily as that.

On the other hand, we've a lot of work on our hands and some greater visions to accomplish. My wife has as much as said that if I find someone we respect and there are sufficiently mutual goals, then she'd want another wife and probably push. What can I say to that? :-,

Better to find another way, than that.

Profs have more power and fewer ways to get caught when giving out unfair grades, perhaps. Not really sure as I never had an assistant to ask, let alone the relationship with them to ask such a question so that I could find out if the same thing happened to them, too.

More to lose, too, I suppose.

But it happened to me.

Since I didn't tell you yet, the smoothest ways to handle these things are to "act dumb." The come-on isn't usually direct, but pretty obvious. Something like, "I'd do _anything_ to get a good grade. Anything you want me to do." With the right emphatic tones in the right places, of course.

My response? "Great!! Here is some homework ...."

Then they have to make a choice about their next step. And many aren't willing to actually become explicit and put themselves on the line. They want _me_ to take that risk. And I won't. So that helps cull away much of the problem.

Just act dumb. Make them go out on the limb, if they've the guts for it. Which then puts you in a much better position for a different response, without getting caught in a potential trap of "How could you have thought such a thing?"

I do sometimes wonder just how many professors get trapped. I can't imagine that these offers occur without some success. If they always failed, the students wouldn't learn to keep using it and the practice would die out of its own accord.

The only other explanation is that I'm the most beautiful professor in the world and women uniquely and only in my case just can't help falling at my feet. But I don't buy that, much as I might like to think so. You can see my mug around the time I was teaching and judge for yourself:

formatting link

I'm _much_ uglier and 15 years older now.

Yeah, I carry little children around to get votes. ;)

hehe.

Jon

Reply to
Jon Kirwan

'nor' should be 'and.'

Damned logic. ;)

Jon

Reply to
Jon Kirwan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.