homeGeek CultureWebstoreeCards!Forums!Joy of Tech!AY2K!webcam

The Geek Culture Forums


Post New Topic  New Poll  Post A Reply
my profile | directory login | | search | faq | forum home
  next oldest topic   next newest topic
» The Geek Culture Forums   » News, Reviews, Views!   » Our stupid lives   » CS Ph.D. ! => knows how to write software

 - UBBFriend: Email this page to someone!    
Author Topic: CS Ph.D. ! => knows how to write software
quantumfluff
BlabberMouth, a Blabber Odyssey
Member # 450

Member Rated:
5
Icon 1 posted June 03, 2006 19:53      Profile for quantumfluff     Send New Private Message       Edit/Delete Post   Reply With Quote 
I had a very strange epiphany last week. I spent two days doing a consulting job for a group of CS professors (the college and the subject will remain unnamed to protect the guilty). They understand a narrow subject really well, and are doing a start up to commercialize their research. It's pretty cool algorithmics, and I don't pretend that I could accomplish the same.

The interesting bit was that they had absolutely no idea how to actually write software that would be a product. They could code their stuff, but didn't understand how to write it well. What was really funny was that they didn't understand the practical value of things like abstraction, good revision control, useful comments and a few other things. It was as if all the things you supposedly get taught were tossed out the window. (Or maybe, colleges don't actually teach this stuff. I don't know, I got my degree in the dark ages of 1982, before we knew what we all know today [Smile] )

Anyway, my job was to look at what they were doing and help them figure out how to morph it into something that could become a product. We spent time on setting up a shared code repository (rather than copying whole source trees back and forth). We looked at refactoring bits so it could be relinked into different executables. We talked about thinking hard about things now, because once it ships you're going to live with any mistakes for years before you can fix it.

I came out of the experience with a new respect for what I do as a practicioner. And my clients came away with a respect for it too, as they signed up for another $30K of work in actually working on their code, rather than just talking about what they should be doing.

Posts: 2902 | From: 5 to 15 meters above sea level | Registered: Jun 2000  |  IP: Logged
dragonman97

SuperFan!
Member # 780

Member Rated:
4
Icon 1 posted June 03, 2006 21:25      Profile for dragonman97   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
Well, that comes as no surprise to me...unfortunately. :-/

I took a Theory of Computation class...I don't think the prof. had written working code in years...and probably never wrote any useful code in his life. He used this pseudo language of his in class to discuss /something/, and asked us to write programs in it for assignments. All the documentation (read: two sheets) and questions were photocopied, and quite possibly originated from a typewritten form, with handwritten symbols in some cases.

I got thoroughly fed up with the nonsense of it all, and for grins, wrote an interpreter for the language in Perl. [Smile] Granted, the language was quite useless, but it was very handy to be able to work on an assignment, and actually see how the answer worked out. I brought my iBook to study sessions, so it was also helpful to some of my classmates... though it never did get me the girl. [Wink]

One very good thing did come of it, though - it led me to know the language backwards and forwards, which was extremely useful when it came to the nightmare called the final. [Big Grin] (Everything else was frightful, but the few questions on that were a cakewalk.)

After all, this is the class where I learned this little bit of joy:
∀L: regular ∃n∈ℕ:∀z∈L |z|≥n: ∃uvw∈∑*: [z=uvw ∧ |uv|≤=n ∧ |v|≥1 ∧ ∀i∈ℕ:uvⁱw∈L]

*cries*
(At least a re-reading of that tells me that I do know what it means!)

--------------------
There are three things you can be sure of in life: Death, taxes, and reading about fake illnesses online...

Posts: 9332 | From: Westchester County, New York | Registered: May 2001  |  IP: Logged
GrumpySteen

Solid Nitrozanium SuperFan
Member # 170

Icon 1 posted June 03, 2006 21:55      Profile for GrumpySteen     Send New Private Message       Edit/Delete Post   Reply With Quote 
Oh. My. God.

It's 1337 speak as a programming language.

--------------------
Worst. Celibate. Ever.

Posts: 6364 | From: Tennessee | Registered: Jan 2000  |  IP: Logged
uilleann
Discontinued


Icon 1 posted June 04, 2006 00:08            Edit/Delete Post   Reply With Quote 
Isn't that just formal logic notation? I wonder how it calls the Windows API? ;)
IP: Logged
Stibbons
SuperBlabberMouth!
Member # 2515

Member Rated:
5
Icon 1 posted June 04, 2006 01:26      Profile for Stibbons   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
On my 1 year adventure into the world of Computer Science, I did have to do part of a course on writing software commercially. And I know that one of the second year groups did some contracting as their project. But as for how useful it would be if I was to write software in reality I'll (hopefully) never know [Wink]
Posts: 1143 | From: UK | Registered: Dec 2003  |  IP: Logged
drunkennewfiemidget
BlabberMouth, a Blabber Odyssey
Member # 2814

Member Rated:
4
Icon 1 posted June 04, 2006 07:36      Profile for drunkennewfiemidget     Send New Private Message       Edit/Delete Post   Reply With Quote 
If you hang out on the #jot irc channel, you've undoubtedly heard me complain at least once about the absolute craptasticness of the code I'm forced to deal with every day. This code is the absolute worst code I have ever inherited in my entire life -- and I've inherited some pretty bad code.

This code was written by a graduate of one of the most highly regarded computer science schools in the world: University of Waterloo.

Posts: 4897 | From: Cambridge, ON, Canada | Registered: Jun 2004  |  IP: Logged
Metasquares
Highlie
Member # 4441

Member Rated:
5
Icon 1 posted June 04, 2006 07:46      Profile for Metasquares   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
quote:
Originally posted by dragonman97:
After all, this is the class where I learned this little bit of joy:
∀L: regular ∃n∈ℕ:∀z∈L |z|≥n: ∃uvw∈∑*: [z=uvw ∧ |uv|≤=n ∧ |v|≥1 ∧ ∀i∈ℕ:uvⁱw∈L]

Oddly enough, I understand everything but the "regular", the one word of English in the whole statement [Smile]

Then again, I never did have to take formal language and automata... which is good, because I don't have any interest in it whatsoever.

Anyway, saying that understanding the theory that goes behind all this makes you code well is like saying that knowing music theory will instantly make you a good pianist. The two skills are very different. Some people will have a solid grasp of theory and programming (I hope to be one of those people when I finish my Ph. D.) - others won't.

Posts: 664 | From: Morganville, NJ | Registered: Oct 2005  |  IP: Logged
GameMaster
BlabberMouth, a Blabber Odyssey
Member # 1173

Member Rated:
4
Icon 1 posted June 04, 2006 07:58      Profile for GameMaster   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
The regular refers to the type of Language L... I'm currently taking Theory of Computation, and am sitting with a whole bunch of formal definitions that are too long for what their informal meanings are... And it's just going to get longer/worse.
Posts: 3038 | From: State of insanity | Registered: Mar 2002  |  IP: Logged
maybe.logic
Alpha Geek
Member # 5014

Member Rated:
3
Icon 1 posted June 04, 2006 13:04      Profile for maybe.logic     Send New Private Message       Edit/Delete Post   Reply With Quote 
quote:
Originally posted by dragonman97:
After all, this is the class where I learned this little bit of joy:
∀L: regular ∃n∈ℕ:∀z∈L |z|≥n: ∃uvw∈∑*: [z=uvw ∧ |uv|≤=n ∧ |v|≥1 ∧ ∀i∈ℕ:uvⁱw∈L]

Ok, I am a bit of a nOOb at programming and would really apprieciate it if someone could enlighten me as too what exactly this all means?


quote:
Originally posted by Steen:
Oh. My. God.

It's 1337 speak as a programming language.

Nope that really dos'nt help me either!, Is there a slightly easier way to explain that?
Posts: 345 | Registered: Mar 2006  |  IP: Logged
GameMaster
BlabberMouth, a Blabber Odyssey
Member # 1173

Member Rated:
4
Icon 1 posted June 04, 2006 14:17      Profile for GameMaster   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
Ok, I am a bit of a nOOb at programming and would really apprieciate it if someone could enlighten me as too what exactly this all means?

That's not a programming language it's math matical notation used to talk about languages and machines that could/couldn't undertand them.

For all Lanuges L which are regular, there exsists one number n (Integer (positive, negitive or zero whole number)), for all strings in the language L as z where the absolute value of z is greaterthan or equal to n, there a uvw in the set of all string that can be made from the language (Σ) ... such that or then it holds ...
uvw equals z, and absolute value of uv lessthan or equal to n, and v greater than or equal to 1, and
for all i in the set of integers, the UV to the ith power time w exsists in L.

DFAs are sooo much fun... [Roll Eyes]

What book did you have for theory of computation DMan?

--------------------
My Site

Posts: 3038 | From: State of insanity | Registered: Mar 2002  |  IP: Logged
Xanthine

Solid Nitrozanium SuperFan!
Member # 736

Member Rated:
5
Icon 1 posted June 04, 2006 14:31      Profile for Xanthine     Send New Private Message       Edit/Delete Post   Reply With Quote 
Ah the lovely irony of a doctoral degree...

A PhD means you know your theory cold. You can talk about it, think about it, argue about it until you are blue in the face. You can even write a book on it - that is, after all, what a disseration is.

It does not, however, mean you are particularily good at it. Any given field is absolutely littered with PhDs who come up with outstanding ideas, brilliant insights, and elegant experiments that they can't actually implement because at the bench they are all thumbs. There are also some PhDs who are brilliant technicians but have no imagination. And then there's the rest who have a decent balance between the two extremes. Now, I don't have my degree yet, but unless something drastically changes I'll probably end up more towards the all thumbs side of the spectrum. I can get shit to work, but it ain't a pretty process. But I can get it to work, and I can explain why it worked, and that's why they keep me around.

--------------------
And it's one, two, three / On the wrong side of the lee / What were you meant for? / What were you meant for?
- The Decemberists

Posts: 7670 | From: the lab | Registered: Mar 2001  |  IP: Logged
GrumpySteen

Solid Nitrozanium SuperFan
Member # 170

Icon 1 posted June 04, 2006 17:22      Profile for GrumpySteen     Send New Private Message       Edit/Delete Post   Reply With Quote 
Xanthine wrote:
I can get shit to work, but it ain't a pretty process.

Perhaps if you created your golems out of clay...

--------------------
Worst. Celibate. Ever.

Posts: 6364 | From: Tennessee | Registered: Jan 2000  |  IP: Logged
uilleann
Discontinued


Icon 1 posted June 04, 2006 17:25            Edit/Delete Post   Reply With Quote 
[Threadjack]

OOOO!!!! If the thread title is using logic notation, where => is implies, that means that the negation should use a not sign:

THAT may be the first time I have ever had a use for the key that some weirdo put on British IBM PC keyboards.

(To the left of 1, we have a triple key with ` (unmodified), (shift) and (alt-gr) -- All the North Americans have no idea we only have one alt key, and even Jef Raskin's Archy failed in Europe from relying on the right alt that none of us have. DOH.)

I also don't get why the | key gives me and the key gives me |. In cmd, both keys give me no matter what I press, but they're not the same and only one of them actually works.

Go figure.

IP: Logged
GameMaster
BlabberMouth, a Blabber Odyssey
Member # 1173

Member Rated:
4
Icon 1 posted June 04, 2006 19:18      Profile for GameMaster   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
At our Uni it depends on the prof. We have a few that are all theory, we have a few that are good at both ...

Then we have John Tang Boyland... Who came from Berkly and it shows. He's wicked smart, and knows almost everything about C/C++ -- though he'll say he's not very good at it. The man breaths LISP (his doctoral disertation was a dynamic LISP compiler -- well, he finished the compiler then changed his mind, don't know what the final paper ended up being) and JAVA (his current research gas to do with gaurnteeing instance uniqueness and refactoring in Java, and funded by a grants from Nation Science Foundation and NASA), and will admit to having "some skill" in them.

He also does every homework he assigns, (one a week) and then multiplies his time spent by 4 or 5, and that is what he expects students to have to spend. They often get it done in quite a bit over the times he posts. Often, expecting 8 to 20 outside class for a 4 credit/hour class.

--------------------
My Site

Posts: 3038 | From: State of insanity | Registered: Mar 2002  |  IP: Logged
Metasquares
Highlie
Member # 4441

Member Rated:
5
Icon 1 posted June 04, 2006 20:09      Profile for Metasquares   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
quote:
Originally posted by GameMaster:
For all Lanuges L which are regular, there exsists one number n (Integer (positive, negitive or zero whole number)), for all strings in the language L as z where the absolute value of z is greaterthan or equal to n, there a uvw in the set of all string that can be made from the language (Σ) ... such that or then it holds ...
uvw equals z, and absolute value of uv lessthan or equal to n, and v greater than or equal to 1, and
for all i in the set of integers, the UV to the ith power time w exsists in L.

Small nitpick: As you have it written, there exists a number n such that..., not there exists only one. All that you assert is that something exists, not how many exist. If you wanted exactly one, you'd put a "!" after the existential quantifier... unless the rules are different for languages than the rest of logic.

I should have remembered the types of languages: regular, context-free, context-sensitive, etc. I worked with them a little when I was doing AI research.

Posts: 664 | From: Morganville, NJ | Registered: Oct 2005  |  IP: Logged
quantumfluff
BlabberMouth, a Blabber Odyssey
Member # 450

Member Rated:
5
Icon 1 posted June 04, 2006 22:17      Profile for quantumfluff     Send New Private Message       Edit/Delete Post   Reply With Quote 
I have never had a need in 25 years of professional experience for any of the computation theory stuff I learned in college. I do, however, use the stuff I learned about compilers, OSes, databases, and a few other bits constantly.
Posts: 2902 | From: 5 to 15 meters above sea level | Registered: Jun 2000  |  IP: Logged
Xanthine

Solid Nitrozanium SuperFan!
Member # 736

Member Rated:
5
Icon 1 posted June 04, 2006 22:24      Profile for Xanthine     Send New Private Message       Edit/Delete Post   Reply With Quote 
quote:
Originally posted by Steen:
Xanthine wrote:
I can get shit to work, but it ain't a pretty process.

Perhaps if you created your golems out of clay...

ROTFLMAO!

Remind me to never, ever, be holding a hot beverage when reading one of your posts...

--------------------
And it's one, two, three / On the wrong side of the lee / What were you meant for? / What were you meant for?
- The Decemberists

Posts: 7670 | From: the lab | Registered: Mar 2001  |  IP: Logged
Colonel Panic
BlabberMouth, the Next Generation
Member # 1200

Icon 1 posted June 05, 2006 18:34      Profile for Colonel Panic         Edit/Delete Post   Reply With Quote 
It's an easy game to look down one's nose at professors at a University and declare that because you are more popular or make more money, that the old Prof is worthy of derision. I don't know if that is smart or right, but I know it's easy.

Back when I was in school, and it was normal to carry one's sister on one's shoulders 50 miles each way through 12 feet of snow, things were a bit different.

I recall working on an ongoing extra-curricular project at school, and the Dean of the Communications school reallly encouraged the work. It was reallly great to get that encouragement from a mentor. And he was highly regarded for giving his students solid support for their ambitions.

One of the half dozen students who was part of the project would become fairly well-known and wealthy in the communications industry, and credited his success, in part, from the encouragement he received from this old prof. So when the student received an honorary Ph.D. from the school, he showed his gratitude by writing and producing an episode of his popular television show around the experience -- and had the old prof as a guest on his show.

Maybe some Ph.Ds are just cooler than others?

Colonel Panic

--------------------
Free! Free at last!

Posts: 1809 | From: Glacier Melt, USA | Registered: Mar 2002  |  IP: Logged
Metasquares
Highlie
Member # 4441

Member Rated:
5
Icon 1 posted June 05, 2006 20:01      Profile for Metasquares   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
quote:
Originally posted by Colonel Panic:
It's an easy game to look down one's nose at professors at a University and declare that because you are more popular or make more money, that the old Prof is worthy of derision. I don't know if that is smart or right, but I know it's easy.

Back when I was in school, and it was normal to carry one's sister on one's shoulders 50 miles each way through 12 feet of snow, things were a bit different.

I recall working on an ongoing extra-curricular project at school, and the Dean of the Communications school reallly encouraged the work. It was reallly great to get that encouragement from a mentor. And he was highly regarded for giving his students solid support for their ambitions.

One of the half dozen students who was part of the project would become fairly well-known and wealthy in the communications industry, and credited his success, in part, from the encouragement he received from this old prof. So when the student received an honorary Ph.D. from the school, he showed his gratitude by writing and producing an episode of his popular television show around the experience -- and had the old prof as a guest on his show.

Maybe some Ph.Ds are just cooler than others?

Colonel Panic

I don't think anyone is looking down at professors; we're just stating that a solid knowledge of theory is not a guarantee of programming skill.

I have nothing but the utmost respect for all but a handful of professors, and only because that handful derives joy from making students miserable. Most professors could be making oodles of money with their skills (even the pure theorists, who could do research in industry), but they're pursuing a different path for something that will likely benefit society far more than them directly.

Of course some Ph. Ds are cooler than others, just like some medical doctors are cooler than others or some secretaries are cooler than others. I think we can generally say that some people are cooler than others [Smile]

Posts: 664 | From: Morganville, NJ | Registered: Oct 2005  |  IP: Logged
GameMaster
BlabberMouth, a Blabber Odyssey
Member # 1173

Member Rated:
4
Icon 1 posted June 06, 2006 17:07      Profile for GameMaster   Author's Homepage     Send New Private Message       Edit/Delete Post   Reply With Quote 
Meta, our right -- and it was a blunder of wording not understanding.

I was wrong, however, in the notation of the superscript. I think Dman meant string of length not taken to the power.

--------------------
My Site

Posts: 3038 | From: State of insanity | Registered: Mar 2002  |  IP: Logged


All times are Eastern Time  
Post New Topic  New Poll  Post A Reply Close Topic    Move Topic    Delete Topic next oldest topic   next newest topic
 - Printer-friendly view of this topic
Hop To:

Contact Us | Geek Culture Home Page

2015 Geek Culture

Powered by Infopop Corporation
UBB.classicTM 6.4.0



homeGeek CultureWebstoreeCards!Forums!Joy of Tech!AY2K!webcam