• mw (unregistered)

    I was fully prepared to do a "top-this" with my own story, but then I saw the second slide.

  • Looce (unregistered)

    Hm, VB 6 does have pointers, if you consider AddressOf and ByRef parameters in subs and functions. Then again, you can't really declare a pointer by itself in VB.

    WTF?

    p.s.: first?

  • (cs)

    Let's hear it for those rigorous accreditation requirements.

  • (cs)

    BEAUTIFUL!!! All my rants about colleges/universities/degrees AND VB6 all rolled into ONE WTF!!! w00t!!!

  • Matt the Greater (unregistered)

    That's like training lifeguards to dial 911 when someone is drowning.

  • Jony (unregistered)

        Sounds like an adequate preparation for reality. Could you expect more from a University?

  • (cs)
    Alex Papadimoulis:

     They had Princeton-quality lecture notes! Really, they did: googling the text in the PowerPoint lecture notes yielded an identical presentation (name and course number changed) from a Princeton professor. Sure, the book would sometimes conflict with the lecture notes...



    This is Chris' license to plagiarize. If he gets caught, he can just blackmail his professor.
  • (cs)

    I worked for a place that liked to test new candidates to better gauge if they were the ‘right stuff’.  One of the tests was to put the person in front of a computer and have them write a couple of apps.  One of the apps was to write a sort algorithm, and it could be any sort algorithm.  Clearly anyone who could implement a bubble sort was the ‘right stuff’ (sarcasm)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p> </o:p>

    Anyway,  after being told that I would have to administer these tests, I voiced my opinion that these tests would do nothing.  Everyone can write a sort.

    <o:p> </o:p>

    A lady came in, and after explaining the requirements to her about 5 or so times, her solution was just this.  She placed a sorted list box on the form, populated it with the list, then called me over and said ‘Done!’

     

    She must have studied at this University.

    <o:p> </o:p>

    Not the right stuff I suppose. 

     

  • Steve (unregistered)

    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       

  • (cs) in reply to kswanton

    I'm sorry but what?!!

    Maybe this is against the forum rules but can we please have the name of the school? lecturer? I mean if this is true I really think they should be named and shamed, that is terrible!!! I think the princeton lecturer would like to know as well that his work is being copied by another lecturer.

    Run away, do yourself a favour and quit and try for another school....VB6 wow that's bad, what do they teach in 2nd 3rd years? maybe it gets better.

     

     

  • Steve (unregistered) in reply to Steve

    at least it was in C++        

  • snoofle (unregistered) in reply to R.Flowers

    Couldn't he just google the answers to the Princeton assignments and turn those in? (or at least put the answer printout on a wooden table, take a picture, ...)

    I mean, if you're going to take the easy way out...

     

  • Steve (unregistered) in reply to codenator
    codenator:

    I'm sorry but what?!!

    Maybe this is against the forum rules but can we please have the name of the school? lecturer? I mean if this is true I really think they should be named and shamed, that is terrible!!! I think the princeton lecturer would like to know as well that his work is being copied by another lecturer.

    Run away, do yourself a favour and quit and try for another school....VB6 wow that's bad, what do they teach in 2nd 3rd years? maybe it gets better.

     

     





    i had a teacher who copied a function from a lecture slide in china.  someon e in the class googled the function prototype and returned with the full programme.  the assignment was to fill in various spots that she cut out.  of the students that actually did it properly got an A.  those who copied verbatim got a B.  i guess those who copied but at least changed the code somewaht got an A-.        
  • arfox (unregistered) in reply to Steve
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       

    Obviously, they wanted you to learn how those things really work and not just how to use STL
  • snoofle (unregistered) in reply to arfox

    Anonymous:
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       

    Obviously, they wanted you to learn how those things really work and not just how to use STL

    And you were better off for it - be thankful

  • Jony (unregistered) in reply to kswanton
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.
  • (cs) in reply to Steve
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       


    That, my friend, wins the "WTF comment of the day!" award.

    You mean they actually forced you to learn how data structures work? Who would ever need to know that stuff????
  • foonly (unregistered) in reply to codenator
    codenator:

    what do they teach in 2nd 3rd years? maybe it gets better.

     


    Advanced Data Structures: students in this course will learn to do 2-dimensional structures using MSFlexGrid.


  • Jay (unregistered)

    Why isn't the name of the university included?  It's not like it's sensitive information as with most WTF's that come from companies who might go apeshit.  Universities with bad programs should be outted.

    It's a good WTF, but lame for not providing any information about the institution.

  • David (unregistered) in reply to Jony

    You may not need to memorize the algorithms, but you should at least know things like a bubble sort will be the quickest way to sort a nearly-sorted list, quicksort is a good general purpose when data could be in any level of disarray, etc.  Memorizing algorithms, or at least uses, isn't bad.

    Unless of course, you worked at my captcha, initech

  • John (unregistered) in reply to Jony
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.

    Better than no test at all...

    Anyway, my tech school experiance was ... interesting; of the two instructors one was out pregnant for a while, and the other way having an affair with another instructor. I ended up teaching most of the students what they needed to know (which was fun).

    But then, in high school I took a college class in COBOL for fun.

  • (cs) in reply to Steve
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       


    Back in my day that was the first thing we did in every C++ class because we HAD NO STL. Frankly, it's good practice for any/every programmer. Writing a class for each of those in every language you use is very good practice.

    (technically, we had STL, or at least some of it... But it was still changing and wasn't "official", so we all just made our own classes for what we needed.)

    Maybe the C++ STL wasn't finalized when you took that class?
  • (cs) in reply to Jay

    This does explain something for me ... at my current job, I inherited an impressively convoluted VB6 app that stored all of it's "data" in hidden listboxes on a hidden form.  I mean, there were about 10-20 list boxes all stuffed on there ....  Rows of data from database calls had their columns concatenated together and delimited by "~" and stored one per list box item .... I think the listbox was used for sorting and for lookups and joins as the like (makes perfect sense .. better than doing it in the DB, right?)

    All joking aside, seeing today's WTF, I can only wonder if this college is where this "programmer" got his degree from ... I'll have to check with my boss to see if his resume is still on file.


  • Wally (unregistered)

    <font color="#000080" face="Courier New">Man, and I was so hoping for some string concatination with a ";" delimeter, then a reg-ex to do the sorting, and a split to generate a new array.

    Hey, uhm, I'm no VB pro, but doesn't it have an Array object?  does it not come with a default sort method? or is that too tricky for those MS folks.

    CAPTCHA = Batgirls BF
    </font>

  • (cs)

    <font size="5">S</font>o, did you ever find out why the professor from Princeton was copying the class notes?

  • (cs) in reply to John
    Anonymous:
    But then, in high school I took a college class in COBOL for fun.


    You, sir, have no soul.
  • Frustrated Lead Developer (unregistered) in reply to Jony
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.

    It really isn't a test of memorization. It is an easy way to weed out people without the necessary basic understanding of programming so you have less of them wasting your time. I asked a guy to write a function to sort a linked list once. He wrote two lines of code and looked constipated for a while. He couldn't even tell me what it was he didn't understand.

    Our VP and Project Manager talked to him and they were all excited and ready to hire him. I was the only person in the group who did not want to hire him. Everyone else was surprised because he was polite and well dressed and had a resume with 5 years on it.

    We have a guy who was already an employee but knew virtually nothing. He was in danger of getting fired, but worked hard and took a class and then passed the same test (sort a linked list) and was able to explain every line of code to me. He didn't drop any pointers, and didn't leak memory.

    If you go to school and get a degree in CS (accredited or not), and you don't understand linked lists enough to write a bubble sort for one without dropping pointers, then go back and try again. If you really studied hard and took it seriously and haven't learned this, then ask for a refund from your school.

    Post to this forum and a dozen people will recommend books for you. If you apply for a job at my company without this understanding, then tell me before I interview you and I'll bring my college text book to the interview and let you read a chapter before taking the quiz.

  • (cs) in reply to kswanton

    kswanton:

    In my first year, I wrote a sort function called a "fux0rt".

    It would check if the elements were in order. If they were not, it would randomly change them and check again. If I got asked to do that during an interview, that's what I'd pull out and write.

    The test answers three important questions about the applicant:

    1. "Does the person know their mass from a black hole?"

    2. "What does their code look like? Do they use Whitesmith indentation? Do they comment?"

    3. "How fast can they code something simple under pressure?"

    As for everyone else and the VB6 / VS6, it's the last programming lanugage that MS wrote that has a linker. VS.NET requires the .NET framework to run. In other words, you have to get people to download an 11MB file to run your tiny little 64kB application. Now that's progress!

    I know, you guys all have broadband. Some of my code has shipped (as recently as last year) to people that are 3 days away from electricity, never mind the Internet. (Laptops powered by car batteries.)

  • (cs)

    OK, perhaps I'm stupid, but what's the point of implementing a sorted linked list? How often do you need a container that has O(N) insertion complexity, O(N) lookup complexity for an arbitrary element, and happens to deliver the elements in sorted order on iteration? That's one of the most pointless data structures I've ever heard of.
    Since we have O(N) insertion already, we may as well use an array list, like std::vector, and keep that sorted. Then we have O(log n) lookup complexity and probably faster iteration. (Pointer arithmetic instead of pointer dereference for moving forward.) Oh, and constant-time random access, in case anyone cares. Oh yeah, and reverse iteration. Did I mention less memory overhead?


    Meh. Useless data structure implemented in a braindead way. I guess it fits.
    Well, actually it probably doesn't, because I don't think the ListBox uses a linked list internally.

  • Anonymous (unregistered)

    I did something like this in classic VB for my high school's graduation seating program 6 years ago.  The main problem was that I needed to do inserts and removes on two different arrays (two columns of n chairs), and classic VB's string()s couldn't do automatic array restructuring.  I fiddled around with it for a bit, and said fuck it, I'll put 4 hidden listboxes on it and do the shuffling that way.  My array was already sorted.

    ...And this was at 3am the night before my graduation.  That's right, I didn't sleep the night before my graduation because I was hacking together my school's seating program in VB6.

    captcha: poprocks

  • Memorize what? (unregistered) in reply to Jony
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.

    Amen!

    On an exam in one of my junior year courses the professor wanted us to write code to solve a problem (something similar to a sorting or possibly something to do with B-trees) . Supposedly we should have been able to do it because we did it before (as an assignment). Well I'm not one to memorize things that I should/can look up. For my asnwer I said something along the lines of "While I don't recall the exact code, given a reference book for any language I could accomplish it by following this algorithm/pseudo code. I then proceeded to write some psuedo code and would accomplish the task. Thankfully he must have agreed with me since I ended up getting most of the credit for the question, can't say that about the other students though.

  • (cs) in reply to Matt the Greater

    Anonymous:
    That's like training lifeguards to dial 911 when someone is drowning.

    It's rather like training lifeguards to dial 0 to ask for the directory service number. Then call 411 and ask for the emergencies number. And finally call 911.

  • (cs) in reply to Jony
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.

    I agree 100%.  When interviewing, I ask the candidate to "sort an array of 10000 integers".  Full marks for using either the C library qsort or one of STL's sorts, partial marks for implementing an O(n lg n) sort, low marks for O(n^2), and ridicule for doing nothing (j/k).  About 75% of the candidates I've asked this have written their own sort.  Half of that 75% tried and failed to write an O(n lg n) sort, and the other half successfully wrote bubblesort.

    Does the world really need another poor implementation of bubblesort?
  • (cs)

    <FONT size=2>"I have never let my schooling interfere with my education." - Mark Twain (1835-1910) </FONT>

    <FONT size=2>Never argue with an idiot. First, they drag you down to their level, then beat you with experience. - Ben Adams</FONT>

  • Russ (unregistered) in reply to Jeff S

    Jeff S:
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       


    That, my friend, wins the "WTF comment of the day!" award.

    You mean they actually forced you to learn how data structures work? Who would ever need to know that stuff????

     

    I sincerely hope you forgot <sarcasm> tags around your comment.  Of course you should know how data structures work.  You might never have to use it, but it will make you a better programmer.  And maybe some day you will have to code in a language that doesn't have STL, and you have to implement something like that yourself.  Personally I throw in a data structure question every time I interview someone for a position, and so far very few got it right, but the ones that did were clearly better programmers.        

  • Peter (unregistered) in reply to Jony

    Memorizing algorithms (even sort algorithms) can actually prove very useful because it often allows you to solve problems more easily. Spend some time in graduate school or out in the real world, and you soon realize that average-case and worst-case running times alone are often meaningless when determining which algorithm to use in solving a particular problem. For example, in undergrad classes, you learn that bubble sort is at worst O(n^2). A better way to describe the actual running time of bubble sort would be to say that the running time is proportional to the number of inversions in the list (which is at most n^2). Thus if the number of inversions is limited, bubble sort may be the best choice. Back to the point at hand: without knowing the details of the algorithm, you cannot make an informed choice as to which algorithm to use. If you're sorting a list just for the sake of sorting a list (i.e. there are no constraints on the nature of the list), such a choice is not required. But remember, people often sort lists as a means of solving another, larger problem that may impose constraints on the nature of the list. My apologies for the rant.

  • BSP (unregistered) in reply to Wally
    Anonymous:
    <font color="#000080" face="Courier New">
    Hey, uhm, I'm no VB pro, but doesn't it have an Array object?  does it not come with a default sort method? or is that too tricky for those MS folks.
    </font>


    Nope, no sort method! Or array object, for that matter (unless you count the Windows Scripting COM  object that you could reference for the "advanced" collections VB did not provide..). Of course, the real WTF here is that the lecturer didn't use VB6s OO capabilities to implement his linked lists.

    BSP
  • Brad (unregistered) in reply to Steve

    Even my community college data structures class did (but then the class was borrowed from the nearest university with a full CS program).

  • (cs) in reply to Grimoire
    Grimoire:
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.

    I agree 100%.  When interviewing, I ask the candidate to "sort an array of 10000 integers".  Full marks for using either the C library qsort or one of STL's sorts, partial marks for implementing an O(n lg n) sort, low marks for O(n^2), and ridicule for doing nothing (j/k).  About 75% of the candidates I've asked this have written their own sort.  Half of that 75% tried and failed to write an O(n lg n) sort, and the other half successfully wrote bubblesort.

    Does the world really need another poor implementation of bubblesort?

    Did you use the results of the test as an indication of who to hire or who *not* to hire? I find tests useful for the latter.  As for you giving higher marks to someone who can use a library function vs. writing their own, I'm not sure I agree.  I agree with your 'why reinvent the wheel' type of though, but what happens when the wheel has not been invented yet?  Free/open thinkers are needed, not just someone who can use a library/google.

  • anonymous (unregistered) in reply to Coincoin
    Coincoin:

    Anonymous:
    That's like training lifeguards to dial 911 when someone is drowning.

    It's rather like training lifeguards to dial 0 to ask for the directory service number. Then call 411 and ask for the emergencies number. And finally call 911.



    More like training lifeguards to yell "Hey, that person is downing! Someone help!"
  • (cs) in reply to Russ
    Anonymous:

    Jeff S:
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       


    That, my friend, wins the "WTF comment of the day!" award.

    You mean they actually forced you to learn how data structures work? Who would ever need to know that stuff????

     

    I sincerely hope you forgot <sarcasm> tags around your comment.  Of course you should know how data structures work.  You might never have to use it, but it will make you a better programmer.  And maybe some day you will have to code in a language that doesn't have STL, and you have to implement something like that yourself.  Personally I throw in a data structure question every time I interview someone for a position, and so far very few got it right, but the ones that did were clearly better programmers.        



    Yes, of course I was being sarcastic.  that's why I indicated that his comment itself was a WTF, though I can see how that may not have been clear.
  • Dan (unregistered) in reply to themagni
    In my first year, I wrote a sort function called a "fux0rt".

    It would check if the elements were in order. If they were not, it would randomly change them and check again. If I got asked to do that during an interview, that's what I'd pull out and write.

    That wouldn't get you the job. Unless your program has infinite time to run, it's not guaranteed to complete.

  • Reed (unregistered) in reply to CornedBee
    CornedBee:

    Since we have O(N) insertion already, we may as well use an array list, like std::vector, and keep that sorted.


    Memory reallocation for your array.


  • Master Pebbles (unregistered) in reply to Russ
    Anonymous:

    Jeff S:
    Anonymous:
    i thought i had it bad at my university when we were instructed to make our own list, vector, and stack classes and NOT use STL...that was FUN                       


    That, my friend, wins the "WTF comment of the day!" award.

    You mean they actually forced you to learn how data structures work? Who would ever need to know that stuff????

     

    I sincerely hope you forgot <sarcasm> tags around your comment.  Of course you should know how data structures work.


    Possibly the true "WTF comment of the day"!

    <sarcasm> tags are redundant when sarcasm is obviously implied.
  • jbange (unregistered) in reply to Grimoire
    Grimoire:

    I agree 100%.  When interviewing, I ask the candidate to "sort an array of 10000 integers".  Full marks for using either the C library qsort or one of STL's sorts


    Hmmm... Do you say "feel free to use any part of the STL to do this" in the instructions?  If not, it becomes a judgement call on  the part of the interviewee whether you are a smart programmer who'll appreciate ingenuity rather than a bureaucratic drone with an answer sheet. Given that it may not be clear whether you'd understand the validity of a call to qsort, I'd also have probably just rattled of a simple bubblesort that I knew even a suit would understand. I've had bosses before who would've said "you didn't show us any code for this 'qsort' routine you invented". Some might say "I wouldn't work anywhere where the guy hiring me wouldn't understand a smug reference to the C lib or STL", but many of us can't afford that sort of pride... ;)
  • Chernobyl (unregistered) in reply to Looce

    VB6 has references, then, using clases you can implement a linked list. You can even make a polymorphic class (without inheritance).

  • J A F (unregistered) in reply to Jony
    Anonymous:
    kswanton:

    One of the apps was to write a sort algorithm, and it could be any sort algorithm.



    There is no point in such a test. It just proves that someone can memorize things. It does not prove if someone is able to think, systematically approach a complicated problem and solve it, can write production quality code, can prioritize tasks etc. If you look for brain-dead code monkeys that might be a good test. Otherwise not.

    If I need a sort, I take it from the library. If there is none in the library, I google for an implementation. If there is non, I get out that old CS textbook and implement one. But not earlier. Memorizing sort algorithms was and is a waste of time.


    We have  saying in Math about using formulas... Don't memorize it, understand it... I think it applies to sorting algorithms as well
  • Unklegwar (unregistered)

    See what happens when you reply to those "Get your Degree, choose from 50 majors!" emails?

    In defense of the class, I'm thinking that the whole listbox thing was to visually represent the linked list so the student can see what's going on? One can hope.

  • Josh (unregistered)

    Aaaah, this brings back wonderful memories of the one trimester I spent at a school (recently upgraded to "University" status from "Technical Institute" status) that has 11 franchised locations - it made me cry, and actually, it rhymes with cry and starts with De.

    I started that school with 6 years of development experience to get a BA in CS; thought I could get a head start by testing out of the basic "here's how to open Windows" classes, but I failed the test; the test had 50 azzinine questions like "How many clipart images are in Office 97".

    So, since my employer was paying for the class, I took it; in this class there were 5 other developers (all with >2 years experience) and 3 experienced network administrators, and we were all learning how to open windows programs.  It soon became clear that the core goal of the school was to make money, not to educate students.

    When, on smoke break, one of the students close to graduation told me that Windows NT4 was 100 times more secure than Solaris, I knew for sure that I'd better find another school.  Most of the people I know who have graduated from this school are not capable of genuine thought - they just like to follow what all the books say and make a complete mess of the apps they are charged with the care of.

    When/If I get to a management position, resumes from applicants who have attended only this school will be automatically forwarded to the recycle bin.

  • (cs) in reply to codenator
    codenator:

    I'm sorry but what?!!

    Maybe this is against the forum rules but can we please have the name of the school? lecturer? I mean if this is true I really think they should be named and shamed, that is terrible!!! I think the princeton lecturer would like to know as well that his work is being copied by another lecturer.

    Run away, do yourself a favour and quit and try for another school....VB6 wow that's bad, what do they teach in 2nd 3rd years? maybe it gets better.

    If this isn't University of Toronto I'll eat my metaphorical hat.  I just helped a friend of mine grasp skip lists for the UofT comp sci course she's taking and the template source (in java) was a line-for-line port of some VB6 code.

    With the VB6 source still in comments.

Leave a comment on “Studying at WTF University”

Log In or post as a guest

Replying to comment #82933:

« Return to Article