• hahas (unregistered) in reply to travisowens

    It's like the people who try to be witty about it always end up looking stupid.

  • Lon Varscsak (unregistered) in reply to TankerJoe
    TankerJoe:

    Wow, It is indeed a good thing that we have Lon Varscsak around here to point these things out to us poor ignorant plebes.  He must be brillant!

    LOL!

  • anoni (unregistered)

    Obviously the former wife of Mr. Bean.

  • (cs) in reply to Lon Varscsak

    In an interview, ask them to write a standard for loop on some array.

    If someone applying for a programming job cannot write a for loop, they have no business in a programming job.

  • (cs) in reply to dhromed

    A really good idea.  Although as a candidate I hate them, but interviews really should involve technical testing.

    I work for a big US multinational (as a Java contractor, albeit one who can actually code!) and about a year ago we hired a new guy to join our very small and specialised team.  We use a custom framework and platform so were just looking for good Unix, Java, Perl and XML skills.  My manager hired someone who refused to tell us where he'd worked before (very odd) and despite having Unix on his CV, I found myself having to teach him to use basic commands like ls.  Talking about pipes got me a very blank look.  He was fired within a week, but I just can't believe we hired him in the first place!

  • (cs) in reply to dave

    dave:
    Anonymous:
    all the questions we asked about DNS, Perl, Unix, etc... (it was a Unix job) were answered with either "I have a friend that does that" or "I have a book on it". 
    This is one of the common misconceptions of interviewing - the aim is not to find out what the person *knows* but how well a person can find out information and use it. For example, I was once asked about a switch for the 'ls' command in an interview. My answer was "Who cares? I can do a 'man ls' and find out" - that's the distinction - not that I know every tiny bit of easily found information about something, that I know where to look and how to use those resources... I'm always called an evil interviewer as I follow the above principle ;-)

    Quite the contrary. I've experienced interviews where everything was about knowledge of tiny details like that. As soon as I didn't have the exact answer, the interview was over.
    That seems to be ever more the norm in Europe and the US now that it's once again an employers' market and companies can again make impossible demands on candidates.
    After all, they can always pull out a can of Indians or Romanians instead.

    Remember the days in the mid/late '90s when they were asking for 10 years' experience worth in Java and Windows 2000? They're back.

  • (cs) in reply to Gravity

    Gravity:
    A really good idea.  Although as a candidate I hate them, but interviews really should involve technical testing.

    I work for a big US multinational (as a Java contractor, albeit one who can actually code!) and about a year ago we hired a new guy to join our very small and specialised team.  We use a custom framework and platform so were just looking for good Unix, Java, Perl and XML skills.  My manager hired someone who refused to tell us where he'd worked before (very odd) and despite having Unix on his CV, I found myself having to teach him to use basic commands like ls.  Talking about pipes got me a very blank look.  He was fired within a week, but I just can't believe we hired him in the first place!

    Your problem for not having alarm bells go off when he refused to tell you where he'd worked before...
    Would you instead go asking people for minute details of your custom framework (yes, I've seen it happen)? That would ensure noone passes your interview except MAYBE people currently working on the team.

    You'd never hire me as I always do terrible on such "aptitude tests", despite doing quite well in my work.
    I've seen total failures do very good on them though.

    And you'd likely hire one of the guys I used to work with. He did very well on interviews, was extremely slick.
    He knew all the buzzwords, and even knew enough about them to make people believe he knew more than just the words.
    But his entire CV was a fabrication (as we found out after 5 years, he fooled everyone for that long). His diplomas didn't exist (he'd claimed they had been lost in a housefire), his employment history was greatly exagerated (but impossible to track down as none of the companies existed anymore, something he has in common with me).
    Only when a customer found him lacking even basic skills he claimed to have and threatened to sue us for faking his CV was he investigated and were attempts made to find his education history which turned up none of the schools or universities he claimed to have attended had ever heard from him.

    He'd have passed your interviews, probably done well enough for a while too, until he wouldn't have someone to fall back on.

  • Anonymous (unregistered)

    I wonder how the weekly status meetings went. First few months; sounds like 8 meetings, at least. I've never had specs that I didn't have a question about. I've never been in a project where I didn't have to elaborate (during any meeting) to some detail how I solved a problem/issue/whatever. If the specs are that clear, it should be fairly easy to pin-point progress, so, what happend?

  • (cs) in reply to jwenting
    jwenting:

    Your problem for not having alarm bells go off when he refused to tell you where he'd worked before...

    Would you instead go asking people for minute details of your custom framework (yes, I've seen it happen)? That would ensure noone passes your interview except MAYBE people currently working on the team.

    You'd never hire me as I always do terrible on such "aptitude tests", despite doing quite well in my work.
    I've seen total failures do very good on them though.

    And you'd likely hire one of the guys I used to work with. He did very well on interviews, was extremely slick.
    He knew all the buzzwords, and even knew enough about them to make people believe he knew more than just the words.
    But his entire CV was a fabrication (as we found out after 5 years, he fooled everyone for that long). His diplomas didn't exist (he'd claimed they had been lost in a housefire), his employment history was greatly exagerated (but impossible to track down as none of the companies existed anymore, something he has in common with me).
    Only when a customer found him lacking even basic skills he claimed to have and threatened to sue us for faking his CV was he investigated and were attempts made to find his education history which turned up none of the schools or universities he claimed to have attended had ever heard from him.

    He'd have passed your interviews, probably done well enough for a while too, until he wouldn't have someone to fall back on.



    Unfortunately I wasn't allowed to help out in the interview process, being a contractor.  The refusing to tell us where he'd worked before happened on his first day in the office. We certainly wouldn't have asked any questions about our framework and platform for the very reason that no-one would have a clue. 

    And note I didn't say aptitude tests.  I said technical tests.  Like being asked to write some code, do some basic stuff in Unix, make the candidate prove that they really do know XPath.  Simple, easy things that anyone who hasn't lied on their CV can do.  I can't abide general aptitude tests because they don't give you any meaningful information about a person.
  • (cs) in reply to Zlodo

    "Charm?"  Is that what you call it?

  • (cs) in reply to Whatever.

    Regarding your second paragraph--I knew people like that too, and I eventually reached the point where I stopped providing freebies like that.  It's only enabling, and it's not fair to them.  If they're not cut out for it, better they learn while they can still hopefully change their major, rather than get fired a few times.   

  • (cs) in reply to FrostCat

    FrostCat:
    Regarding your second paragraph--I knew people like that too, and I eventually reached the point where I stopped providing freebies like that.  It's only enabling, and it's not fair to them.  If they're not cut out for it, better they learn while they can still hopefully change their major, rather than get fired a few times.   

    Grr.  I got yer WTF right here, and it's the fact that the forum software omitted what I wanted to quote, which was this, from Whatever.:

     

    In our assembly class, I did two versions of my code.  One I would turn in, and one I would be nice and share on the mainframe.  This way if someone did copy it, I didn't get busted.  I usually left the last couple steps as an exercise for the user as well.    That's how these people get out there.

  • chttr (unregistered) in reply to rsynnott

    It's no problem to get far in anything if you always cheat.

  • (cs) in reply to Another Anonymous
    Anonymous:
    I did a similar thing in some of my CS classes.  I did the assignment and printed a single copy and gave it to a group of struggling people.  I would then go and redo the assignment differently for myself.


    I never bothered.

    The reason I did this was that I would be pestered in all hours of the night for help on homework.  I got so many questions like, "What is a variable and why should I use one?" "How do I do this assignment?" "How do I make something happen sometimes?"  "Where's the command that generates this program?"


    It is in the textbook.

    It was never ending.  I got so fed up with it.  The only way I could get sleep was if I just gave them the answer.  I figure it's their problem, when they don't know how to do anything on the test.  It's the professors fault they passed.  If you fail all the tests and ace all the homeworks, obviously something is wrong.  Also, the professors seemed to have a problem giving anything worse than a B if you showed up.


    I did not have that problem.  I was prepared to help people and I did so, but I resisted any efforts by them to make their homework my problem.  You have to watch it.  There is a certain point where you are simply enabling them.  I also ran into this in the writing centre where I tutored.  No, I will not give you the answer.  You work for it.

    Sincerely,

    Gene Wirchenko

  • EvanED (unregistered) in reply to Gene Wirchenko
    Gene Wirchenko:
    I was prepared to help people and I did so, but I resisted any efforts by them to make their homework my problem.  You have to watch it.  There is a certain point where you are simply enabling them.  I also ran into this in the writing centre where I tutored.  No, I will not give you the answer.  You work for it.


    I'm TI (teaching intern; similar in responsibilities as a TA except I don't have to grade and I'm an undergrad) for the second semester programming class at my college, and do things similarly. I almost always will sit down with someone and make them reason through how to solve it, asking questions intended to lead to the answer, but not detailed enough that they make it too easy. Sometimes if there's multiple ways to do things I'll explain both ways and the pros and cons of each way and let them pick which way they want to go.
  • neek (unregistered)

    <font size="2">Send Paula picture! =)</font>

  • (cs) in reply to EvanED
    Anonymous:
    Gene Wirchenko:
    I was prepared to help people and I did so, but I resisted any efforts by them to make their homework my problem.  You have to watch it.  There is a certain point where you are simply enabling them.  I also ran into this in the writing centre where I tutored.  No, I will not give you the answer.  You work for it.


    I'm TI (teaching intern; similar in responsibilities as a TA except I don't have to grade and I'm an undergrad) for the second semester programming class at my college, and do things similarly. I almost always will sit down with someone and make them reason through how to solve it, asking questions intended to lead to the answer, but not detailed enough that they make it too easy. Sometimes if there's multiple ways to do things I'll explain both ways and the pros and cons of each way and let them pick which way they want to go.


    My favourite question when tutoring is "Why do you say that?"

    Sometimes, there is a bit of training time.  "No, I did not say you are wrong, but why do you say that?"  I want your reason.  There is quite a difference between "That is what it says in the book." and "That is what it says in the book, and from what happened in my earlier projects, that makes sense."  There is also, "I am guessing.  I think it has to be around x because of y, but I do not know how to narrow it down further."

    Sincerely,

    Gene Wirchenko

  • BenJammin (unregistered) in reply to jwenting
    jwenting:

    Remember the days in the mid/late '90s when they were asking for 10 years' experience worth in Java and Windows 2000? They're back.



    I don't think they ever left. I think it's only getting worse. In 2003, I saw a job on Monster.Com for a windows
    admin needing 5 years of experience with Windows2000.

    Not that I wanted the job (windows, eww :D ), but I kindly wrote them an email stating that they would never find such a candidate as Windows 2000 came out in very late 1999. Sooooooo... they might want to consider revising their job ad.

    I ACTUALLY GOT A RESPONSE. The woman commented I was the only person to point it out... and that "touche' " and that she would have it changed immediately.

    Interestingly, she also did not ask for my resume, if I was available or if I would like to interview for the position.

    Because I can ALSO tell you that company owners SAY they want to hire people smarter than them (I've seen it quoted in magazines) but that's never the case. It's because they hire managers, and managers NEVER want to hire people smarter than them. Makes 'em look bad.

    :)

     -Ben

  • cg (unregistered) in reply to FrostCat

    Giving people my code always made me nervous. Where I went to school, the C.S. department was paranoid about cheating, to the point that showing ANY code was cheating (if they decided that you had cheated, you failed the class, do it again and you're no longer in school).

    I solved the problem of people wanting to look at my code by not being there when they were coding. For most projects we got at least a week to complete it. So I'd just do it ASAP and try not to be there the night before it was due (which is when most people want to look at my code).

    Other than that, I tried to have an open meeting before I got down to the actual coding of the more difficult projects, where my classmates and I could talk about different ways to get the project done (in broad terms, which the teachers had no problem with). If you were lucky, the teacher would show up and ask questions.

    cg

  • (cs) in reply to Wodin
    Anonymous:
    A Real Programmer doesn't use loops, loops are for quiche-eaters. A Real Programmer uses GOTO, which is how God meant programs to be written.

    What are you talking about?  GOTO is only one way to implement a loop!


    No-one else has pointed it out yet, so I will. This forum tends to have a higher-than-average sarcasm level... you may wish to keep that in mind as you read the posts.

    Cheers,
    Taryn
  • (cs) in reply to Another Anonymous
    Anonymous:

    The reason I did this was that I would be pestered in all hours of the night for help on homework.  I got so many questions like, "What is a variable and why should I use one?" "How do I do this assignment?" "How do I make something happen sometimes?"  "Where's the command that generates this program?"

    It was never ending.  I got so fed up with it.  The only way I could get sleep was if I just gave them the answer.  I figure it's their problem, when they don't know how to do anything on the test.  It's the professors fault they passed.  If you fail all the tests and ace all the homeworks, obviously something is wrong.  Also, the professors seemed to have a problem giving anything worse than a B if you showed up.


    Ouch, I was never pestered that much. But then I made it pretty clear up front that I was not in the mood to help people that just wanted to have their homework done for them. I'd happily answer general questions where the person seemed genuine, though. Still I have ot admit that I was pretty stereotypically geeky and didn't socialise much with the CS students... I guess keeping to yourself has some advantages.

    The down-side was that I had a lot of trouble learning the general-knowledge stuff that everybody else seemed to just get... I could always ask a tutor about the subject-matter, but nobody taught me how to, I dunno, view an image under unix, or whatever... all the incidental stuff that most people assume you can already do once you have a degree - I never learned until I was on the job.
  • EvanED (unregistered) in reply to Gene Wirchenko
    Gene Wirchenko:
    My favourite question when tutoring is "Why do you say that?"

    Sometimes, there is a bit of training time.  "No, I did not say you are wrong, but why do you say that?"  I want your reason.  There is quite a difference between "That is what it says in the book." and "That is what it says in the book, and from what happened in my earlier projects, that makes sense."  There is also, "I am guessing.  I think it has to be around x because of y, but I do not know how to narrow it down further."


    I do something sort of similar, except my questions tend to be more focused on the code and less how they came up with it. Like "what's that supposed to do?" or "why is that there?" I'll often plop a "that's right" or a "that'll work" in there to not freak them out.

    I think I'll try to go more for the how they got there questions in the future. Though it can sometimes be difficult, because when I'm doing this stuff are at bi-weekly (wait, is that twice a week or every other? I mean twice a week...) help sessions, and when stuff's due soon we get (1) a lot of people and (2) people who come in the night before it's due and go "okay, how do I start this?" on projects that I question if I could complete in 3 hours, having done them myself already. And then have problems with, say, a for loop when we're talking about recursion. Ah, good times. ;-)
  • (cs) in reply to EvanED
    Anonymous:
    Gene Wirchenko:
    My favourite question when tutoring is "Why do you say that?"

    Sometimes, there is a bit of training time.  "No, I did not say you are wrong, but why do you say that?"  I want your reason.  There is quite a difference between "That is what it says in the book." and "That is what it says in the book, and from what happened in my earlier projects, that makes sense."  There is also, "I am guessing.  I think it has to be around x because of y, but I do not know how to narrow it down further."


    I do something sort of similar, except my questions tend to be more focused on the code and less how they came up with it. Like "what's that supposed to do?" or "why is that there?" I'll often plop a "that's right" or a "that'll work" in there to not freak them out.


    I do that as well.  It depends what level the discussion is at.  It appears we operate similarly.

    Sincerely,

    Gene Wirchenko

  • (cs)

    Yeah... I still don't believe it.  This WTF can't be true.  Nobody can spend "a few months" on coding a solution and come up with only 6 lines.  At least, I hope not... 

    This WTF reminds me of the recurring nightmares I had after I graduated from college:  I had a class that I couldn't find or didn't go to and finals came up and I hadn't studied at all. 

    Poor Paula Bean had to live my nightmares.  I hope that she had underwear on, at least.

  • (cs) in reply to TankerJoe
    TankerJoe:
    Anonymous:

    A Real Programmer doesn't use loops, loops are for quiche-eaters. A Real Programmer uses GOTO, which is how God meant programs to be written.




    This is true.  One only has to read the story of mel to know. 

    http://www.pbm.com/~lindahl/mel.html

     

    This story has given me great inspiration. Just when i thought *I* was beginning to write obscure code (which none of it has shown up here, thank God) i am shown a brief glimpse of a higher glory.

    Long live Mel!!

  • (cs) in reply to Gene Wirchenko

    Gene Wirchenko:

    <snip>

    My favourite question when tutoring is "Why do you say that?"

    <snip>

    I had a teacher whos fav. question was 'are you sure of that?' and 'but is there a BETTER way to do it?'  -- even if i was 100% spot on the first time.

    we once went on for 2hrs discussing other options, and at the end of it all, we agreed that my way, which i had said 5mins after he posed the problem, was indeed THE best way anyone could come up with.

    If it taught me anything, it is that i should go with my initial instinct and not waste time trying to find a 'better' way. i AM right. and yes, i AM sure. why? you tell me once I have finished it and YOU have thought about it.

  • LarsW (unregistered)

    I have to agree with the other people who say that if this did indeed happen, the greater WTF is not Paula, but the project team leaders who never checked up on what she was doing. You gave this woman salary for six months, and you didn't once ask for a demo, some junit test cases, some proof of how her code would integrate with the rest of the system?

    While we love to bash specific languages here, in my experience projects fail for the following reasons, in order of importance:

    1. Bad project management. For instance incomplete specs, too few resources planned to solve the problem, doesn't tackle difficult problems such as team members not talking because they don't like each other.
    2. Bad coders.
    3. Wrong language. Here the problem isn't usually that the problem is impossible to solve, you can solve any problem in any language, but that the solution is too slow, or two complex to be maintainable.


  • Niksi (unregistered) in reply to Ytram

    Isn't one of the first posts (by Gene Wirchenko) saying that already?

  • Niksi (unregistered) in reply to Niksi
    Anonymous:
    Isn't one of the first posts (by Gene Wirchenko) saying that already?
    Oh the "reply" does not sort the post into a thread but appends it instead.

    I intended this sentence to be a reply to the assuption, of Ytram at the end of page 1, that Lon Varscsak is the first to realize that brillant is written wrong.

  • (cs) in reply to Chucara
    Chucara:
    The real WTF for me is how anyone can hire a completely unknown person, and have her work for months without actually checking her work.


    Yeah, the boss should be fired.
  • (cs) in reply to Niksi
    Anonymous:
    Anonymous:
    Isn't one of the first posts (by Gene Wirchenko) saying that already?
    Oh the "reply" does not sort the post into a thread but appends it instead.

    I intended this sentence to be a reply to the assuption, of Ytram at the end of page 1, that Lon Varscsak is the first to realize that brillant is written wrong.



    Multi-thread threads, such as on slashdot, should be destroyed because they're an unwieldy and unbrowsable labyrinth of posts.

    The sane thing is to append so that a thread is indeed that: a thread. All decent online forums do that.

    The insane thing is to include a 'reply' button on EACH AND EVERY post.

    When in doubt, click 'Quote'.

  • (cs) in reply to Ytram

    To be fair to <FONT color=#555555>Gene Wirchenko</FONT> he was the first to point this out.

    Take a look at the FOURTH POST.

     

    "If debugging is the process of removing errors, then programming must be the process of inserting them!"

  • Skade (unregistered) in reply to Masklinn

    i wonder why nobody mentioned iterators yet?

    6.times do
        stuff
    end

    or

    [0..5].each do
        stuff
    end


  • (cs) in reply to Another Anonymous
    Anonymous:


    I did a similar thing in some of my CS classes.  I did the assignment and printed a single copy and gave it to a group of struggling people.  I would then go and redo the assignment differently for myself.


    I only once did someone's homework.      In my final year a girl (I'm still not sure if gender was relavent) got me to help her with some intorduction to C stuff.    Write a function to find the length of a string [write strlen()].    So I wrote a recursive function that used the ?: operator, and relied on x++ doing a post-incriment (or may it relied on the pre-incriment, I can't recall).    Something that if she handed in would make the professor go WTF, and call her in, knowing that either she got someone else to do it (beginners course remember), or administration wouldn't count her 10 years of C experience as credit to skip the class.

    Actually I left a off by one bug in there intentionally, so even if the professor wasn't paying attention, handing it in would cost some point because it didn't work.   Debugging it of course would get her to the point where she understood when the program was doing.
  • Skade (unregistered) in reply to Skade

    okay, when posts fail validation, the forget their reply-status?

    this is a reply to the "GOTO"-discussion

  • (cs)

    This must be post of the year.    There are other posts that made me laugh harder, and still others that got my keyboard/monitor messier.   However the Brillant Paula Bean has entered the collective mindshare like nothing else.  Therefore this is the WTF of the year.


  • (cs) in reply to Gene Wirchenko

    <font size="1" style="font-family: verdana;">

    Gene Wirchenko:
    My favourite question when tutoring is "Why do you say that?"


    <font size="2">Ah, it all makes perfect sense now: Gene Wirchenko == Eliza!

    Insincerely,
    Brian Boitano

    </font>
    </font>

  • (cs) in reply to sao
    sao:

    Gene Wirchenko:

    <snip></snip>

    My favourite question when tutoring is "Why do you say that?"

    <snip>

    </snip>

    I had a teacher whos fav. question was 'are you sure of that?' and 'but is there a BETTER way to do it?'  -- even if i was 100% spot on the first time.

    we once went on for 2hrs discussing other options, and at the end of it all, we agreed that my way, which i had said 5mins after he posed the problem, was indeed THE best way anyone could come up with.

    If it taught me anything, it is that i should go with my initial instinct and not waste time trying to find a 'better' way. i AM right. and yes, i AM sure. why? you tell me once I have finished it and YOU have thought about it.



    Was this Rainer Typke? Sounds all too familiar ;-)
  • Ben (unregistered) in reply to mlathe
    mlathe:
    and no constructor... tisk tisk


    what is wrong with implicit constructors?

    nothing.
  • RoRo (unregistered) in reply to Gene Wirchenko
    Gene Wirchenko:
    Alex Papadimoulis:
    Being the end of the year and all, I thought it'd be appropriate to name the "Post of the Year." But, since that would involve trudging through a year's worth of posts, I decided instead to revisit the classic Brillant Paula Bean ...


    Gah!  Just when I though that "Brillant" (French for "brilliant", not that anyone cares) was finally on the way out.

    And I missed first today (and eleventh yesterday), too.

    Sincerely,

    Gene Wirchenko


    WTF Lon was not the first to pick up on the misspelling!!! 
  • (cs) in reply to ParkinT
    ParkinT:

    To be fair to <font color="#555555">Gene Wirchenko</font> he was the first to point this out.

    Take a look at the FOURTH POST.

    To be really fair, I was the first in this thread.  It was mentioned first in the original thread.

    Gene Wirchenko
  • dasmb (unregistered) in reply to Guest

    Yeah, the CS industry is consistantly shooting itself in the foot with the Big College Project.  Because the Big College Project isn't really all that big, one person solves the problem and the whole class cribs it and there's basically no way to detect it, if they're clever cribbers.

    One of the reasons -- there are many -- that I opted for a rhetorical theory rather than a CS degree in college was that I knew what I was doing.  Which is a problem -- if CS students find out you know, and can solve, their problem, they use all manner of tactics to sweat it out of you.  For example, in my logic design class, I did 15 labs every week -- which usually meant doing mine last, and alas, shoddiest.  I got a D in Data Structures, because I had done the big project for the year completely differently from everybody else and two people had shoddily replicated code I'd stupidly left in the temp drive of the mainframe.  And computer architecture I should have failed outright, because I never completed a single lab write up...I was too busy acting as an adjunct TA.

    The real way to teach CS, and to grade CS, would be to give every student a conceptually similar but fundamentally different task.  Yeah, you can re-use them from semester to semester, but right now all we're testing is a student's ability to parrot and crib -- which is precisely why there are so shoddy programmers, and so many overstressed, overworked people supporting them.

    Also, I'm shocked at how many people I know who have CS degrees but "don't want to program."  Da hell?  We can't all think up strategies, manage projects and work as pocket dictator IT janitors.  Programming is to CS what writing is to a rhetorician and if you don't like it...well, switch to MIS or some other BS in BS.

  • (cs) in reply to dasmb
    Anonymous:
    Yeah, the CS industry is consistantly shooting itself in the foot with the Big College Project.  Because the Big College Project isn't really all that big, one person solves the problem and the whole class cribs it and there's basically no way to detect it, if they're clever cribbers.

    One of the reasons -- there are many -- that I opted for a rhetorical theory rather than a CS degree in college was that I knew what I was doing.  Which is a problem -- if CS students find out you know, and can solve, their problem, they use all manner of tactics to sweat it out of you.  For example, in my logic design class, I did 15 labs every week -- which usually meant doing mine last, and alas, shoddiest.  I got a D in Data Structures, because I had done the big project for the year completely differently from everybody else and two people had shoddily replicated code I'd stupidly left in the temp drive of the mainframe.  And computer architecture I should have failed outright, because I never completed a single lab write up...I was too busy acting as an adjunct TA.

    The real way to teach CS, and to grade CS, would be to give every student a conceptually similar but fundamentally different task.  Yeah, you can re-use them from semester to semester, but right now all we're testing is a student's ability to parrot and crib -- which is precisely why there are so shoddy programmers, and so many overstressed, overworked people supporting them.

    Also, I'm shocked at how many people I know who have CS degrees but "don't want to program."  Da hell?  We can't all think up strategies, manage projects and work as pocket dictator IT janitors.  Programming is to CS what writing is to a rhetorician and if you don't like it...well, switch to MIS or some other BS in BS.


    I KNEW I wasn't the only one who thought this way. What do we do about it though?
  • (cs) in reply to mlathe

    In Java, there's an implied no-arg constructor, provided that no other constructor is defined.

  • (cs) in reply to dasmb
    Anonymous:
    The real way to teach CS, and to grade CS, would be to give every student a conceptually similar but fundamentally different task.  Yeah, you can re-use them from semester to semester, but right now all we're testing is a student's ability to parrot and crib -- which is precisely why there are so shoddy programmers, and so many overstressed, overworked people supporting them.


    No, you can not repeat them from semester to semester.  They still get cribbed.

    Sincerely,

    Gene Wirchenko

  • dasmb (unregistered) in reply to GoatCheez

    What do we do about it?

    Well, we can insist on a fierce hiring policy like the one my company's adopted...pre-screenings, quizes about basic language and framework systems, applied solutions, etc -- all performed off-the-cuff and in person.  Failing a quiz isn't a problem, so long as you fail gracefully and know how to find the solution or at least where to start -- and we actually passed on a guy who failed by looking too deeply into the problem and creating a lot of cruft that wasn't in the spec.

    It's a tough process, taking hours per candidate.  I think it's worth it -- but then again, I passed.

    Ironically, even after six years in the industry there are a lot of doors that will remain closed to me because I don't have a C.S. degree, doors which these clowns waltz through.  I'd be bitter -- if there weren't so many companies in my area that thought exactly like this one, rewarding works over the grace of a fine resume.

  • No one special (unregistered) in reply to Another Anonymous
    Anonymous:
    Anonymous:
    Anonymous:
    Anonymous:

    Even more strange, I wonder how he graduated.


    In our assembly class, I did two versions of my code.  One I would turn in, and one I would be nice and share on the mainframe.
    ...  
    That's how these people get out there.

    The real WTF here is why?


    I did a similar thing in some of my CS classes.  I did the assignment and printed a single copy and gave it to a group of struggling people.  I would then go and redo the assignment differently for myself.

    The reason I did this was that I would be pestered in all hours of the night for help on homework.  I got so many questions like, "What is a variable and why should I use one?" "How do I do this assignment?" "How do I make something happen sometimes?"  "Where's the command that generates this program?"

    It was never ending.  I got so fed up with it.  The only way I could get sleep was if I just gave them the answer.  I figure it's their problem, when they don't know how to do anything on the test.  It's the professors fault they passed.  If you fail all the tests and ace all the homeworks, obviously something is wrong.  Also, the professors seemed to have a problem giving anything worse than a B if you showed up.


    When I was a grad student and taught a fluid dynamics class, I gave one guy who didn't turn in over 50% of the lab work and failed the final a "D".  It's still technically a passing grade.  He complained to my advisor (I taught him in my last semester, so I got the call at home after I had already left with my M.E. degree) and I just told my advisor: look, do whatever you want, give him an "A" for all I care, but he doesn't even deserve what I gave him.

    That's how this stuff happens.

    When people pay to go to school, they feel entitled to good grades and complain if they don't get them.

  • EvanED (unregistered) in reply to dasmb
    Anonymous:
    The real way to teach CS, and to grade CS, would be to give every student a conceptually similar but fundamentally different task.  Yeah, you can re-use them from semester to semester, but right now all we're testing is a student's ability to parrot and crib -- which is precisely why there are so shoddy programmers, and so many overstressed, overworked people supporting them


    Do you really think this is the best solution? For each project, come up with (in the case of the class I'm TIing, based on this coming semester's numbers) almost 100 different projects? And Gene's right, you probably would have to change each semester. You might be able to get away with rotating every, say, three semesters, but I wouldn't do it more frequently than that. Your projects would have to be close enough that they test the same thing and different enough that copying is hard.

    Then there's the added strain on the grader and instructor.

    I'm not saying it's a bad idea, I just don't think it's workable unless you're a really small department.

    And I'm not sure about how best to deal with this. I think I'd be in favor of having to write simple programs on tests. It's a situation where cheating is harder than with HW, but on the other hand there could be some people who don't cheat on the HW and yet would have a difficult time on a timed test.
  • EvanED (unregistered) in reply to dhromed
    dhromed:
    Anonymous:
    Anonymous:
    Isn't one of the first posts (by Gene Wirchenko) saying that already?
    Oh the "reply" does not sort the post into a thread but appends it instead.

    I intended this sentence to be a reply to the assuption, of Ytram at the end of page 1, that Lon Varscsak is the first to realize that brillant is written wrong.



    Multi-thread threads, such as on slashdot, should be destroyed because they're an unwieldy and unbrowsable labyrinth of posts.

    The sane thing is to append so that a thread is indeed that: a thread. All decent online forums do that.

    The insane thing is to include a 'reply' button on EACH AND EVERY post.

    When in doubt, click 'Quote'.


    The other insane thing this place does (or one of them anyway) is load the separate pages with post messages instead of get. A consequence of this is that if you make a post, it sends you back to the first page in the thread.

    (As an aside, the different threading models are good in different situations. Many /. discussions are big enough that an approach like this would be, in my opinion, completely unworkable. I think this site is about the limit of popularity for this model.)

  • njkayaker (unregistered) in reply to EvanED

    -Unless- you are getting -tangible- benefits (eg sex or money), -never- do other people's work for them, in class or at work. It reduces the value of your work, either by making it seem commonplace or making you seem less productive.

    The -only- reason people do other people's work for them is EGO. And the people who manage to get other people to do their work are exercising a highly-developed social skill.

    Also, the manager who allowed Paula to get away with doing nothing for a "few months" is either lazy or (too) busy brown nosing his/her superiors. In fact, the amount if time it takes to review code, to determine productivity and a base-level of competence, is pretty minimal. The review of code, of course, should occur early and often for "unknown quantities".

Leave a comment on “The Brillant Paula Bean, J2ME Edition”

Log In or post as a guest

Replying to comment #:

« Return to Article