Slashdot Mirror


Duke: No Mercy For CS 201 Cheaters Who Don't Turn Selves In By Wednesday

theodp writes: The Duke Chronicle published an e-mail reportedly sent to hundreds of Duke students who took Computer Science 201 (Data Structures & Algorithms) last spring, giving those who copied solutions to class problems until Nov. 12th to turn themselves in for cheating. "Students who have violated course policies but do not step forward by November 12, 2014," warns the e-mail, "will not be offered faculty-student resolution and will be referred to the Office of Student Conduct for disciplinary processes without any recommendation for leniency." The Chronicle adds that CS Prof Owen Astrachan, co-director of undergraduate studies, admitted that there is a fine line between collaboration and cheating in computer science — online and in person, although Astrachan made it clear in comments that "Students who copied code from the Internet are in violation of the community standard and course policies."

320 comments

  1. just practicing.. by ThatsDrDangerToYou · · Score: 5, Insightful

    .. for when their jobs are outsourced. It's pretty much the same thing.

    1. Re:just practicing.. by K.+S.+Kyosuke · · Score: 1

      I'd give them an A for mastering caching data structures. :-)

      --
      Ezekiel 23:20
    2. Re:just practicing.. by Anonymous Coward · · Score: 1

      A for self-identifying their mastery of caching data structures.
      B for using the internet as a caching data structure but getting the wrong answer anyway
      C for hearing the term 'caching data structure' and being able to describe it.
      D for knowing what a cache is.
      F for all else.

    3. Re:just practicing.. by Applehu+Akbar · · Score: 1

      More like an F for Computer Science and an A for Business.

    4. Re:just practicing.. by Darinbob · · Score: 1

      A+ for calling it 'memoization'.

    5. Re:just practicing.. by Anonymous Coward · · Score: 0

      .. for when their jobs are outsourced. It's pretty much the same thing.

      Almost every Indian programmer with whom I have interacted frequently copies code from the World Wide Web or posts a help request on various forums asking for code to solve a particular problem. When I came across such as posting I recognised the person based upon the uniqueness of the criteria stated in the message. I reported the issue to the manager and was told to mind my own business.

  2. What if they're basketball players? by Anonymous Coward · · Score: 0

    Drat. That's UNC, not Duke.

    OK, lacrosse players.

    Wait - we hung them already.

    1. Re: What if they're basketball players? by Anonymous Coward · · Score: 0

      He means the Duke lacrosse players that were falsely accused of rape by a black student from NCCU.

    2. Re:What if they're basketball players? by Anonymous Coward · · Score: 0

      Right, because unlike other schools UNC gives their athletes the soft glove treatment. Lulz.

      Are your football players smart? Didn't think so.

    3. Re:What if they're basketball players? by Anonymous Coward · · Score: 2, Informative

      Right, because unlike other schools UNC gives their athletes the soft glove treatment. Lulz.

      Are your football players smart? Didn't think so.

      What rock do you live under?

      Fake classes, inflated grades: Massive UNC scandal included athletes over 2 decades

      CHAPEL HILL, N.C. — A scandal involving bogus classes and inflated grades at the University of North Carolina was bigger than previously reported, encompassing about 1,500 athletes who got easy A's and B's over a span of nearly two decades, according to an investigation released Wednesday.

      ...

  3. News? by Anonymous Coward · · Score: 0

    How is this news? Surely this is policy in many institutions?

    1. Re:News? by Racemaniac · · Score: 1

      It's probably that students are unsure where the line is drawn.
      As mentioned in the article if you're working on a programming problem, it's natural these days that you look online when you're stuck on a problem, is this cheating?
      Also, there are only so many ways you can solve a problem (certainly small programming problems in courses). How sure are you that your solution isn't too similar to something someone put online somewhere, or another student who thought the same way you did?
      Even if you didn't actively cheat, depending on how this would be tested, a student should almost consider "confessing" just to be sure not to get expelled if similar code is found somewhere (and the internet is big...)

    2. Re:News? by mwvdlee · · Score: 1

      It's not cheating if you're a professional programmer paid to produce software.
      It IS cheating if you're a student who is supposed to be demonstrating their ability to create working code on their own.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:News? by RyuuzakiTetsuya · · Score: 1

      Yes. When you're talking about solving problems for the first time, you have to do the grunt work and know what you're doing. My CS135 class had the same problem with people cheating on a parsing roman numerals problem.

      When you're in a work environment, no one's going to expect you to implement, say, quick sort or whatever algorithm that's non-trivial but basically grunt work, by hand. The work is going to be way more in-depth than just "this solves this specific problem." however, knowing how these things actually work is another thing.

      --
      Non impediti ratione cogitationus.
    4. Re:News? by Racemaniac · · Score: 1

      Okay, and suppose you took this course and created your own roman numeral reader. How sure are you that they won't find something on the internet that is "too similar"?
      I agree it's important they learn to do their own work, but i would be wondering how high the odds are for false positives...

    5. Re:News? by Anonymous Coward · · Score: 0

      Agreed. And to argue with the grandparent poster, the Internet didn't change this in any way!

      There has always been a "natural" tendency to look for answers when stuck. It has always been considered cheating to copy answers verbatim from another source for school exercises, where the whole purpose is for the student to reinvent the wheel. We weren't supposed to find the teachers' answer key to our calculus book, nor copy an encyclopedia entry for our history class, nor slavishly copy a photograph for our painting and composition art class. There were always plenty of methods to "research" an answer, for as long as there has been a library and a real world to consult. There has always been a line to draw between researching some facts or inspiration versus presenting someone else's creative effort as our own.

      I'm not sure there has been any shift in cheating due to the Internet. It might just be easier to detect now. In the 90s, I was a teaching assistant for a CS professor who caught mass cheating in our compiler course, and there were a multitude of ways that groups cheated on their group projects: stolen via unattended lab terminals; stolen from busy lab printers; obtained from attendees of previous semesters; cribbed from fraternity "libraries"; etc. I got the impression we caught this scale of cheating because the professor had just developed the technical means to detect it. It had probably been going on in previous years too.

    6. Re:News? by tompaulco · · Score: 1

      Okay, and suppose you took this course and created your own roman numeral reader. How sure are you that they won't find something on the internet that is "too similar"?

      Well mine will probably be full of comments, so it probably won't look like anything on the internet or in the corporate world.

      --
      If you are not allowed to question your government then the government has answered your question.
    7. Re:News? by x0ra · · Score: 1

      This is bs. Say I have to write a PNG as part of my program, do I go through the opening process of the PNG all by myself or do I just copy/paste the PNG opening code from the manpage ? I did the latter at school, with the proper disclamer "WARNING, PLAGIAT DETECTED. This code is directly stolen from the manpage, ooth there isn't 10^14 way to open a PNG". By your standard, I should re-code the PNG file from the binary data, heck, I should even re-code the POSIX API used to read/write the file and do basic stuff.

    8. Re:News? by RyuuzakiTetsuya · · Score: 2

      The professor had surprised us then told us to write out on paper what the algorithm actually did and why.

      There were a few people missing the next class.

      --
      Non impediti ratione cogitationus.
    9. Re:News? by mwvdlee · · Score: 1

      You are being pendantic and you know it (or atleast I sincerely hope you do).

      If the goal of the exercise was to write an image file format parser, then you have cheated.
      If the goal of the exercise was to create a game and you just used third party code to load game assets, it's not cheating.
      And if the goal of the exercise is to write an OS kernel, you should probably re-code parts of the POSIX API (or invent your own API).

      If your common sense doesn't tell you where to draw the line, your teacher probably will.

      p.s. FWIW, I have written a PNG library for a programming language which previously had none. So yes; there is use in being able to do so. The purpose of education is not to make you highly efficient in one specific programming language (as much as Microsoft and it's ilk might want it to), but to make you able to solve problems on your own.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  4. Hello world! by Anonymous Coward · · Score: 0

    It was me!

  5. Fine Line by mtrachtenberg · · Score: 1

    Is it a programming exercise? Then actually have human beings who understand the assigned task go over the submitted code with the student, having the student explain it. If the student can explain what is happening to the investigator's satisfaction, fine. If the student copied code and has no clue what it is doing, force them to work for a large company. And please stop calling programming computer science; no one could "copy code" over the internet to demonstrate an understanding of computer science.

    1. Re:Fine Line by Ksevio · · Score: 1

      Often the first step I take for non-trivial problems is to think "has anyone does this before" and "did they share how they did it". You can often find a block of code on stackoverflow or someone's blog that does the trick. You should of course cite your source if it's a longer section or complicated one (this helps you later or others figure out what's going on), and licensing has to be kept in mind, but there's no point in redesigning the wheel every time.

    2. Re:Fine Line by DarkOx · · Score: 1

      Right, seems like it should be possible to identify the cheats with a simple exam, give everyone in the class a pop quiz, with a really similar question.

      For the folks that did not cheat they get reward for their honest hard work, they will already have thought through the problem had the opportunity to test their solution etc, and simply need make some trivial change and scribble their solution down on the exam sheet. Easy-A

      The cheaters will be busted, outed by their inability demo knowledge that they already are supposed to have displayed before.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    3. Re:Fine Line by tompaulco · · Score: 1

      give everyone in the class a pop quiz, with a really similar question.

      This is how it should be done anyway. have them write psuedocode on the fly. It doesn't have to compile. You don't have to get hung up on things like variable initialization, or error handling. You are trying to see if they understand the concept of what the algorithm is supposed to do. A Data Structures class is not there to teach you how to program. It is there to teach you how to understand and create algorithms for Data Structures.

      --
      If you are not allowed to question your government then the government has answered your question.
    4. Re:Fine Line by Anonymous Coward · · Score: 0

      when I was in school, I found that many of the Stack Overflow problems I saw were
      A) not in the style I usually used and had cryptic as hell variable names. My professor knew damn well each student's idiosyncrasies with style and commenting. Also, Comment everything because even if it works, you still aren't getting full credit if it is an Obfuscated mess.
      B) Didn't do exactly what I needed. Finding an algorithm doesn't do dick if it can't handle my particular problem set. My professors didn't expect me to be the Rainman with algorithms. They did expect me to know when a good time to use a particular one was and where.
      C) weren't made into classes or functions , so making it work in an object oriented environment was a pain in the ass. My Datastructures class was in C++, and they expected us to use the features that were in there. Alot of stack overflow stuff is written in a vaccuum with only basic dataflow.

      if the Duke Coursework was so easy that just downloading the source would mean you passed it, then holy shit my education at a smaller state university in the south was better then one of the highest rated universities in the country.

    5. Re:Fine Line by Anonymous Coward · · Score: 1

      And please stop calling programming computer science; no one could "copy code" over the internet to demonstrate an understanding of computer science.

      science
      sns/Submit
      noun
      the intellectual and practical activity encompassing the systematic study of the structure and behavior of the physical and natural world through observation and experiment.
      "the world of science and technology"
      synonyms: branch of knowledge, body of knowledge/information, area of study, discipline, field
      "the science of criminology"
      a particular area of this.
      plural noun: sciences
      "veterinary science"
      a systematically organized body of knowledge on a particular subject.
      "the science of criminology"
      synonyms: physics, chemistry, biology; More

      Put the word computer in front of it, and yes, copy code, and test said code is a form of science, since one must observe the outcome, and determine whether or not the code will work. It's a forensic type science for that matter, as the science is done post mortum as it were, so technically an MIS degree could conceivably fall under Computer Science, except the science is the psychology of managing IT people, combined with business science (except we don't call it the science of business...it's just business, but it's still science in the larger sense of the word.)

    6. Re:Fine Line by Anonymous Coward · · Score: 0

      Right...on the job.

      This story isn't about the workplace, it's about a university where the purpose is to learn coding, not learning to copy code. Would you want to work with coders, or people who only know how to copy code?

    7. Re:Fine Line by Anonymous Coward · · Score: 0

      The point of the assignment wasn't to figure out how someone else did it, it was for you to figure out how to solve the problem yourself. You might be clever to find existing solutions on the net but probably won't actually know what is going on. It's the difference between being a learning to be a fluent speaker of a language and just using a translation phrasebook.

    8. Re:Fine Line by Anonymous Coward · · Score: 0

      When I took college CS all my assignments were "write a program that does X", not "turn in a program that does X". If you copy a bunch of code then you've accomplished the latter, but no the former.

  6. Acceptance of Responsibility by artlu · · Score: 1

    It is an interesting position to be placed in, but it is always better to accept responsibility for one's actions. I had to do it as well as part of my case (http://tminr.com/the-book/) but it led to a better outcome had I not admitted wrongdoing and fought.

    I hope all of the parties are able to step-up because, if they do, the end result will be a lot better for them.

    --
    -------
    artlu.net
    1. Re:Acceptance of Responsibility by Anonymous Coward · · Score: 0

      >better to accept responsibility for one's actions

      Bullshit, not in this day and age. Authority is harsh, hard and uncaring. They value their power and how they can yield it far more than fairness or leniency. It's a sad day and age when the honest man suffers more than the liars, but it is where we are ethically.

      This isn't really new either. We have the 5th amendment for this very reason.

      Oh, and the professors should get disciplined if they are in no way lenient to those naive enough to come forward.

    2. Re:Acceptance of Responsibility by Anonymous Coward · · Score: 0

      It is an interesting position to be placed in, but it is always better to accept responsibility for one's actions. I had to do it as well as part of my case (http://tminr.com/the-book/) but it led to a better outcome had I not admitted wrongdoing and fought.

      I hope all of the parties are able to step-up because, if they do, the end result will be a lot better for them.

      For someone who has been to federal prison, you sure seem mighty proud of it.

  7. When I got my InfoSci by kilodelta · · Score: 0

    They're pretty much feed you the answers. So it wasn't hard. That said we had setup a share site for code - and we could allow others to see the code etc.

    I think the school in question just has it's head up its ass.

  8. Or just practicing for an actual job by popo · · Score: 1, Insightful

    Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

    Part of being a contemporary coder is making use of available code. Libraries of functions are "other people's code". Languages are other people's code. Etc. it's all about other people's code.

    --
    ------ The best brain training is now totally free : )
    1. Re:Or just practicing for an actual job by gstoddart · · Score: 5, Informative

      Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

      Back when I was coding as my primary job, we never copied, we might have drawn inspiration.

      We'd look at a tutorial, but we sure as heck wouldn't have looked at, say, code from Linux we planned on cribbing. Whereas if we had the FreeBSD or Apache source code, we just might.

      Part of being a contemporary coder is knowing who you're legally allowed to borrow from, and who you're not.

      But, part of getting your education involves not cheating. So, if "making use of available code" turns into "plagiarism and not meeting the school's academic policies" ... well, you're pretty much screwed, aren't you?

      --
      Lost at C:>. Found at C.
    2. Re:Or just practicing for an actual job by popo · · Score: 4, Insightful

      I think you're using very negative words for a very normal part of the coding process.

      For example, about 20 minutes ago I needed a function to measure password strength. Could I have written it from scratch? Of course. Did I? Hell, no. That would be a needless waste of time. I used the Interwebs and had a choice of 3 or 4 perfectly good functions within about a minute.

      That's how coding works today. And if you're not making use of other people's code you're not doing it right.

      --
      ------ The best brain training is now totally free : )
    3. Re:Or just practicing for an actual job by 31415926535897 · · Score: 1

      Of course we all use available code. I would be very disappointed if my colleagues were all writing their own sorting functions when that problem has already been solved a million times.

      But that's not what school is about. You need to go through the process of understanding how these algos came to be understood--not so that you can re-implement them in your job--but so that you can do two things:
      1. Know which algos will work when you do have a real world problem to solve
      2. Use the same process that helped you solve for a known algo when the time comes to solve for an unknown one

      Please, use available libraries and stack overflow on the job. But let's not pretend that we're trying to accomplish the same things on the job and in the classroom.

    4. Re:Or just practicing for an actual job by putaro · · Score: 3, Insightful

      The difference being that you could have coded it from scratch - and you don't learn how to do that just by copy/pasting code.

    5. Re:Or just practicing for an actual job by Barny · · Score: 1

      Right, but if you were in school, and given the task of writing a program that accepts, stores and evaluates passwords, grabbing such a piece of code would be considered a 'bad thing'.

      Saying in your comments that you found a 'method for neatly measuring password strength and reimplemented it' would, however, demonstrate that not only can you find code that you would need but CAN code and implement the solution.

      --
      ...
      /me sighs
    6. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      It is also about not reinventing the wheel, code reuse in industry is the norm, in fact it is expected unless it could breach the copyright/I.P. of others.
      Having said that, being able to write your own might be important when copyright/intellectual property is a corporate concern. Not all workplaces participate in open source, by forcing you to write your own code the university is better preparing you for whatever workplace you may come across.

    7. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      We'd look at a tutorial, but we sure as heck wouldn't have looked at, say, code from Linux we planned on cribbing. Whereas if we had the FreeBSD or Apache source code, we just might.

      I'd look at the code directly, GPL or not. Then, I'd understand what it was doing, how that fit into what I was doing, and write my own similar code to do the job I want done.

      I'd never copy code, regardless of license. That's just senseless duplication. If I needed that exact same functionality, I'd use that exact library and save myself the time it would take to transcribe it and "muck it up" to look like in-house code, never mind the legal issues in doing so. Since I likely need some similar-but-not-the-same functionality, it's not going to ever be a copy/paste job. And the GPL (and copyright law in general, which the GPL and other licenses are founded on) doesn't cover cases where you didn't just outright copy the code. If it's a modified excerpt integrated into something entirely different from the original codebase, it's not addressed at all by the GPL. And I'd bet money that Stallman (Mr. GPL himself) would call you something unspeakable if you tried to assert otherwise in his presence.

    8. Re:Or just practicing for an actual job by gstoddart · · Score: 1

      I think you're using very negative words for a very normal part of the coding process.

      No, I'm very aware of the fact that you need to know what you legally can and can't do with code you got elsewhere, because it may be copyrighted or otherwise encumbered.

      This has been true for at least two decades, and probably more.

      If you don't know this, you could get your company or yourself into some pretty deep shit.

      I'm not saying don't avail yourself of code which says "use freely". I likes me some use freely. Everybody does.

      I am saying that in an academic setting, the rules imposed by the school are different. And in a corporate setting, if you're not aware of the legalities you are probably a liability waiting to happen.

      Not knowing this, or completely ignoring it? Well, good luck with that.

      --
      Lost at C:>. Found at C.
    9. Re:Or just practicing for an actual job by i+kan+reed · · Score: 1

      Yeah, but sometimes you need something that's like a list, but subtly different, and you need to be able to sort by hand(perhaps because sorting is connected to another piece of computation).

      If you can't do that, you're not a good programmer.

    10. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Yes. Look for open source code. Copy and Paste. Delete copyright notice.

      That's how it works in the real world!

    11. Re:Or just practicing for an actual job by Lumpy · · Score: 1

      Every single one of them that use libraries.

      Sorry kids, Library use is copying. Copying is not a bad thing, you save a lot of time by doing it.

      --
      Do not look at laser with remaining good eye.
    12. Re:Or just practicing for an actual job by jellomizer · · Score: 2

      I don't think it is a case of regularly. But it happens a few times per month.
      But there is a big difference in doing this for your work and doing it for school.

      If you are doing this for work, your goal is to get the computer to solve the problem.
      For school your goal is to learn how to get the computer to solve problems.

      For Example a CS101 student will have a nested for statement that displays a triangle in text.
      The point of the exercise isn't about having a triangle to appear. But to teach and impress the ideas of nested loops.
      Now if you take the code:

      for i in range(10):
          st = ""
          for j in range(i):
              st+="#"
          print(st)
      print("Done!")

      For a someone new to the topic. You wouldn't have realized that you needed to reset your string in the correct level of the looping. The real learning isn't about getting the program right, but finding all your mistakes in the process. Just copying the code so you got it done you failed to learn. You just completed the assignment.

      Now for professional work you goal is to get the assignment done, and they really don't care if you learned something new or not. So just as long as you got that triangle even if you had a...

      print("#")
      print("##")
      print("###")
      print("####")
      print("#####")
      print("######")
      print("#######")
      print("########")
      print("#########")
      print("##########")
      print("Done!")

      they really don't care.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    13. Re:Or just practicing for an actual job by popo · · Score: 1

      "I'd never copy code".

      "I'd use that exact library".

      Those are mighty fine hairs to split.

      --
      ------ The best brain training is now totally free : )
    14. Re:Or just practicing for an actual job by XxtraLarGe · · Score: 4, Interesting

      Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

      The whole point of the course is to try & figure out how data structures and algorithms are implemented. It's as much about problem solving as it is coding. Sure, you could always just use std::vector in your C++ programs for vectors, but do you really understand how they work? What about binary trees and linked lists? That's the type of stuff they're teaching in these classes. Copying code & modifying it for your own purposes is fine for production, but if these students don't understand how the underlying code works, then their chances of successfully using it greatly diminishes.

      I see it all the time in my courses. I emphasize to the students that they should only use methods currently covered, so they get a 0 if they go out on stackoverflow and find solutions that give them shortcuts. They fail to use critical thinking skills and gain a deep understanding of how programming works. Most of the time, their ham-fisted copy/paste code doesn't even do what the assignment requires.

      --
      Taking guns away from the 99% gives the 1% 100% of the power.
    15. Re: Or just practicing for an actual job by Anonymous Coward · · Score: 0

      How do you know he could have done it if he didn't actually try it at all?

      I can claim that I could use GNOME 3 for more than 30 seconds. It's even possible that I could do it. But if I did actually try it, I just would not be able to manage it. I know this because I did try it. I could tolerate GNOME 3 for only about 15 seconds before wanting to vomit.

    16. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      I don't. I might use example code for inspiration, or use an available well-tested library, but I nearly never copy code verbatim. I always want to know how it works so if I need to tweak it (or verify it's not just some garbage) I can.

    17. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 1

      99% of the time whatever code you are after does not fit your naming/spacing/style/data/structures anyway. On top of that you usually have to adapt it to your local data structures. The most I grab is 1-2 lines. Usually for some new function I am using and someone has an example. There usually is pretty much only one way to do some things when you are playing around with 1 to 2 lines.

      Also part of education is getting one. If you are just copying wholesale to just get the grade why did you bother enrolling? As I tell most 'young kids' "you get the first 12 years free the next 4-8 costs you a fortune" My point? You are given a free basic education you pay for quality. Take advantage of it.

    18. Re:Or just practicing for an actual job by Qzukk · · Score: 1

      Those are mighty fine hairs to split.

      There is a world of difference between using someone else's code and claiming it as your own and using someone else's code as a library they published and licensed for your use.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    19. Re:Or just practicing for an actual job by UnknownSoldier · · Score: 2

      Yeah I never copy code. In my mind there is no point. I want to _understand_ how it works -- not just be a code monkey.

      I think I can count on one hand all the times I've looked at other people's code to see how some of the finer details of the algorithm work but I'll just write the code from scratch. That, and along with debugging it, helps me to understand its edge cases, the domain it is strong at, and the areas where it is weak.

      Your point about library code is conflating the issue.

      There is a huge difference between calling someone else's code, and passing their work off as your own .

    20. Re:Or just practicing for an actual job by Capt.Albatross · · Score: 2

      Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

      Part of being a contemporary coder is making use of available code. Libraries of functions are "other people's code". Languages are other people's code. Etc. it's all about other people's code.

      This defense always comes up when cheating is the issue, and it is always wrong. The purpose of an examination is to determine if an individual understands the subject matter, and no argument how programming is done in practice alters the fact that a cheater has failed to demonstrate that he understands the subject matter (and has, in fact, provided good evidence that he does not.)

      Furthermore, one should not be spending the time and money a degree from Duke costs, just to be a cut-and-paste coder - a semester at a community college should be enough, if you can't teach yourself. The purpose of a university education is to develop a thorough understanding of the subject matter in order to become the person who finds solutions to problems, rather than the people who copy them.

    21. Re:Or just practicing for an actual job by cduffy · · Score: 2

      Sorry kids, Library use is copying. Copying is not a bad thing, you save a lot of time by doing it.

      Shared libraries or static libraries?

      Static library use involves copying at the link phase. Shared library use doesn't. Depending on your license, the distinction can be legally significant.

      And, well, that's the thing. Those of us who are professionals think about liability... which is why we can actually find a large company willing to buy our startups without doing an absolute freakout (or requesting a huge discount for cost of reimplementations) analyzing the codebase during due diligence.

    22. Re:Or just practicing for an actual job by gwolf · · Score: 1

      Legal issues make clear the splitting point of that hair.

      Using that exact library means you include it from your project source and acknowledge it as a complete piece of work. If your work is developed openly, you usually list it as a dependency (and acknowledge the authors — And get the ability to link to updated versions. Free updates, yay!) or hard-include it in your tree (but still acknowledging authorship); if it is developed in a closed model, you can either do it or not, but if $boss comes to ask why every time a frobnicator is quuxed you get shizzles, you can point to an outside-acquired code.

      If you just copy-pasted a funciton as yours, there are many negative side effects. Besides, of course, opening yourself to lawsuits and whatnot.

    23. Re:Or just practicing for an actual job by Jon_S · · Score: 5, Insightful

      Exactly. The purpose of the assignment wasn't to get some code to work. It was to learn how to develop an algorithm.

      I'm not a CS person, but rather a chemical engineer. When I was in college, we learned, and had to do, all sorts of distillation designs using McCabe-Theil diagrams and other hand and graphical calculations. Would we ever do this at our job? No, there are all sorts of computer programs that figure these things out. However, going through the process of doing the work the hard way, and more importantly redoing the work that other people have already done, makes us understand the principles behind the logic. It also helps for giving insight if and when we want to extend the thinking to some new area.

      Talking about how things are reused in one's job is completely missing the mark.

    24. Re:Or just practicing for an actual job by tompaulco · · Score: 1

      Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

      Standing on the shoulders of others is standard practice, but when you are asked to do something in a class, it is not about learning to utilize resources, it is about learning to do it on your own, so that you can understand what others have done. This is why we teach kids how to add before we let them use a calculator.
      When I first learned java, the book had me writing classes which let me implement lists, then linked list, then doubly linked lists. Finally after all of that, it introduced the LinkedList class already present in Java. But now I understand how it works and how to use it efficiently and in the right places.
      Furthermore, in the working world, you have the possibility of patents, copyrights, and license limitations. If you are asked to develop an algorithm, they may really need you to develop it from scratch in order to avoid legal issues.

      --
      If you are not allowed to question your government then the government has answered your question.
    25. Re:Or just practicing for an actual job by jason.sweet · · Score: 1

      If you could have coded it from scratch, you knew how to weed out all the crap and pick the correct example. You also knew enough to realize that the example was an implementation simplified enough to fit in a web page. And, as a result, you enhanced the example to make it robust enough for production use. You did do that, didn't you?

    26. Re:Or just practicing for an actual job by gwolf · · Score: 3, Insightful

      Of course. But when doing a course on data structures, kids are expected to develop the skills needed to write pieces of code that might seem trivial to you — But in practice are the result of tens of years of work. I quite enjoy reading 1960s computer science papers precisely because of that.

      I teach Operating Systems. My course depends on Algorithms and Data Structures. Believe me, even though the students just finished the course mentioned in this note (of course, in a different university, different country even), it is obvious in their assignments they have not yet interiorized many of the things they are supposed to have learnt. I could probably fill a book explaining the different implementations of lists or trees I have seen, or the myriads of antipatterns I read on a regular basis. And that's what university is for.

      In "real" works, of course, they can answer open-book to all exam^Wsituations. They can copy code from teh intarwebz. They can compare code. But first, they have to understand and interiorize the concepts.

    27. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Looks like while Indian students (see recent story) feel they have a right to cheat, the American students don't even recognize it as cheating anymore.

    28. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      No, use is not copying. At least not legally, there are exceptions for the kind of copies that are created during simple use.

    29. Re:Or just practicing for an actual job by ADRA · · Score: 1

      Would using frameworks make you a cheater? Would copying a very know pattern (as a Pair/Triple) deem you a cheater (even if you attributed it, like I often did both in school and in professional life)? If you read a help site that says do A, B, C , D and you do the same operation of steps exactly (regardless of copy/paste), is that cheating?

      If you want to stomp out cheaters, come up with problem domains with very unique and strange processes that wouldn't be found in the wild. If you want to bust someone for leveraging a well known, legally OK use of a tool, you might as well stop issuing CS-diplomas and start issuing CS-that-won't-function-in-the-real-world-diplomas.

      Maybe the better appeal woud be an official citation system so that you can prove sources in an adequite way. Most courses in Uni have soime sort of standardized attribution system, why not CS?

      --
      Bye!
    30. Re:Or just practicing for an actual job by darkwing_bmf · · Score: 1

      One loop would suffice and be more efficient as well.

    31. Re:Or just practicing for an actual job by __aaclcg7560 · · Score: 3, Interesting

      Saying in your comments that you found a 'method for neatly measuring password strength and reimplemented it' would, however, demonstrate that not only can you find code that you would need but CAN code and implement the solution.

      I always cited sources in my source code when I took programming courses in college. More often it was implementing a solution from a different language into Java. The instructors never had a problem with that.

    32. Re:Or just practicing for an actual job by Archangel+Michael · · Score: 1, Insightful

      The difference being that you could have coded it from scratch, but not nearly as well

      FTFY

      As good as many coders are, their first coding attempt at any problem is not nearly as good as something that has already been done, several iteration ago, solving the same type of problem. There is efficiency of code, completeness, and security issues that have already been solved.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    33. Re:Or just practicing for an actual job by Archangel+Michael · · Score: 1

      understand its edge cases,

      This is where the real money is made. Edge cases always reveal weakness in design. The fewer edge cases, the better the design.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    34. Re: Or just practicing for an actual job by O('_')O_Bush · · Score: 2

      Being an actual professional software developer, I can definitely say that with the exception of equations, I have never copied code from the internet and have never seen that as an expectation (any more than an author plagiarising paragraphs in their books).

        There are legal (copyright/licensing) and ethical issues with doing so (for example, being complacent and treating code on the internet as having some level of vetting).

      If I need functionality that I feel already exists or is too dangerous/time consuming to write any my own... well... that is what libraries were made for. Or I contact the legal department about procuring the source so that I can modify it to fit my own needs.

      Copying it outright is never an option.

      --
      while(1) attack(People.Sandy);
    35. Re:Or just practicing for an actual job by __aaclcg7560 · · Score: 4, Insightful

      I once wrote an English paper on calculating a parabola curve, looking at 30 math books to see how other people described calculating parabola curve, and doing my best to write my own version that wasn't much different from anyone else's. The instructor accused me of copying. I challenged her to write an original description. She couldn't and give me an A anyway.

    36. Re:Or just practicing for an actual job by Gr8Apes · · Score: 1

      +1 on this. That is exactly what I was going to write. Merely copying code from the internet is not reuse, it's a maintenance nightmare waiting to happen. You need to be able to evaluate the code, modify it for what you need, definitely morph it into your own coding conventions, complete with tests, because this is a rather complicated algorithm, right? Otherwise, why bother copying it?

      --
      The cesspool just got a check and balance.
    37. Re:Or just practicing for an actual job by BradMajors · · Score: 1

      Yes. Companies I have worked for have prohibited that practice. At some companies you would fired for doing that.

      You are incorporating copyright material into your company's products which can result in legal liability for them. Available on the internet does not make it free.

    38. Re:Or just practicing for an actual job by Oligonicella · · Score: 2

      Yeah, fuck learning *how*. In case it's been too long ago for you, a school environ is not a work environ. The goals are two very different things.

       

    39. Re:Or just practicing for an actual job by theskipper · · Score: 1

      Well said. And it's not just for extending thinking to new areas, it's mandatory within the development process itself. Being able to debug quickly, develop test coverage and refactor efficiently requires that deeper level of understanding.

    40. Re:Or just practicing for an actual job by tibit · · Score: 1

      Moreover, if you copy from here, there and everywhere, your code will resemble pasta sauce. It might be an excellent pasta sauce, but not all projects are to deliver pasta sauce, heck most projects aren't. If you were asked for chateaubriand, you won't deliver it that way.

      --
      A successful API design takes a mixture of software design and pedagogy.
    41. Re:Or just practicing for an actual job by lister+king+of+smeg · · Score: 1

      Yes. Look for open source code. Copy and Paste. Delete copyright notice.

      That's how it works in the real world!

      With Bsd and mit license yes

      --
      ---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
    42. Re:Or just practicing for an actual job by tibit · · Score: 2

      Of course you assume that code posted in a random internet post will be worth something. If you wish to copy from a project that is maintained, rather than from a random, unscored post, you might be facing licensing issues. About the only place where good code has a chance at being fleshed out, collaboratively, would be stackoverflow. The posts are scored, and anyone can edit things and improve them - or at least comment when things are seriously broken and unfixable.

      --
      A successful API design takes a mixture of software design and pedagogy.
    43. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      I used the Interwebs and had a choice of 3 or 4 perfectly good functions within about a minute.

      That's how coding works today. And if you're not making use of other people's code you're not doing it right.

      I wish someone had written a decent password strength meter years ago. One that could take any input without any restrictions, like spaces, greek, kanji etc..
      Does the function measure entropy or do some sort of heuristics like counting upper and lower case letters?
      Does it try a simple dictionary attack on the password? Can it handle more than 12 characters?
      Can it handle me typing ALT+1 to add a smiley?(I notice slashdot strips those guys out).
      I'm dubious of what sort of "perfectly good code" can be found on the interwebs. Ideally, it would come with its own unit test, with a whole slew of inputs and expected outputs. I found this one: https://github.com/syntaqx/pas... but, in your words: it's

      not doing it right

    44. Re:Or just practicing for an actual job by x0ra · · Score: 0

      Still, that does not justify the policy. A student with good lawyer/social connection will be able to have his name cleared, and one without who just needed those extra credit will get fucked. At the end of the line, the cheaters will not be able to function in a company, or might cheat their way out all their lives, but who cares ? If it's working for them, then it's the right way to behave.

    45. Re:Or just practicing for an actual job by bkr1_2k · · Score: 2

      Isn't that the purpose of code reviews, though? I mean, you can grab a few lines to do a specific function, test it, maybe use as is, maybe improve, then have other people review the code. Or is that not done in the real world any more?

      --
      "Growing old is inevitable; growing up is optional."
    46. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Ultimately you are copying something that was coded from scratch. Who's to say they were better?

    47. Re:Or just practicing for an actual job by firewrought · · Score: 1

      Just out of curiosity are there any professional programmers out there who don't regularly copy functions from the Internet?

      The whole point of the course is to try & figure out how data structures and algorithms are implemented. It's as much about problem solving as it is coding. Sure, you could always just use std::vector in your C++ programs for vectors, but do you really understand how they work? What about binary trees and linked lists? That's the type of stuff they're teaching in these classes. Copying code & modifying it for your own purposes is fine for production, but if these students don't understand how the underlying code works, then their chances of successfully using it greatly diminishes.

      And to extend what you're saying, ultimately professional programmers *do* have to design novel data structures and the algorithms to manage them. How are you going to build a thread-safe incrementally updating cross-reference table when you don't even know to implement a linked list?

      --
      -1, Too Many Layers Of Abstraction
    48. Re: Or just practicing for an actual job by ceoyoyo · · Score: 1

      The point of a degree is to assess that "can you write it from scratch part." When I was in CS one assignment was to write pong in assembly. My professor didn't care whether I could write pong. He wanted to know whether I could solve a problem and code in assembly.

    49. Re:Or just practicing for an actual job by ic3m4n1 · · Score: 1

      The significance of testing is not to solve problem in best possible way or find new solution to established best practices.
      It measures learning of basic principles and to use those principles to come up with solution. Here process is more important than final product.

      As for problems that have already been solved the practices and optimizations that have been attained in respective areas should already be part of learning
      process. More like top down approach than bottom up.

    50. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 2, Insightful

      The difference being that you could have coded it from scratch, but not nearly as well

      FTFY

      As good as many coders are, their first coding attempt at any problem is not nearly as good as something that has already been done, several iteration ago, solving the same type of problem. There is efficiency of code, completeness, and security issues that have already been solved.

      No, you dropped the important half of his argument. The class was not "Efficient Software Development", it was "Data Structures & Algorithms". Perhaps you shouldn't have cheated during your Reading Comprehension & Critical Thinking classes, then you wouldn't need to justify cheating later on...

    51. Re:Or just practicing for an actual job by Ambassador+Kosh · · Score: 3, Insightful

      What annoys me about McCabe-Theil diagrams is that they are not fundamentally the way the theory works for designing distillation systems. They are basically a way to solve problems using huge approximations before we had the computer power to do it correctly. I much prefer the rate models for distillation column design and think that mccabe-theil should be scrapped. HOWEVER, I think that students need to understand how that stuff truly works and since the algorithms are simple they should write a basic rate equation based solver for distillation column design. Then they would truly understand how the stuff really works and be better equipped to use it.

      I just don't like the idea that you learn one method that is supposed to give you the idea of how things really work but then the actual systems you used are based on entirely different theories and assumptions.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    52. Re:Or just practicing for an actual job by Obfuscant · · Score: 2

      If you want to stomp out cheaters, come up with problem domains with very unique and strange processes that wouldn't be found in the wild.

      And then everyone complains that they're being taught stuff that they'll never see in real life. The classwork isn't "relevant".

      Why should anyone have to leap through hoops to "stamp out cheaters"? Why shouldn't simply expelling cheaters be good enough?

      If you want to bust someone for leveraging a well known, legally OK use of a tool,

      Except 1) they're not there to demonstrate that they can "leverage" the tool "google", they're there to learn algorithms and how to code in a certain programming language, and 2) it isn't legally ok in the context of doing classwork. "I want to see you select the right algorithm and then produce a working piece of code that implements it" isn't "find something someone else has done on the net and turn it in." Yes, sometimes there are more rules involved in life than just those found in the code of federal regulations or state ordinances or municipal code.

    53. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      "I'd never copy code".

      "I'd use that exact library".

      Those are mighty fine hairs to split.

      The difference between plagiarism and a quotation is equally fine. The difference between murder & execution. The difference between flying & gliding. Rain & sleet. Hearing & listening.

      Right & wrong.

    54. Re:Or just practicing for an actual job by Yakasha · · Score: 1

      Most of the time, their ham-fisted copy/paste code doesn't even do what the assignment requires.

      So you're saying the cheaters are preparing for the real world!

    55. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      The 2nd one runs faster in most languages.

    56. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Considering the supposed "skills gap" employers are constantly complaining about, maybe it's about time higher education diverged from practicing how to manufacture stagecoach wheels and instead taught students in 50% salary premium I saw coworkers doing the same work command. It's a giant game of trivial pursuit as far as I'm concerned that does very little in terms of developing useful skills IMHO. I'm reminded of the movie Public Enemies when the FBI wants to send their agents in to gun fights armed with college diplomas instead of less civilized skills developed with a HS Diploma or less on the battlefields of WWI.

      I've been hearing how applicable knowing how to calculate a DFT with pencil and paper was since I was a teenager, but most of the real opportunities I've had to apply that skill it was way more practical to read the comments of a CMSIS library and implement that instead of costing my employer money by reinventing a wheel with my thumbs up my ass and my dick in my hand.

      In contrast: the tool gets to show off how much value he got out of his $50,000 lambskin by burning 1 weeks of billable hours re-writing it in C and another 2 weeks debugging the resulting problems created by his unrefined hack. You'd better hope you ship 10,000 units to recoup the lost time to market and engineering laber vs the additional $0.25/unit worth of flash memory the boiler plate off the shelf solution would have cost.

      I see this shit all the time in school with students wasting WAY too much time in CS programs dicking around in VIM. It may make the old farts teaching the class nostalgiac for the days when NASA put a man on the moon with 16 bit microcontrollers but it tells me a lot that people who actually do this shit for a living normally say "fuck that" and write their shit in Visual Studio using .NET and C# while the architect upstairs masturbates in assembly using gcc and a CLI making UML diagrams with scissors and poster-board while checking his code that nobody reads in to the SVN server he has under his desk.

    57. Re:Or just practicing for an actual job by darkwing_bmf · · Score: 1

      Yeah, but that wasn't really his point.

    58. Re:Or just practicing for an actual job by darkwing_bmf · · Score: 1

      The code without the extra loop:

      st = ""
      for i in range(10):
          st+="#"
          print(st)
      print("Done!")

      I think this falls under the instructor trying to copy the lesson on embedded loops but not recognizing that the original lesson was based on printing one character at a time in a language other than Python (which doesn't print one character at a time by default). When the code was converted to Python, the original stipulation of only printing one character at a time was removed and with it the reason for the interior loop.

    59. Re:Or just practicing for an actual job by funkymonkjay · · Score: 1

      Much as I appreciate chemistry, I got a big fat C in Chem201... so, I'll try to bring it back to CS. [off topic, why in the hell did they make a CS student take chem? physics... I can really appreciate what with 3d games and such.]

      I think your "McCabe-Theil" would be in line with data structure/algorithm's Red-Black tree. I learned it, I even appreciated it but have I ever implemented it outside of school? hell no. Every language I use has it in their library.

      But it is important that we know how it works and know when and how to best apply it.

    60. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Then it's our right and in our interest to make sure it doesn't work for them. Cheating is a vice, not a virtue.

    61. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 1

      Sometimes I get comments from students "Why don't we do this on the computer, because that's what we'd be doing in industry." My answer is: because you have to understand how it works. To learn that you don't need a computer. Computers are for automating the work after you understand it.

      In a series of labs in one of my courses we do things "the hard way" on paper for two weeks before we move to more advanced stuff on the computer. I've tried going straight to the computer from the start, but it doesn't work well. They spend too much time fiddling with the details of the GUI and making pretty pictures instead of understanding what they are doing, why they are doing it, and what the results mean. This is especially the case for students who aren't used to computers.

    62. Re:Or just practicing for an actual job by sandytaru · · Score: 1

      My Java programming prof said that copying code in your actual jobs is fine - and pretty much expected. But for the purposes of his class, it was not allowed. We were supposed to mess with it and try to build it on our own. Non-compiling code that we did ourselves and messed up would net you a passing grade, whereas perfect code that was obviously copied would get you a big fail.

      --
      Occasionally living proof of the Ballmer peak.
    63. Re:Or just practicing for an actual job by Triklyn · · Score: 1

      just because that other guy got off light, doesn't absolve them of the infraction

    64. Re:Or just practicing for an actual job by Triklyn · · Score: 1

      :) the GP's cavalier attitude to plagiarism is pretty horrifying.

    65. Re: Or just practicing for an actual job by Triklyn · · Score: 1

      :) i'm pretty sure you would have gotten marked off if your pong were instead tetris.

      hard to evaluate someone that doesn't respect the pong... or you know, fulfill the assignment.

    66. Re:Or just practicing for an actual job by ottothecow · · Score: 1
      yeah, but these kids probably are taking code from stackoverflow since it is usually the top result in any search and is the easiest place to ask other people to do your homework.

      Usually it is pretty obvious--real world programmers usually aren't writing a program to order a limited set of pizzas from the command line (and if they are, their question will probably be something about using the Twilio api to send confirmations or how to actually store the orders in a database rather than just write them back out to stdout). I remember the aforementioned pizza question...something like "Use loops to order pizzas". You could google phrases from the question and find the problem set posted on a university page. Some people were of the helpful sort: "Not going to do the homework for you, but I suggest you read about XYZ" while others decided to instead provide a solution that used no loops (if you exclude recursion), and eventually someone submitted it as a Code Golf problem to solve the homework using no loops (for/do/while/goto style) in the fewest characters. The professor was given a heads up to look for any obvious cheaters who attempted to submit an assignment that ordered pizzas without actually using loops.

      But if that guy had obfuscated his question a bit more? Or maybe actually attempted it and then posted broken snippets of code? Somebody would have solved his problem for him.

      --
      Bottles.
    67. Re:Or just practicing for an actual job by tibit · · Score: 2

      Code reviews only work in practice on code of known quality level. I stress that by "known" I don't imply "perfect" or even "high" - I only mean that it must be known. The code review process must be tailored to the quality of people who do the work.

      There's no way to properly implement code reviews of code that effectively comes from random sources. Most of the time you'll be either wasting the time on code that's very good, or you'll miss some serious issues.

      --
      A successful API design takes a mixture of software design and pedagogy.
    68. Re:Or just practicing for an actual job by x0ra · · Score: 1

      Whether it is a vice or virtue is irrelevant. What matter is that everyone follows its values. For some it will be honor, for other, it will just be being successful no matter what the actions. FWIW, I prefer living a life on vice in hell rather than a life of virtue in paradise, ymmv.

    69. Re:Or just practicing for an actual job by Triklyn · · Score: 1

      It's really all about the trials by fire.

      nothing teaches you proper grammar better than staring at a fucking screen for 2 hours because you dropped some punctuation.

      I don't think there are any good programmers that don't know what i'm talking about :)

    70. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      I refer to code on the internet, but I never copy it verbatim, and make an attempt to actually structure the code differently (not hard because it almost always needs adapting).

      In school one of my profs had the Gilligan's Island rule. You could work together with friends, but before you rushed off an typed in the code on the computer you had to watch one episode of Gilligan's Island first, thus erasing all the details from your brain.

    71. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      Too many programmers just blindly copy. Std::map or std::vector for *everything* even when they're bad ideas. The mantra of never reinventing the wheel means they're stuck using the penny farthing bicycle for eternity. I hesitate to call of some of these programmers and they're just sticking together prefabricated Lego blocks.

      Meanwhile in embedded systems we have to reinvent stuff constantly. Code space too small to just bring in a full blown C library, too many hassles with legal department to cut and paste from other libraries, so just write your own. Space versus time tradeoffs, on some systems we had space but needed to make things fast, other systems we can afford to be slow but have no bytes to spare with size. Most libraries are in the middle with a sort of bland general purpose implementation suitable for PCs.

    72. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      retard. he is talking about 'work is work' & 'school is school'. But, but, but, let me get my stupid, obvious thought out.. but, but, but...

    73. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      That's why I still ask about doubly linked lists when interviewing someone. I get to see how they approach the concept if they're unfamiliar with it, but I'm dismayed by just how many programmers who claim to have experience with embedded systems either have never done this before or can not actually figure it out. Sheesh, if they can't rearrange four pointers then what happens when they have a real challenge?

    74. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      To expand on this, the purpose of an education is not to learn how to do a "job", but in becoming educated. If someone just wants a job then they can go to a trade school. There are plenty of cheaper colleges that can teach someone to be a grunt programmer.

    75. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      How very uncivilized of you. Again, it is in our interest, and even according to your interpretation of freedom also our right, to make sure that this attitude doesn't work for them, and you.

    76. Re:Or just practicing for an actual job by mysidia · · Score: 1

      Computer science is distinct from coding.

      In coding/programming professions; the goal is to engineer working software.

      In computer science; you are expected to understand the exact meaning of the subject of your work. It's how the program works that is important, not what it does, and your assignment is generally to use certain kinds of techniques to build certain programs. It's not good enough to copy someone else's data and paste it in within CS.

      Just like it's no good for a biologist to paste in another biologist's data into their own experiment and publish their paper on it.

    77. Re:Or just practicing for an actual job by Livius · · Score: 1

      If you billed your client for a full day's work for what you accomplished in 20 minutes, then you committed fraud.

      That's what the students are accused of.

    78. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Whether it is a vice or virtue is irrelevant. What matter is that everyone follows its values. For some it will be honor, for other, it will just be being successful no matter what the actions. FWIW, I prefer living a life on vice in hell rather than a life of virtue in paradise, ymmv.

      You must be an Indian or similar cockroach.

    79. Re:Or just practicing for an actual job by Actually,+I+do+RTFA · · Score: 1

      For example, about 20 minutes ago I needed a function to measure password strength.

      Does it merely require sufficient inclusion of characters to make the estimated size of the character set above a threshold, and then do the same for length independently? Does it use(estimated size of the set of characters used) ^ (length)? Does it reference commonly used passwords to ensure things like "password" are weaker than "merhgqtrc"? Or reference the keyboard layout? How does it handle repeated letters? Does it deal with your N previous passwords to prevent password reuse? Does it allow for "horse battery staple correct"?

      And, by the way, coming up with all those questions took under a minute. And coding a solution that implements the first couple of options would take (in my estimation) five minutes or so.

      --
      Your ad here. Ask me how!
    80. Re:Or just practicing for an actual job by Frobnicator · · Score: 1

      Would using frameworks make you a cheater? Would copying a very know pattern deem you a cheater? ... If you want to stomp out cheaters, come up with problem domains with very unique and strange processes that wouldn't be found in the wild.

      The class is algorithms and data structures. The entire point is to learn the internals of common structures. The student needs to write and learn about linked lists, not learn how to use a linked list library. The student needs to write and learn about trees, not learn how to use a tree library. Learn about and implement several different sorting algorithms, not how to use a sorting library.

      A student's role is different than a job in industry. A student is attempting to learn the material. They need to learn how the internals work. Many of these algorithms and data structures are used all over inside standard libraries. They are so common that every professional should know them flat-out. For a class about the algorithms and data structures they need to write their own tools. For a class about something else or in the industry they can use a library if they want.

      It is the same reason we teach kids times tables and make them do long division rather than just hand them a calculator in the third grade. When the study is covering mastery of the material and understand how things are manipulated they need to do it by hand. This way the student will actually develop the ability to use the knowledge when they need it.

      --
      //TODO: Think of witty sig statement
    81. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      When I was in school, in several of my 200 level courses, we were purposefully given Internet access and encouraged to use whatever we found. The teacher said it was "open book" but not open neighbor. We were allowed to use any resources other than collaboration with someone. The teachers said that in the real world, we'll have access to many resources and it's more important to be able to look up information than to memorize it.

    82. Re:Or just practicing for an actual job by rtb61 · · Score: 1

      Well, it is the corporate attitude as promoted by main stream media. It is never about who actually does the work, it is all about who publicly claims credit for doing the work and of course the opposite for mistakes. It is not about who makes the mistakes but about how effectively they can blame others for it. It is factually in practice the psychopathic capitalist way. So it is not so much cheating as modern training for the typical modern corporate executive.

      --
      Chaos - everything, everywhere, everywhen
    83. Re:Or just practicing for an actual job by x0ra · · Score: 0

      I'll be busy trying to succeed while you'll be busy trying to stop me succeeding. At the end innovation will still only come from me, and you'll be the jealous parasite.

    84. Re:Or just practicing for an actual job by x0ra · · Score: 1

      Thanks for the compliment. Not only will I survive your nuclear annihilation, and even worst, but I'll feed on you.

    85. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      So you're saying you'd rather laugh with the sinners than cry with the saints, because the sinners are much more fun?

      Did you also know that only the good die young?

      Fuck off, Billy Joel.

    86. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      you'll be the jealous parasite.

      ...said the guy who's busy asserting people's right to plagiarize whatever they want because "if it works for them, it's totally legit."

      Question, Dr. Brainiac - if you get ahead by copying other people's work, how do you propose to get ahead when those people decide to stop letting you copy their work?

    87. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      It would have been an A+ in English if you had used the correct tense "gave" rather than "give".

    88. Re: Or just practicing for an actual job by MarkH · · Score: 1

      Well said. The whole point of education is to build core principals which requires hard work.

    89. Re:Or just practicing for an actual job by x0ra · · Score: 1

      This isn't theft. Theft implies a loss, which does not happen with code. The original author still has his code. At worth, this is copyright infringement, which it might not even be if the original code was either public domain or opensource. Big entertainment have been trying the DRM way to limit it, with the known [lack of] success.

    90. Re:Or just practicing for an actual job by __aaclcg7560 · · Score: 1

      That instructor, despite earning A's on all my papers, gave me a C for the course. That's the highest grade anyone could earn in her class. She was a tough bitch to please.

    91. Re:Or just practicing for an actual job by antdude · · Score: 1

      Did anyone copy your challenge? ;)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    92. Re:Or just practicing for an actual job by MareLooke · · Score: 1

      Pretty much all open source licenses require the copyright notice to be preserved and credit to be given where credit is due. As such people poaching code for school are very unlikely to be adhering to the license. So unless it's public domain it more than likely is at least copyright infringement.

    93. Re:Or just practicing for an actual job by Slashdot+Parent · · Score: 1

      I used the Interwebs and had a choice of 3 or 4 perfectly good functions within about a minute.

      How could you know that they were any good if you hadn't banged your head against the wall a few thousand times back in college when you had to implement from scratch?

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    94. Re:Or just practicing for an actual job by Paradise+Pete · · Score: 1

      That instructor, despite earning A's on all my papers, gave me a C for the course.

      Well obviously she graded on a curve. Thank you ladies and germs, I'll be here all week.

    95. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      > If it's working for them, then it's the right way to behave.

      Have you ever been diagnosed with a personality disorder? There is one which could be summed up pretty much by the sentiment expressed in this sentence. And it's really hard for people with the disorder to see what's wrong with it - it's a mental block as real as not having the muscles to walk - so I'm not looking for an argument. But I am interested to know whether you have received a diagnosis.

    96. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      Choose the correct example, yes. Enhancing an example? If you chose the correct example then there's no need - especially for something as simple as password strength. Creating custom code for something as simple as password strength is the reason so many websites have quite frankly freaky requirements. Maybe you can remember 100+ individual passwords, each with varying capitals, numbers, symbols, and lengths; but the average person is going well to remember an algorithm to create semi-unique ones. And password managers are just a hack to bypass this...

      Production use isn't some magical state that can only be achieved by analysis and reimplementation by a xyz certified developer. Just verify the following:

        - Does it do what I want?

        - Does it do anything I DON'T want?

        - Do I have a legal right to use it?

        - Will it interfere with existing code? (via unit tests or similar if supported in project)

    97. Re:Or just practicing for an actual job by jellomizer · · Score: 1

      Yes it would be.
      However if the point was teaching nested loops and you gave the simple loop answer. You may have gotten points for being clever. However the actual point was about teaching how to use loops.

      An other example is a program to say power a number. This can be done via a loop or really small with recursion.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    98. Re:Or just practicing for an actual job by david_thornley · · Score: 1

      You know, in something like forty years of programming, the last 15 or so mostly in C++, I've needed to create a new data structure once. Aside from that, I've used what was available. Since I have worked on some pretty heavy-duty applications, I'd be interested to know in what field you're likely to want something like a list, but subtly different, or something like an efficiently modifiable priority queue, or something like that.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    99. Re:Or just practicing for an actual job by david_thornley · · Score: 1

      I spell doubly linked lists "std::list". That being said, if you insist I can write the algorithms myself (although I'm not likely to come up with something much better than insertion sort for the sort).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    100. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      I'm only asking how to insert and delete from the list. It's something done on the job. We don't use C++, but we do have a list implementation. But a programmer who can't do the simple stuff makes me certain they'll have trouble with the hard stuff, and likely be bothering me constantly asking beginner questions. This is on an embedded system, you have to do the low level stuff.

    101. Re:Or just practicing for an actual job by frank_adrian314159 · · Score: 1

      So how do I get into embedded systems programming?

      I programmed in assembly back when that was about all you had (IBM BAL, DecSystem-10, PDP-11, CDC 6600, etc. - OK, we had Fortran, too, and I did that, as well). That was when I was getting/after I got my Computer Engineering degree about thirty-five years ago. Then I got into applications development via EDA and since then, I've done applications in banking, finance, health care, system management, and security software.

      So I'm pretty sure I can program embedded systems (I know what a device register is and I'm not afraid to use it). What advice do you have for breaking into the field?

      --
      That is all.
    102. Re:Or just practicing for an actual job by Darinbob · · Score: 1

      Hmm, hard question. I mostly got lucky, with friends recommending me for jobs. When I got my first job at device driver level I had never done it before but did well in the interview, and I knew the concepts. A lot probably due to me edging towards away from applications and towards the lower level guts, saying "I can do that".

      Search for jobs that have keywords like 'ARM', 'PowerPC', 'AVR', 'C', 'Assembler', 'RTOS', 'kernel', 'device driver', 'systems'. Industries it is big in would be medical devices, networking, wireless, automotive, and so forth. It covers a huge range though, from full blown Linux systems with hard drives down to 8 bit devices with a few hundred bytes or RAM.

    103. Re:Or just practicing for an actual job by Anonymous Coward · · Score: 0

      I do hope the school makes this their standard policy.

      Cheating hurts the students who do not, by lowering their relative GPA, and it hurts those who might employ the cheaters in the future.

    104. Re:Or just practicing for an actual job by darkwing_bmf · · Score: 1

      If I were teaching, I'd be happy if my students were clever enough to realize the simpler solution and even happier if they already understood recursion. From a student point of view, I was always more interested if the problems we were given showed a useful application of the lesson instead of the teacher giving a not very well thought out problem and getting mad at us if we solved it a different way than the lesson instructed.

    105. Re:Or just practicing for an actual job by Lumpy · · Score: 1

      True, the real education is out in the real world, not the packaged BS you are given at college.

      --
      Do not look at laser with remaining good eye.
    106. Re:Or just practicing for an actual job by david_thornley · · Score: 1

      OK, I could write that approximately as fast as I can write. I missed the "embedded" in your first post, and that makes a BIG difference.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  9. Affected Student Here by Anonymous Coward · · Score: 2, Funny

    Posting AC for obvious reasons.

    I received one of these emails and will be telling Duke to go fuck itself. I do all of my own assignments and use SourceTree for version control, and can demonstrate the development from scratch of each of my assignments, including handwritten development notes.

    I've also hired a lawyer and we are prepared to sue the school instantly if any attempt is made to accuse me of cheating and defame my good character.

    1. Re:Affected Student Here by Kobun · · Score: 1

      Just saying ... if the relevant professor is reading here, and then you turn around and do what you say you're going to do (and are unique in your meticulous development) the fact that you posted as AC really isn't going to matter. I'm guessing that 2 + 2 will equal 4.

    2. Re:Affected Student Here by Anonymous Coward · · Score: 0

      The point of posting AC is the school doesn't know exactly who cheated and is on a witch hunt. After they've tied him to a burning stake I doubt he'll care if they know whom he is or not.

    3. Re:Affected Student Here by Kobun · · Score: 1

      Answering your post got me thinking about another point of curiosity - the whole Lacrosse thing from a few years ago appeared to me as if Duke has a faculty full of people who think the worst of their students and/or hate them. In this CS incident, if they don't have any actual proof here this would seem to be in keeping with my prior perception. Are witch hunts common at Duke?

    4. Re:Affected Student Here by bobbied · · Score: 1

      So... What are you going to do in the YEARS of time this will take and how are you going to come up with the THOUSANDS of dollars this will cost to "protect your good name?"

      If you really go to Duke.... I suggest that if you cheated in CS 102 you turn yourself in...

      Aside from that, I think you picked the wrong NC school. Stay away from anything blue in that state and pick the red school. (Howl)

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    5. Re:Affected Student Here by jandrese · · Score: 1

      Do you have some reason to believe that you're going to be accused of cheating? Going so far as to already retain a lawyer seems to be jumping the gun a bit. Is there some sort of witch hunt going on there or something?

      --

      I read the internet for the articles.
    6. Re:Affected Student Here by Anonymous Coward · · Score: 0

      I'm sure your "lawyer" offers excellent rates but I doubt they're a bargain, even at that price.

      Some advice: don't make up any "evidence" after the fact. That's obstruction of justice and it's a serious crime.

    7. Re:Affected Student Here by x0ra · · Score: 1

      Rule #1: never talk to the police (or in this case, whatever authority who's gone on a fishing trip)

    8. Re:Affected Student Here by Anonymous Coward · · Score: 0

      This.
      People always like to post all kinds of identifying information while anonymous, thinking they will never be found.
      Oh, I'm a 1st year university student in Boulder colorado, who moved here from phoenix and my parents hired a lawyer yesterday.
      I bet you'll never guess my name.

    9. Re:Affected Student Here by tibit · · Score: 1

      Why do you worry - you didn't cheat. You're not "affected". Don't you understand how a mass mailing works?

      --
      A successful API design takes a mixture of software design and pedagogy.
    10. Re:Affected Student Here by tlhIngan · · Score: 1

      Answering your post got me thinking about another point of curiosity - the whole Lacrosse thing from a few years ago appeared to me as if Duke has a faculty full of people who think the worst of their students and/or hate them. In this CS incident, if they don't have any actual proof here this would seem to be in keeping with my prior perception. Are witch hunts common at Duke?

      Kinda funny since I actually had a class with said CS prof (Owen L. Astrachan). He (this was over 15 years ago) was a visiting prof at our university teaching us... data structures and algorithms. So he's not the idiot prof who's looking for a witch hunt - if you really did cheat, he did know because there are characteristics to look for. And hell, he drilled in the academic policy and expectations at the start of the class so even claiming ignorance isn't an excuse).

      In fact, plagiarism was still detectable even before the days of TurnItIn.

      I'd say there's a good chance the cheaters fell into three camps. First are the insanely obvious ones where it's painfully obvious copying went on, then there are not-so-obvious but clear it was copied, and the borderline cases.

      There are very subtle clues to look for - code styling, commenting and whitespacing generally are what they look for - if you normally comment one way and then copy code, the change in commenting style and comments can be quite revealing. Even white spacing - do you smush everything together (and often get dinged?) or do you space everything out, where you put the braces, etc.,

      Of course, the best way is the one that causes the students most harm. Just make assignments worth barely 10% of the market, the midterm 20%, and the final exam 70%. Cheating doesn't help the last two marks and most students are used to such harsh grading anyways. If you cheat, you likely didn't learn the material, so it's also plainly obvious when your grade and your work don't line up.

      Of course, kinda funny to be reading about your old prof a decade and a half later. I enjoyed that class.

    11. Re:Affected Student Here by DocSavage64109 · · Score: 1

      Seriously. If you wrote your own code, then it will be obvious. Most likely, several of your classmates turned in identical solutions - and they are the ones who need to admit guilt. It's kind of nice that the school is willing to work with these students.

    12. Re:Affected Student Here by Cramer · · Score: 1

      how are you going to come up with the [money]...

      It's spelled mommy and daddy. If ever there were a better example of an excess of privilege and status, I'm not aware of it.

  10. yea no by Charliemopps · · Score: 5, Insightful

    Never, ever, testify against yourself. Even in the case of a college, it's foolish.
    If they know you did it, they know you did it. Leniency? What a joke. If they had the evidence, they wouldn't be offering a deal.
    What's more likely to happen is that you admit it, and in the same email or further interviews you'll confess to other violations that they'll nail you on. Furthermore, in cheating, you are almost guaranteed to have broken state or federal law. By admitting to copying someone else's code you could be confessing to a real crime that could result in time in prison.

    If you doubt this, see the video in my Sig. Never admit to wrong doing to a public official or law enforcement. Assume any email you send will immediately be turned over.

    1. Re:yea no by Translation+Error · · Score: 1

      Even if they're not trying to get you to admit to other violations, if they knew who cheated, they wouldn't ask for people to come forward. Why would they? Because they want to be known for their kinder, gentler handling of cheaters? No, any time the responsible party is 'given the opportunity to come forward' it's because the people making the generous offer don't know who is responsible and figures it's worth a try.

      --
      When someone says, "Any fool can see ..." they're usually exactly right.
    2. Re:yea no by Anonymous Coward · · Score: 0

      Wise words. Their tactic is just FUD.

      With all this theater are only trying to get those dumb enough to hang themselves and at the same time scare future students.

    3. Re:yea no by cerberusss · · Score: 2

      Never, ever, testify against yourself. Even in the case of a college, it's foolish.

      Why am I here professor? Is it because of the assignment? It's all a big misunderstanding. She invited me over to work on the assignment and perhaps I thought too much of it. But she never clearly said "no", so you naturally understand..

      What? No, I didn't copy the answer.

      --
      8 of 13 people found this answer helpful. Did you?
    4. Re:yea no by DigiShaman · · Score: 1

      In other words, it's seppuku. Restoring a shred of honor back at the cost of your life? Fuck no! Just don't cheat to begin with.

      --
      Life is not for the lazy.
    5. Re:yea no by Anonymous Coward · · Score: 0

      Or they want to skip the whole Office of Student Conduct adventure - this is akin to a DA offering someone a plea bargain - confess to a lesser charge or we will take you to court where the penalties could be much worse for you. I've taken a course with Astrachan - he's a great guy and wants his students succeed, but he has better things to do with his time than deal with multiple related academic dishonesty hearings, which probably have to be adjudicated separately for privacy reasons.

    6. Re:yea no by Charliemopps · · Score: 1

      Never, ever, testify against yourself. Even in the case of a college, it's foolish.

      Why am I here professor? Is it because of the assignment? It's all a big misunderstanding. She invited me over to work on the assignment and perhaps I thought too much of it. But she never clearly said "no", so you naturally understand..

      What? No, I didn't copy the answer.

      More like "Where did I get the answers? Oh, I went to this torrent site and downloaded the course files... see? That's a $100,000 software package? I had no idea. Grand theft? FBI agent you say? I thought that was your secretary... What tape recorder?"

    7. Re:yea no by karlandtanya · · Score: 1

      ABSOLUTELY CORRECT!!!
      If you're going to cheat then cheat. If you're going to be honest, then be honest. Mixing the two is a very bad idea.

      Note that their promise of no leniency to those who don't confess is still fulfilled if they also grant no leniency to those who do.

      --
      "Reality is that which, when you stop believing in it, doesn't go away." - Philip K. Dick
    8. Re:yea no by pla · · Score: 1

      First, I agree with almost all of what you said. Never implicate yourself. Ever. Don't lie about it, don't tell the truth about it, don't say anything about it unless compelled to speak by a court (and even then, run every word by your lawyer first). However, before we go all tough-guy with "get a warrant"...


      By admitting to copying someone else's code you could be confessing to a real crime that could result in time in prison.

      Complete and utter bullshit. Plagiarism does not commit a crime, period. Academic violation, yes. Institutional violation, yes. Intellectual violation, yes. Probably a workplace violation in some cases (though typically only if you create content for your employer intended for public consumption). But criminal violation? No, no, no.

      At most, the real author could sue for copyright violation - non-commercial, academic, non-distributed copyright violation. Good luck even finding a lawyer to waste time on that goldmine of a case.

    9. Re:yea no by OverlordQ · · Score: 1

      That works almost nowhere in the real world.

      I know in my field, if you fail to report your neighbor if you know they violated policy, even if you did nothing else, they'll fire you too.

      --
      Your hair look like poop, Bob! - Wanker.
    10. Re:yea no by Charliemopps · · Score: 1

      ABSOLUTELY CORRECT!!!
      If you're going to cheat then cheat. If you're going to be honest, then be honest. Mixing the two is a very bad idea.

      Note that their promise of no leniency to those who don't confess is still fulfilled if they also grant no leniency to those who do.

      Wrong... you should never lie... or tell the truth. You shouldn't talk at all. Even honestly and truthfully asserting your innocence can be used against you in court. Obviously, you shouldn't cheat. But weather you do or not should have no impact on what you say to authorities later... which is nothing.

    11. Re:yea no by hey! · · Score: 2

      The punishment for cheating on CS201 should be having to get through CS330 (Design and Analysis of Algorithms) without cheating. If you can't get through a 200 level data structures without cheating you're going to be roadkill when you face your first dynamic programming problem.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    12. Re:yea no by Charliemopps · · Score: 1

      First, I agree with almost all of what you said. Never implicate yourself. Ever. Don't lie about it, don't tell the truth about it, don't say anything about it unless compelled to speak by a court (and even then, run every word by your lawyer first). However, before we go all tough-guy with "get a warrant"...

      By admitting to copying someone else's code you could be confessing to a real crime that could result in time in prison.

      Complete and utter bullshit. Plagiarism does not commit a crime, period. Academic violation, yes. Institutional violation, yes. Intellectual violation, yes. Probably a workplace violation in some cases (though typically only if you create content for your employer intended for public consumption). But criminal violation? No, no, no.

      At most, the real author could sue for copyright violation - non-commercial, academic, non-distributed copyright violation. Good luck even finding a lawyer to waste time on that goldmine of a case.

      Sorry, it doesn't matter what you think. And I never said it would be a copyright law you broke. You have no idea which laws you could break... none what-so-ever...

      The complexity of modern federal criminal law, codified in several thousand sections of the United States Code and the virtually infinite variety of factual circumstances that might trigger an investigation into a possible violation of the law, make it difficult for anyone to know, in advance, just when a particular set of statements might later appear (to a prosecutor) to be relevant to some such investigation.

      - Stephen Breyer Associate Justice of the Supreme Court of the United States

      Think you're smarter than a Supreme court justice? Do not assume that you know the law better than a prosecutor that's poring over emails after your dean forwarded them on with a note "Hey frank, I hate this kid... screwer him if you can"

      You break federal law, all day, every day. It's just a matter of if authorities want to get you... and if you provide them enough evidence to do so.

    13. Re:yea no by Charliemopps · · Score: 1

      Thats getting fired. That's not prison.

      There are similar laws on the books about reporting crimes however... But they are nearly impossible to prosecute because they need to prove you knew what had happened. Which is inside your own head. The only way they can prove that you knew is by your own statements. Which is why you cannot be forced to testify against yourself unless you volunteer and again, why you should never, ever, talk. You don't have to lie, you don't have to tell the truth. Just keep your mouth shut.

    14. Re:yea no by Anonymous Coward · · Score: 0

      Good sir, where is your sig? I'm an old-time user of /. yet I have never much used my account. I don't know what sigs are in this context.

    15. Re:yea no by pla · · Score: 1

      Think you're smarter than a Supreme court justice?

      Argumentum ad verecundiam. Try again.


      Do not assume that you know the law better than a prosecutor that's poring over emails after your dean forwarded them on with a note "Hey frank, I hate this kid... screwer him if you can"

      The fact that, given "six lines written by the hand of the most honest of men, [you] will find something in them which will hang him" doesn't have any bearing on whether or not plagiarism itself counts as a crime. Which it doesn't.


      I never said it would be a copyright law you broke. You have no idea which laws you could break... none what-so-ever...

      Put up or shut up - Pick an actual law, or cede the point.

    16. Re:yea no by Charliemopps · · Score: 1

      Sorry, you do not know that. You may think you do, but you don't. No one can know. That's the point the justice was making. It's impossible to know if anything you say or do could implicate you in some crime you weren't even aware was illegal.

      Plagiarise the wrong thing and I can guarantee you a prosecutor could find a way to indite you.
      In this case it was actual software code, so that makes it very easy...

      Copyright violators of the DMCA face large fines and imprisonment. A defendant faces a monetary fine up to $500,000, up to five years in jail, or both a fine and jail for a first offense. Repeat offenders may be fined up to $1,000,000, as long as ten years in prison, or both a fine and prison.

      I'm not saying they would use that law against these students. They probobly wouldn't... its stupid. But they could. And you never know when you're part of the next witch hunt or not.

      Watch the video in my sig. The premise behind this is explained, in detail, by both a law professor and a police officer. They can send you to prison for just about anything you do... but they can usually only make it stick with a confession, and usually that confession is made by an idiot that talks when they shouldn't have and confesses to something they did not even know was a crime.

    17. Re:yea no by Uberbah · · Score: 1

      Complete and utter bullshit. Plagiarism does not commit a crime, period. Academic violation, yes. Institutional violation, yes. Intellectual violation, yes. Probably a workplace violation in some cases (though typically only if you create content for your employer intended for public consumption). But criminal violation? No, no, no.

      That's easy enough to get around: all a prosecutor has to do is allege a Terms Of Service violation - like copying said code using the school's internet connection - and threaten you with prison....just ask Aaron Swartz.

    18. Re:yea no by david_thornley · · Score: 1

      Swartz did a lot of things to get in trouble, including entering a wiring closet in an institution he had no tie to and concealing his computer there.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    19. Re:yea no by Uberbah · · Score: 1

      And these students 'did a lot of things to get in trouble', like cheating on a test. WYP? All a prosecutor has to do is allege a TOS violation and threaten the students with prison if they don't cop a plea.

  11. type of assignment by bigdavex · · Score: 4, Insightful

    I'd like to know what type of assignment this was. If it's small and specific, there might be only a few basic working solutions. That is, the similarity stems from being correct.

    If it's a larger project with creative design decisions, then I'm less sympathetic.
     

    --
    -Dave
    1. Re:type of assignment by Tyr07 · · Score: 1

      Watch it turns out to be printing hello world in C and too many people had identical designs :P

    2. Re:type of assignment by Anonymous Coward · · Score: 0

      Check it out: here.

    3. Re:type of assignment by Just+Some+Guy · · Score: 2

      I've told this story before, but... why not. I used to do my homework with my buddy. We would not copy each other's stuff, but we'd bounce ideas around: "hmm, this problem sort of looks like this thing", and "I'm trying to decide between these two data structures". That kind of stuff. You know, actually learning by thinking things through out loud and considering alternatives.

      We had one class with an archetypically CompSci homework assignment, like "simulate a telephone switchboard with M operators, N callers, and X extensions". We each started off with boilerplate like "int operators, callers, extensions", etc., and went from there. When we were finished, we had written the exact same program. I mean, same variables, same functions, same indentation, everything. Probably not surprising given that we'd been doing this for a couple of years by that point, but still.

      Fortunately, we had an awesome professor who knew both of us well. He called us each in separately (without saying why) to ask us how our program worked, why we'd made the design choices, and so on - basically interrogating us to see whether we'd actually done the work ourselves. Then he brought us in together, showed us each other's assignments, and watched us stammer in confused terror before he broke down laughing.

      That could have gone very, very badly. We didn't cheat in any sense of the word, but it definitely would have looked like it to anyone else.

      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:type of assignment by Anonymous Coward · · Score: 0

      I'd like to know what type of assignment this was. If it's small and specific, there might be only a few basic working solutions. That is, the similarity stems from being correct.

      Way back when dinosaurs roamed the Earth and I was a TA on a C course, I once noticed that a student had found an extremely bone-headed way to do a simple exercise. I don't remember anymore what exactly it was, but the function that printed the answer had five parameters of which only two were used.

      I gave it the points that I thought it deserved and continued to the next submission.

      That printed the answer out using a function with five parameters of which only two were used. So I went back to the previous answer and noticed that they were exactly identical.

      Out of pure curiosity, I fired a grep using the function signature in the submission directory. Lo and behold! It found three more remarkably similar submissions, except that one guy had swapped variable names i and j in an effort to prevent me from noticing that it was a copy of the same thing.

      There were probably many others who cheated on that assignment. But because there was only one obvious and a few good ways to do it (it was quite small) there was no point in starting to accuse random students with the obvious answer for plagiarism.

      Moral of the story: if you cheat in a simple assignment, don't copy from the class clown.

    5. Re:type of assignment by tibit · · Score: 1

      This happens about as often as winning millions in lottery. You've been lucky. That's all.

      --
      A successful API design takes a mixture of software design and pedagogy.
    6. Re:type of assignment by Just+Some+Guy · · Score: 1

      Undoubtedly. Side note: yet another reason why it's good to get to know your teachers before you're counting on them to have a good impression of you.

      --
      Dewey, what part of this looks like authorities should be involved?
    7. Re:type of assignment by JWW · · Score: 1

      The thing that gets me most is.

      Don't these students have any idea how diff works??

      If you modify variable names, the diff will gladly show me, line by line, how amazingly similar two programs are. The first step to being caught is using the copy command on the computer and then modifying the program. Unless you really, really mash up the structure of the program diff is going to be enough to bust you on small changes (even to every line in the program).

      You are better off, if you are going to copy a classmates program, to print it out and then manually type it back in.

      This way you can move functions around, modify indents and formatting, change the order of statements where the order isn't terribly important. If you do that, diff won't bust you.

      And the real secret is: I have 29 programs to grade for each assignment, I will only ever really catch cheaters if their programs have identical operations when run (or the same bugs, having identical bugs is a big flashing red light) and when I run them through diff it show me you took no effort AT ALL to obfuscate your copying. If you do this you deserve to be caught and punished because you didn't do the assignment, you just edited some text.

      Note that, yes, I am saying that if you at least read the code with enough understanding to type it back in, you'll still get credit for the assignment. But if you are an extremely lazy cheat, you get caught.

    8. Re:type of assignment by Anonymous Coward · · Score: 0

      At my university, even DISCUSSING your homework with a classmate is 'academic dishonesty'.

    9. Re:type of assignment by bkr1_2k · · Score: 1

      Considering how many employed coders I've met that didn't understand OS commands, shell scripts of any kind, or anything beyond their little realm, I'd say it's pretty common for students not to know how easy it is to tell they cheated.

      --
      "Growing old is inevitable; growing up is optional."
    10. Re:type of assignment by henni16 · · Score: 1

      If it's like the usual weekly assignments I've experienced, it's probably both small and specific AND really obvious cheating, as in copy&pasting without even bothering to change the variable names or removing code that had been commented out by the one who originally wrote it.

      Usually there would also be parts where you had to write stuff - for a data structures and algorithm class there might be formal or informal proofs/discussions of the running time or correctness of the implementation of an algorithm or of some operations on the data structure.

      I still remember that in a first semester CS class about formal logic, set theory etc, our teaching assistant was dressing down unnamed students in class for copying solutions 1:1; it was very obvious to her that several folks had copied their solutions from a very bright student from Russia who at this point hadn't quite mastered the language (German) yet.
      The TA was especially angry that the cheating native speakers couldn't even be bothered to put in enough work to correct the little quirks and mistakes in the Russian student's grammar when they copied her solutions.

    11. Re:type of assignment by russotto · · Score: 1

      Exactly. When everyone's been going through the same curriculum with the same people and is getting the same assignments, you're going to have similar answers. Byte-for-byte identical is probably unusual, but the same down to the variable names probably happens often. Undergraduate classes are treading well-worn ground; it's not surprising many people end up in the same ruts.

    12. Re:type of assignment by Just+Some+Guy · · Score: 1

      At mine, it was specifically allowed. You absolutely weren't allowed to share work unless explicitly told otherwise, but discussing your approach and debating the benefits was considered a legitimate learning method.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:type of assignment by Obfuscant · · Score: 1

      The thing that gets me most is. Don't these students have any idea how diff works??

      No. That kind of stuff isn't part of the coursework anymore. Not even for the graduate level.

      We had a CS grad student working in our lab for a while. He would bring in the qualifying exams and we'd have good discussions about the solutions to the problems they proposed.

      And then he'd ask me "how do I rename a file?"

    14. Re:type of assignment by godrik · · Score: 1

      I am teaching one of these classes right now (but in a different institution). And I can tell you that there is a lot of variability in students submissions even for very simple algorithms. When I accuse a student of cheating (which happens unfortunately quite often), I usually have NO DOUBT that the code was copied from somewhere else.
      You find groups of functions which match exactly code found online and which are written in a style completely different from the rest of the assignment.
      You find functions with variable name different from an online template and that group of function is not indented at all, while the rest of the code is. Soon after you realize that copy pasting from that website screws up formating. No student would write it that way.
      Sometimes you find comments in the code from a language the student does not speak.

      In my opinion, we (whoever teaches computer science) are typically VERY conservative before saying that a code stems from plagiarism.

    15. Re:type of assignment by joss · · Score: 1

      Do you mean, the repeated code, or the cool professor is as likely as winning the lottery ? Either way, its more common than that.

      Same thing happened to me in college, except I didnt even discuss the assignment with him. It was a lisp project and we both decided to do it as purely as possible (which at the time meant no assignments - what today would be called functional style). The end result was about 150 lines of lisp (equivalent to maybe 2k lines of C). Our code was identical except for some identifier names.

      --
      http://rareformnewmedia.com/
    16. Re:type of assignment by tibit · · Score: 1

      I meant the repeated code.

      LISP is different because there's much less leeway if you're doing it "purely". It's uncanny that way. That's also why one can be very productive in LISP - with some experience, you have a much smaller solution space to explore and you don't need to waste time making choices that are very much irrelevant to the functioning of the code.

      --
      A successful API design takes a mixture of software design and pedagogy.
    17. Re:type of assignment by parkinglot777 · · Score: 1

      I'd like to know what type of assignment this was. If it's small and specific, there might be only a few basic working solutions. That is, the similarity stems from being correct.

      Here is the link to the course assignment page -- http://www.cs.duke.edu/courses... -- which should give you an idea how big/small each assignment is...

    18. Re:type of assignment by david_thornley · · Score: 1

      Why should basic Unix commands be part of the coursework? Some things you're just expected to make sure you learn, and there might be workshops available to get it. Personally, I got a book on Unix and learned stuff from that.

      There's also the possibility that your grad student did all his work on another OS or OSes. I have vivid memories of sitting at a keyboard, paralyzed, because the nice simple operation I wanted to do was a different command in each of the four different OSes I'd been using recently.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  12. The Internet Is The Way We All Do It. by DumbSwede · · Score: 1

    Duke seems to be in the wrong here. It is to hard to decide exactly what is research and copying in these cases. This isn't just some answer key that was mailed to some inner circle of conspirators. If Duke worries about how the internet will be used in finding solutions, then they need tougher in class testing procedures to show people have mastered the skill set they say they have or the University wants them to have.

    In a way, using the internet to get the answer is the way it works in IT these days. I routinely get my solutions for problems at work by going to the internet – I don't memorize every command and algorithm. These kids aren't cheating, they're doing it the current/modern way.

    I don't think these kids expected to be involved in The Prisoner's Dilemma, then again, maybe this is some meta-programming test for an optimal solution.

    1. Re:The Internet Is The Way We All Do It. by Anonymous Coward · · Score: 0

      No, because the purpose of the assignment is not to produce functional code in the shortest time (i.e., cheapest labor cost) possible. That would be an objective on the job. The purpose of an assignment is for the students to learn how to write code (or to test if they met the learning objectives for the course). If the students only learn how to copy & paste code from the internets, what will they do when Google says "no results found"? How to they evaluate code they want to reuse to make it does what they want it to do?

      Do I expect my accountants to do all math by hand on the job? No, I expect them to use tools to make their work as efficient as possible. But, I fully expect that they have the skills to do it by hand so that they understand what the tools do.

      We don't hand preschoolers calculators and say "you don't need to learn how to add, just use this". First you learn the basic skills.

    2. Re:The Internet Is The Way We All Do It. by Just+Some+Guy · · Score: 1

      In a way, using the internet to get the answer is the way it works in IT these days.

      Speak for yourself. I don't copy stuff off the Internet because I'm making new things and don't have anyone to copy from. I'd change careers tomorrow if I had a job where copy-and-pasting was the order of the day.

      That's assuming you weren't talking about downloading modules to do routine stuff. Sure, I'll use someone else's HTTP request library instead of rolling my own.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:The Internet Is The Way We All Do It. by pla · · Score: 1

      In a way, using the internet to get the answer is the way it works in IT these days. I routinely get my solutions for problems at work by going to the internet â" I don't memorize every command and algorithm. These kids aren't cheating, they're doing it the current/modern way.

      In third grade, you don't do your math homework by Googling "what is 153/17", because learning how to do it counts as the entire purpose of the exercise.

      The working world cares about results. School doesn't; it cares about the steps you took to get your result.


      It is to hard to decide exactly what is research and copying in these cases.

      Not really, no - Unless they all copied a stock answer right out of their textbook, programming assignments don't involve "research". They require either implementing the algorithm of the week, or solving a toy "problem" that, if you speak English and have a high school diploma in the US, you need to turn in the latter if you need to look up how to approach the problem.

    4. Re:The Internet Is The Way We All Do It. by Anonymous Coward · · Score: 0

      Lmao, so full of shit I can smell it here.

      Using someone else's HTTP is no different than learning shit for an algorithms/data structures course.

    5. Re:The Internet Is The Way We All Do It. by aardvarkjoe · · Score: 1

      These kids aren't cheating, they're doing it the current/modern way.

      This is a data structures and algorithms course, not a "find code snippets using google" course. In a work environment, the purpose of writing a program is to solve some problem by any means necessary. In the environment of this course, the purpose is to learn how these things are implemented.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    6. Re:The Internet Is The Way We All Do It. by Darinbob · · Score: 1

      It may be how IT works these days, but It has been getting dumber and dumber of the decades. I hesitate to even call IT people engineers anymore, they're just code monkeys who know how to recommend Microsoft solutions. We don't need more idiots out there who only know how to copy, because that's not real programming and it only leads to more messes that need to be cleaned up by the smart people.

      The kids ARE cheating, because they are NOT learning. This is a university where they are paying money to be educated. They are not at a stupid tech school advertised on daytime TV designed to get them an entry level job and nothing more. If I see "Duke" on someone's resume then I expect to see someone who's actually educated. If I just wanted a code monkey for intern-level work then I could head down to the local community college for that.

  13. In other words... by Anonymous Coward · · Score: 0

    ...coercing people who may have done nothing wrong into "coming forward", lest we go digging and find that for loop you copied.

    If you teach CS and give out questions that can be trivially answered by a Stackoverflow search, you're doing it wrong. Starting even from data structures, we had open-book open-internet take-home exams – the questions were theory-based, required a mix of plain-english and code, and often involved proofs rather than writing yet another binary tree to be graded by a lazy TA running a computer program that someone wrote ten years ago.

    Duke students: I don't know how much debt you're taking on to go here, but you're getting ripped off. Come to think of it, the faculty is probably just mad that an actual human has to look at these kids' work now.

  14. Dup by Anonymous Coward · · Score: 0

    This was already posted two days ago.

    Oops - that was about India, not the USA. My bad. Here, it's open collaboration in a new era leveraging the vast resources of the Internet, not cheating and corruption by morons unable to think for themselves.

  15. Re:yea no - happened in Middle School by Havokmon · · Score: 4, Interesting
    Same thing happened in my Middle School science class. One kid got a hold of the teachers copy of the final, and a bunch of kids cheated - including twin friends of mine. The administration did the same thing - "Tell us if you cheated, and it'll be ok".

    The brother admitted to it, and was held back. The sister stayed quiet and moved on to high school.

    --
    "I can't give you a brain, so I'll give you a diploma" - The Great Oz (blatently stolen sig)
  16. They probably already know who cheated by Anonymous Coward · · Score: 0

    They probably already know who cheated in that class and are trying to give them a way of avoiding trouble. A whole block of students probably borrowed a whole block of code from somewhere on the 'net and one of the students didn't think to at least read through the comments and notice that, lo and behold, the author's name is in the comments! Then the professors realize that a couple dozen students came up with the exact same solution to the problem using the exact same logic and the exact same variable names that probably follow an unorthodox shema.

    Yeah, that happened in one of my programming classes in college, how did you guess?

  17. Scribd Sucks by Anonymous Coward · · Score: 0

    Anyone got a link to the email that is NOT on scribd? That site is broken in browsers with javascript disabled. Couldn't you have just posted it on pastebin, if it's text-only?

  18. Isn't the real problem professor laziness? by Anonymous Coward · · Score: 0

    Isn't the real problem that the professors just pulled their exam questions from the Internet? If they had made their own test questions and homework, there would not have been any ready-made answers on the Internet.

    It's been more than 20 years since I did my exams, and there were whole folders with several decades worth of test questions and student-prepared answers (from student union members) that you could work through before exams. And often there were quite _similar_ questions (hard to avoid) in the actual exam, but stuff was not just plug-in. More often than not, there was some crucial detail differing making for an entirely different outcome.

    Incidentally, most written exams were "suitcase exams" where you were allowed to bring anything in that you wanted excluding general-purpose computers and communication devices. You would not have had an inkling of a chance if you had spent time searching for particular questions/answers and adapting them to the problem at hand.

    Students were expected to dig up all the old material they could and prepare themselves with it. The new exams/questions/homeworks were intentionally not doable by copy-and-paste from the old stuff.

  19. oh noes code copiers by Anonymous Coward · · Score: 0

    I guess they'll never be able to work in the real world, thanks for the warning there, Professor. Oh...sorry... I guess I got that backwards. Turns out code copiers rule the world.

  20. That's right. by Anonymous Coward · · Score: 0

    And I found out recently that my company demands that they make a minimum 40% profit on me. So, the less I develop, the less profitable I am. If I can't cut it, they either hire someone better for more money or ship overseas.

    Then those developers have to deal with it.

    See, it's a bit of a shitty position. The more money you make, the more profitable you must be. Of course, business wants lower salaries for everyone to boost profits.

    It's turned into a shitty career because of it.

    1. Re: That's right. by Anonymous Coward · · Score: 0

      I regularly evaluate program proposals and would like to let you know that 40% is a LOSS of ~10%. You have a computer, work in a building with utilities, attend training, have health insurance, etc. Those cost a MINIMUM of 50% (and probably closer to 100%). Your idea that the company should spend money on housing and feeding someone who contributed little value is misaligned.

    2. Re: That's right. by tehcyder · · Score: 1

      I regularly evaluate program proposals and would like to let you know that 40% is a LOSS of ~10%. You have a computer, work in a building with utilities, attend training, have health insurance, etc. Those cost a MINIMUM of 50% (and probably closer to 100%). Your idea that the company should spend money on housing and feeding someone who contributed little value is misaligned.

      The rule of thumb with charging out professionals is that 1/3 of their charge out rate is salary/benefits, 1/3 is overheads and 1/3 is profit.

      I would guess that the OP's 40% is the profit on top of his salary and associated overheads.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  21. Sounds familiar by necro81 · · Score: 1

    reminds me of a similar situation that came up in an introductory CS course at Dartmouth years ago. A bunch of students, possibly abetted by the TAs, ended up with the exact same code for some problem or other. The professor (a visiting professor, if that makes any difference) went ballistic and reported every student, intent on getting all of them suspended or expelled.

    In the end, the charges were dropped. It would have been a very difficult situation to adjudicate - the behavior of the students, TAs, and professor was bad all around, and some might say that it all cancelled out. Some definitely were cheating (i.e., malicious intent), and others just got caught up in stupid behavior (i.e., ignorant), and it would have been difficult to separate the two.

  22. Ok, I am naive, but... by bradley13 · · Score: 1

    ...as a student, and now as a teacher, I just don't get it. Why would you cheat?

    I see students do this, and sometimes they do manage to weasel through lower level courses, if the instructors weren't paying attention. So they fail out of the program when they hit higher level courses, because they don't understand the basics. They've wasted maybe two years of their lives, plus a lot of money. If they cannot solve the exercises, if they cannot pass the early courses, there is just no point to dragging it out.

    Ok, ok, I hear the excuses already: "I just didn't have time", "I was hung over", "my dog's pet goldfish died", whatever...

    If they cannot understand the material well enough to do the assignments (or, perhaps, school just isn't their priority), they are in the wrong place. Everyone makes mistakes, and some people just pick the wrong major. Everyone - most especially the student - is better off if they realize this quickly and move on to something that they can actually succeed at.

    --
    Enjoy life! This is not a dress rehearsal.
    1. Re:Ok, I am naive, but... by netsavior · · Score: 2

      ...as a student, and now as a teacher, I just don't get it. Why would you cheat?

      because as a society we value credentials, we do not value education.

    2. Re:Ok, I am naive, but... by ErichTheRed · · Score: 1

      The other problem is that cheaters usually just get an F for the course if they get caught and can continue after retaking it.

      Institutions only have so much power. When I was in school, my grades were all over the map, some As, lots of Bs, some Cs. One of the things I realized pretty early on was that as long as I can keep my GPA high enough, there wasn't really much worry about what actual grade I got in the course...so I focused on learning the material thoroughly rather than trying to ace the exams. Most entry level jobs don't care or ask about your college grades. The only times they matter are:
      - If you want to go to professional school (law, medical, dental, MBA)
      - If you want to go into academia
      - If you want to be an investment banker or management consultant

      Other than that, students would get a lot more out of school if they focused on learning rather than tests.

    3. Re:Ok, I am naive, but... by joss · · Score: 1

      When I did a CS degree I cheated hard through first year.

      1. I was young and lazy, my main goal was to maximize time I could spend in the pub.
      2. There's no point doing something if someone else has already done it

      --
      http://rareformnewmedia.com/
    4. Re:Ok, I am naive, but... by Gramie2 · · Score: 1

      I remember how delighted I was to learn data structures and algorithms, after 15 years of being a self-taught hobbyist. Tree traversal? Quicksort? Recursion? Quadtrees? I was fascinated and excited to understand how those things worked. I don't remember ever being resentful of long days and late nights. I even had to get the department head's permission to take more CS courses in one semester than they normally allowed.

      Of course, I was a mature student, studying CS in my 30s after graduating in chemical engineering (where the only computer course we had was FORTRAN) and spending a decade in the workforce. So motivation was different for me.

    5. Re:Ok, I am naive, but... by Anonymous Coward · · Score: 0

      I went into computer engineering because I really enjoy the material, and I had a lot of fun figuring out and completing the work. A number of the other students went into computer engineering because the DotCom craze was just reaching the height of its craziness and they saw easy money.

    6. Re:Ok, I am naive, but... by tibit · · Score: 1

      There's no point doing something if someone else has already done it

      Most programming is adapting the well-known data structures and algorithms to various less-or-more-boring real life problems. Even if you're working on a completely breakthrough project, like the ESA's Rosetta just-landed-on-the-comet mission, most of the implementation's code is like any other spacecraft code, done dozens if not hundreds of times before.

      Yet, proficiency at all the low-level "drudgery" is what differentiates a professional from someone who just pretends and sneaks their way around. It's as if you were a pianist who can only play their own compositions but can't play any of the classical staples.

      --
      A successful API design takes a mixture of software design and pedagogy.
    7. Re:Ok, I am naive, but... by Anonymous Coward · · Score: 0

      I worked two jobs while studying my way through a state school. There were a couple of times where I literally did not have the time to do the homework. Not if I wanted to eat that week, that is. I knew the subject matter and aced the exams legitimately, but I "borrowed" someone else's work so that I could use the time to earn rent money. I'm not proud of that, but I've built the rest of my career on busting my ass to learn new things and mentoring others.

      But if you're cheating to play more Team Fortress, I don't have a lot of sympathy.

    8. Re:Ok, I am naive, but... by joss · · Score: 1

      Sure, I know. Few things are truly novel and one has to be able to do all of it, including the grunt work. It's just that there's no point doing something original when its faster to copy, so one copies up to the point where either nobody has done it before or its just easier to reinvent it oneself than find and incorporate somebody else's solution I just took that attitude a little earlier than I was supposed to. I wasn't trying to be clever, I just wasn't ready to start working hard at the time.

      --
      http://rareformnewmedia.com/
    9. Re:Ok, I am naive, but... by Livius · · Score: 1

      If you need the education, you are merely short-changing yourself.

      But if you need the diploma to get a job interview, and the education has no relevance to the job except for the interview, then the situation is different.

      One of many ways in which high unemployment is dysfunctional for society.

    10. Re:Ok, I am naive, but... by Pyrion · · Score: 1

      The simple answer is that they're not paying for their education.

      Incidentally, this lines up quite neatly with why it seems like the big cheating scandals tend to hit the four-year mainline universities versus, say, community colleges and trade schools. Rich kids with more money than sense don't go to those.

      --
      "There is much pleasure to be gained from useless knowledge." - Bertrand Russell.
    11. Re:Ok, I am naive, but... by Anonymous Coward · · Score: 0

      ...as a student, and now as a teacher, I just don't get it. Why would you cheat?

      I would think it depends on whether or not the class is required for your degree, or required by the university's accountants. When I went to a major university in the 80's on a CS major, I was required to take such classes as Calculus, Chemistry, Botany, and numerous "social" sciences too mind-numbing to remember. I have NEVER used ANY of this knowledge in the last thirty years of my career and have thus forgotten 98% of it. I feel these class requirements were added by the university to pad a two year curriculum out to four years in order to suck extra tuition out of people.

    12. Re:Ok, I am naive, but... by Anonymous Coward · · Score: 0

      Wow, you must be a very boring person lacking any intellectual curiosity if you found Calculus, Chemistry, and Botany boring.
      Sucks to be you bro.

  23. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    It's a terrible thing they're teaching to kids. Honesty after dishonesty -> punishment. Dishonesty after dishonesty -> success.
    I guess it's just education for the real world.
    Good guys don't succeed.

  24. Colleges encourage this themselves by cerberusss · · Score: 1

    I've seen this at my college as well. CS students graduated without actually having programmed.

    Colleges actually encourage this with their way of teaching:
    - Massive classes without any real contact with teachers
    - Weird focus on working in project groups

    Doing everything as a project with small assignments often has one student both leading and finishing the assignment. Other students then get demotivated.

    The obvious solution is to do like companies do. Companies like Toptal vet their applications via Codility. They'll do a Skype session and have you finish a couple of small assignments.

    Obviously, this isn't always applicable. But when students hand in their assignment on, say, networking, then the teacher could ask each student for a very minor change in the assignment. And see how he's doing.

    --
    8 of 13 people found this answer helpful. Did you?
    1. Re:Colleges encourage this themselves by tompaulco · · Score: 1

      As a hiring manager, I don't expect a CS student to have been taught programming. I expect them to have been taught Computer Science. They may have learned some programming along the way. A programming language may have been taught to them as a tool to further study Computer Science. A CS major who knows how to program is basically a bonus as far as I am concerned. HR always wants "CS or similar degree" (or God help us, MIS) for Programming positions, but that is like going to a fish restaurant and hunting around for a good steak. There might be a good steak, but it should really be the place to go when you want fish.
      Even Computer Engineering is not really there to crank out coders. However, a Computer Engineer who can code is probably going to turn out to be a very good find. A Computer Engineer is probably going to be more likely to be able to code than a CS major. If you absolutely want someone who can code and don't care about growth potential, then hire from the trade schools. Or India.

      --
      If you are not allowed to question your government then the government has answered your question.
    2. Re:Colleges encourage this themselves by Anonymous Coward · · Score: 0

      If you absolutely want someone who can't code and copies stuff of the web, will work for slave wages and doesn't care about growth potential, then hire from India.

      FTFY, HAND

  25. Lose the deadline by Anonymous Coward · · Score: 0

    Kick them out now. They've had at least 13 years to learn that cheating in school is wrong, and at least 18 years to learn that cheating in general is wrong. They may not know that reusing code from the net is cheating, but I doubt they're talking about that.

  26. If you have to cheat in CS201 by Anonymous Coward · · Score: 0

    then what are you doing in a CS curriculum? That's like an art student turning in a paint-by-numbers picture. Computer science requires skill, knowledge and creativity. Cheating that early means you lack at least two of those and won't improve either.

  27. This is the way we sue the school by Anonymous Coward · · Score: 0

    sue the school, sue the school...

    "I think that we—computer science and Duke—could have handled this a little better than we have," said Owen Astrachan, co-director of undergraduate studies and professor of the practice of computer science. "When mass emails result in a Yik Yak storm, something's not right."

    1. Re:This is the way we sue the school by Anonymous Coward · · Score: 0

      Sounds to me like the professor who made the not-so-wise determination to mass email all students to turn themselves in "or else" was just as guilty of lazy corner-cutting that he's accusing all of his/her $$$$ paying customers...err... students... of being.

      I think the only disciplinary action we'll see out of this is a termination and a job posting. To me it sounds like an overbearing out of touch professor who "TOLD YOU" numerous times that you could not include code from the interwebs. Gawdamnit you have to write everything from scratch, like we did in Woz's garage .... what?... WHATEVER!... STEVE'S GARAGE THEN.

    2. Re:This is the way we sue the school by SecurityGuy · · Score: 1

      Actually, one of the things I value about my degrees is that students who have them actually had to earn them. They're not just paper, they represent something real. In my graduate work, we heard on a number of occasions of students who were caught cheating. Some came to light after graduation. I many cases, they rescinded the degree. If you're a Duke student and think you won't get smacked down for this sort of thing, you're wrong. It's the very same reason I'm ticked off at UNC. They demonstrated they're willing to give degrees to anyone who is good at sports.

      Duke has nothing to fear from a lawsuit unless they tag someone who didn't actually cheat. If you turned in something that's byte-for-byte identical to something off the interwebz, you deserve, at a minimum, to fail the class.

  28. Who doesn't copy code? by crmanriq · · Score: 1

    I've been programming/copying code since 1988.

    I started with example code from, jeez, Turbo Pascal 4.0. Find an example. Modify it to fit my needs. I got to learn C on the job about two years later. I had some Microsoft C reference book. Lots of programming examples. Then x86 Assembler. By then I was lifting code out of one section of the project I was working on, and putting it somewhere else.

    Then Unix kernel work on a trusted system. "Oh, look. That same privilege-checking routine is used in about a zillion places throughout the kernel. Why do I need to write something new and different, when we already have a routine that works? Oh yeah, I don't."

    Somewhere along the way, Google became a thing. It made coding easier because you could simply search for what you were trying to accomplish. Chances are someone has done something similar. (Thanks guy who wrote FullDuplexSerial, and SPI interface routines for the Parallax Propeller...)

    I'm not certain why Duke wants to punish these guys. They are figuring out how to get things done in a timely manner without reinventing the wheel over and over again.

    --
    If it's worth doing, it's worth doing for money.
    1. Re:Who doesn't copy code? by Anonymous Coward · · Score: 0

      It's CS201 (Computer Science 201) not GS101 (Google Search 101). The students are expected to show their ability to create code, not copy it.

    2. Re:Who doesn't copy code? by Anonymous Coward · · Score: 0

      and if your assignment is so simple a google search will get you the codeset, the professor isn't trying hard enough with problem generation.

      parse some data, throw something unique in the mix, don't just throw Tower of Hanoi search number 37 in the mix.

    3. Re:Who doesn't copy code? by Anonymous Coward · · Score: 0

      So it's OK to cheat if you can? Why should the professor have to change the problem to force you to work on your own solution? You could just not cheat.

    4. Re:Who doesn't copy code? by Anonymous Coward · · Score: 0

      Creating code is just rote memorization with sufficient time to forget attribution. Every program you've ever written is plagiarism/derivative works from your: professors, their previous students(who they will borrow code from to improve the course if they see something they like), your textbook's authors, your stack-overflow searches(where you commit'ed the solution to memory and then renamed variables and restructured the code before doing the tedious process of data re-entry in your word processor), etc.

      Complaining about copy paste is just bigotry against people with worse short term memory and slower/more error-prone typing speed. I'm perfectly capable of doing algebra in my head without writing down my work as well as I'm capable of re-writing syntax from scratch with the benefit of a pre-compiler. If you never refer to reference literature while coding then you are highly specialized. Alt+Tab-ing between the API and your IDE of choice vs. data entry character by charact or word by word or line by line are all various degress of the same idea. Using a mental clipboard does not legitimize pasting code regardless of the time elapsed between when it was copied and when it was pasted. That's because it was never illegitimate in any form in the first place.

      5 different ways of writing the same version of hello world could potentially create the exact same binary output depending on compiler optimization. The comments are the intellectual property as far as I'm concerned. Not the source code or variable names.

      Software is algorithms with words as symbolic representations. You can call a function f(x) or printf() but at the end of the day: it's math. Calling it y instead of f(x) doesn't change the idea, or suddenly make it subject to IP law no matter how much software patent lawyers or the copyright lobby stomp their feet and huff. The current state of law on this subject is incorrect IMHO in the same way that drug prohibition is bad law IMHO.

      Am I plagiarizing Romeo and Juliet right now because I've communicated the same idea as William S. less efficiently? "A rose by any other name still smells as sweet." = Paraphrase because I don't want to alt+tab and google it? The world has changed. Memorizing lines from plays may have given people the ability to sound smart in 1970 but it's the age of the internet and externalized memory. "Rose name smell sweet" in google is even more efficient than William S.'s version from a word count perspective and it's a loss-less compression if you think of "Pagerank" as a giant hash table.

      If a deer can get more electrolytes for the same effort by hangout out at a salt lick, don't blame the deer for doing what deer do. Traditionalists want us to be afraid of the salt because there might be a hunter. The same argument can be made about farming being an elaborate conspiracy by the ancestors of today's Goldman Sachs executives. ITS A TRAP! BE AFRAID!

  29. Plagarize smart by Anonymous Coward · · Score: 0

    Everyone looks at code done by others. You're a moron or don't value your free time if you don't. the key is to not directly copy/paste. Change variables, how loops work, etc. Change enough to where it's not completely obvious. Then you'll be prepared for the real world.

    1. Re:Plagarize smart by joss · · Score: 1

      The last program I had to write in first year CS was a plagarism detector. Surprisingly easy.. just do a frequency analysis on keywords and that will get you 90% of the way there. So, I actually did this assignment unlike all the others that I had cheated on...

      --
      http://rareformnewmedia.com/
    2. Re:Plagarize smart by tompaulco · · Score: 1

      Everyone looks at code done by others. You're a moron or don't value your free time if you don't. the key is to not directly copy/paste. Change variables, how loops work, etc. Change enough to where it's not completely obvious. Then you'll be prepared for the real world.

      Nope, then you'll be prepared to fake your way into an entry level job and won't be promoted because you can only do stuff that someone has done before.

      --
      If you are not allowed to question your government then the government has answered your question.
  30. Is the problem code reuse or question reuse? by Anonymous Coward · · Score: 0

    "Students submitting solutions that so closely match solutions from other students ... [that] are deemed identical or the result of slight modifications to hide a common origin"

    Stop using the same effing problems term after term after term! How many effing ways are there to do a merge-sort or to implement a minimum spanning tree?

    1. Re:Is the problem code reuse or question reuse? by tibit · · Score: 1

      How many effing ways are there to do a merge-sort or to implement a minimum spanning tree?

      Very, very many. The same as if you have asked 20 authors to write a chapter describing those algorithms, they'd never be word-for-word identical.

      --
      A successful API design takes a mixture of software design and pedagogy.
    2. Re:Is the problem code reuse or question reuse? by russotto · · Score: 1

      Very, very many. The same as if you have asked 20 authors to write a chapter describing those algorithms, they'd never be word-for-word identical.

      Prose is a lot less constrained than code. Nevertheless, I've written posts on FIDONET which were almost word-for-word identical with someone else's, and there's no way there was any copying going on because the posts crossed in the network. And it happened more than once. Sometimes two people just have similar styles and ways of looking at things. This is far more likely to happen with code than prose, and far more likely to happen with students in the same class than strangers on the net.

  31. Because Academic Integrity is Instinctual by meustrus · · Score: 1

    [T]here is a fine line between collaboration and cheating in computer science

    No Mercy

    All introductory CS students are born with an intuitive and always-correct understanding of when they cross the "fine line"! They have all been subject to rigorous academic standards for plagiarism, right? So they all know exactly what is expected of them on day 1 of their life in college!

    --
    I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
  32. Is it cheating? In CS classes, yes it is by ErichTheRed · · Score: 4, Insightful

    The problem isn't necessarily that code was copied directly from the Internet, it was that it was passed off as the students' own work. Coding assignments can only be done so many ways in lower-level CS classes, where the problems have to be small enough to be easily testable. The problem I see is that allowing it encourages the practice among CS grads in later life.

    I work in systems integration, and I can't tell you the number of times I've seen crap software, even software from vendors, that is horribly inefficient. I think a lot of that software has a fair amount of copy-paste code in it simply because the goal was to get something that compiled and sort of worked.

    That brings up another very important point -- the level of abstraction has gotten so high in software development that it's very hard to see what's actually going on behind the scenes. If you're calling some massive database access library to do your data entry from a web form, you really can't tell how bad the SQL that your particular function uses is for the database. (I've seen packaged applications that will tie up the CPU of a server for 30 or more seconds just to make a database change.) If students don't learn at least some of the fundamentals in CS classes, who will design the next generation of lower-level stuff? Code reuse and libraries are good, but you need to know what's appropriate to use. So if you don't have a good grasp of algorithms, data structures, etc., how will you even know whether you're solving a problem correctly?

    Same thing goes for my field -- systems admin/integration. If you don't know at least the basics of how TCP works, a few of the application protocols and something about how your OS manages resources, it becomes very hard to troubleshoot anything to any degree.

    1. Re:Is it cheating? In CS classes, yes it is by Anonymous Coward · · Score: 0

      "Coding assignments can only be done so many ways in lower-level CS classes, where the problems have to be small enough to be easily testable. "

      You'd be surprised. I teach a CS1 course (first course for majors). When compared for similarity using MOSS (http://theory.stanford.edu/~aiken/moss/) in a course with 300 students there will be 90,000 pair-wise comparisons and after the first few (the cheaters) the similarity drops dramatically to about 25% when programs get to be 100 lines long. (By the way, a significant amount of time is spent coming up with 11 unique assignments every semester.)

    2. Re:Is it cheating? In CS classes, yes it is by Just+Some+Guy · · Score: 1

      The problem isn't necessarily that code was copied directly from the Internet

      It might be as simple as that. If the syllabus said "do your own work" and they didn't, then it's cheating. If your calc teacher says "I expect you to do the arithmetic by hand" and you use a calculator, then you're cheating. A classroom is a tiny little environment with its own rules, and violating those rules (even if they seem silly or outdated by those who don't understand them) isn't generally tolerated well.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:Is it cheating? In CS classes, yes it is by Anonymous Coward · · Score: 0

      Posting anon for obvious reasons.

      it was that it was passed off as the students' own work.

      This is the key factor here. Yes they missed out on some learning but if it were about that cheaters would be given a 0 for the assignment and everyone would move on. It's also about ethics and understanding how "borrowing" someone else's code can have more impacts than you might expect.

      A story, a true one, as it happens. At my work at a defense contractor there was a guy fresh out of college that everyone thought was a wunderkind. He produced slick results in record time and came up with really creative ways to fix things. So happens he got assigned to work on a different project one day so I took over finishing and maintaining his old one. Someone came to me with a question about an error they hit and it didn't sound like the kind of error we would write in house so I threw it in Google. Up comes an OSS project. With a sinking feeling I realize that the OSS project makes up one of the central frameworks of the software. This gets me wondering and I look at some of the other frameworks and lo and behold every one of them is taken from one open source project or another. Five or six projects in total, comprising about 3/4 of the code in the software he developed. Some of the projects are GPL, some are MIT, none of them could possibly be used for this contract. The nail in the coffin was the copyright header that was added to each and every file (often as not replacing an existing one that the open source project had in place) complete with his name, ID, and our company name attached to it.

      End result. One developer fired for ethical violations. One contract deadline completely destroyed. One piece of SW that had to be completely rewritten (in even less time than he was able to write it cribbing open source for half the functionality).

    4. Re:Is it cheating? In CS classes, yes it is by Anonymous Coward · · Score: 0

      Having taught several CS courses (including CS1), I concur. Some similarity naturally occurs (and an instructor should have a good feel for how much), but there is still a lot of diversity in answers so cheating usually sticks out pretty clearly.

  33. Preschooler You Are In Violation! by DumbSwede · · Score: 1

    And if a preschooler uses a calculator at home, we don't threaten them and tell them to turn themselves in.

    You can't control how assignments are done outside of class, you have to adapt your testing regimen for the modern age.

  34. Beware innocents being "convicted" by colleges... by Anonymous Coward · · Score: 1

    Even if you're innocent, many a time I've seen folks who could not have cheated, folks who were taking the class not even for an elective but simply because they wanted to learn, folks who were out of town (in the days of 300 baud modems and 30lb "laptops", who could not physically have cheated, who had no incentive or motivation to cheat, be "convicted" of cheating merely because their work looked "similar" to somebody else's. (Aka convergent evolution or convergent design. The pigeonhole principle. There's only so many ways to solve the problem. Somebody loses.)

    Usually the deal was to accept a forced fail in the class or get kicked out of school. And I've seen kids kicked out who tried to fight it!

    Seriously, keep quiet and GET A LAWYER!!! Publicity doesn't help. Forget the media. Forget how unfair it is. GET A LAWYER! Lawyers help! A letter from a lawyer may cost you $50 or $100 and that may be all it takes to get things resolved favorably to you. GET A LAWYER!!! You're paying a lot of money for your education. If you're being treated unfairly, ripped off, robbed. GET A LAWYER!!! Watch how fast school administrators backpedal when it's their ass on the line!

    You think I'm joking? I've seen it firsthand, and done it myself. I practically blackmailed my dean back in college to let a friend off academic suspension early. Could I have done what I was threatening? Probably not, but he didn't know that and he certainly wasn't going to risk his career when he had a safer way forward. (Dean raised the academic goalposts for my friend. I had her take, and ace, a set of very easy loafing classes. That was the last we ever heard from him.)

    You can win this. GET A LAWYER!!!

  35. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    It's a terrible thing they're teaching to kids. Honesty after dishonesty -> punishment. Dishonesty after dishonesty -> success. I guess it's just education for the real world. Good guys don't succeed.

    The ones who didn't admit to it and didn't get caught will eventually pay a bigger price. Some people call it Karma, I just call it how things work. The more you cheat in school, the less and less you are prepared for later course work. You will either have to work hard to catch up, or your cheating ways will have to become more and more risky. Most will get caught in school if their habit is to cheat. For those who are able to make it though, cheating will be caught when it is even more destructive, when you have a job and a family to feed and they have to layoff somebody. Guess who hits the street first? The under performer...

    If you make it though life w/o being caught, you where either better at politics and didn't do the technical stuff anyway, and/or there will be literally hell to pay.

  36. Reverse engineering by stud9920 · · Score: 1

    Sometimes, the assignment is only semi clear to begin with. Also, one can try and try and not find a solution. At that stage it's very tempting to just look up how other people did it. Without looking at the code, this allows to see what the expected results are for a number of inputs. This is not even copying yet, at least from a coding point of view. Even with looking at the code, if that's what's needed to find what's wrong with your code, what's the deal? Where is the line? Copy paste ? Copy paste with variable renaming ? Ask a buddy to analyze, then design based on his analysis? Assume both roles on your own? Kill self after seeing someone's code ?

    1. Re:Reverse engineering by crmanriq · · Score: 1

      Yep. If I can see farther than others, it's only because I stand on the shoulders of hobbits.

      --
      If it's worth doing, it's worth doing for money.
  37. Re:yea no - happened in Middle School by serviscope_minor · · Score: 4, Funny

    The brother admitted to it, and was held back. The sister stayed quiet and moved on to high school.

    That's school working as it should: it taught th brother a very, very valuable lesson he'll never forget. The point of school is learning things, right?

    --
    SJW n. One who posts facts.
  38. Also how much similarity triggers things by Sycraft-fu · · Score: 1

    There are only so many ways someone is likely to design some functions, particularly if the class demands particular formatting. So if having one function that is very similar or the same triggers it, then it is rather bullshit.

    I could see this too. Where I work professors are extremely lazy and grade via script. They don't read the programs students hand in because that would be "too much work", never mind that in the arts and humanities professors have to read papers all the time. Then they usually use some kind of automated cheat checker program. Well, said checkers aren't something that just makes sure files are bit identical. They allow for various fudge factor. That means they can match even on things that aren't actually copies of eachother.

  39. "News" by Anonymous Coward · · Score: 0

    Really?

  40. Re:yea no - happened in Middle School by MMC+Monster · · Score: 1

    I was in an AP Calculus course in high school taught by my school principal. The day after parent-teacher conference, he mentioned that he told a mother that her son was caught cheating in a class and was essentially getting a slap on the wrist (this was a couple decades ago).

    The teacher then gave us an anonymous ballot. He wanted to know how many of us cheated on a test or homework assignment in the last year (this was pre-WWW so cheating at home was basically collaborating on homework with others in the same class).

    Every single one of us said we did.

    FYI: 25 years later I'm doing fine at work and home and sleep soundly at night with the sleep of the just.

    --
    Help! I'm a slashdot refugee.
  41. Honor by QuietLagoon · · Score: 1
    The Honor System at my college has this as its motto:

    .
    The measure of a man’s real character is what he would do if he knew he would never be found out.
    Thomas Babington Macaulay, English historian, author, and statesman.

  42. How is Duke's Lacrosse Team now? by random+coward · · Score: 2

    Duke is getting a reputation for raping students. Why would anyone go there or allow their children to?

    1. Re:How is Duke's Lacrosse Team now? by Anonymous Coward · · Score: 0

      What the fuck are you talking about?

      http://en.wikipedia.org/wiki/Duke_lacrosse_case

    2. Re:How is Duke's Lacrosse Team now? by random+coward · · Score: 1

      If you had actually read what you linked you would see how Duke raped the innocent lacrosse players. Read your link, and specifically the Gang of 88 faculty.

  43. So many variables... by __aaclcg7560 · · Score: 1

    When I took a class in data structures, the instructor anonymously took two students to task for having identical code except for one slight variation. One student used the x variable, other student used the y variable.

    1. Re:So many variables... by crmanriq · · Score: 1

      Idiots. They should have used i and j.
      Or better yet, give self-documenting variable names so as to create legible code.

      --
      If it's worth doing, it's worth doing for money.
    2. Re:So many variables... by Anonymous Coward · · Score: 0

      for (loops_ten_times = 0;loops_ten_times++;loops_ten_times10)
      {
          print("Are you happy now???");
      }

    3. Re:So many variables... by Anonymous Coward · · Score: 0

      You call your loop counter something like loopCounter instead of i?

      Die in a fire.

    4. Re:So many variables... by __aaclcg7560 · · Score: 1

      Or better yet, give self-documenting variable names so as to create legible code.

      That's what got them in trouble. They put their name on the assignment and turned it in. If they haven't, the instructor would have been clueless.

  44. i feel bad for the parents by funkymonkjay · · Score: 1

    who are spending gobs of money on these ass hats.

    these guys are also the ones showing up at interviews and not able to answer simple questions like "what's the difference between a linked list and an array?".

    1. Re:i feel bad for the parents by x0ra · · Score: 1

      Who gives a shit ? I once got an interview to port an OS on an embedded device. I pretty much knew jack shit about the terms the company was describing / asking me questions about, but I was capable of giving a description of the whole system. Said otherwise, my theory sucked, but my practice rocked. At the end, I got the internship (but didn't choose it; the pay sucked). You can know by heart the difference between a linked list and an array, but you can still be the worst programmer ever.

    2. Re:i feel bad for the parents by funkymonkjay · · Score: 1

      I for one gives much shit as it could lead to my ass getting that 2am sev1 call. And it's because some jackass used an array and when there are billion inserts being done, leading to resizing delays.

    3. Re:i feel bad for the parents by x0ra · · Score: 1

      You're not getting my point. If you need to write your own list implementation, you're not doing your job right. Use existing API. And that's gonna me my answer if that is the question during the next interview: "While I know the difference, this subject don't matter. If your company is worrying about efficiency of a list algorithm, you're most likely doing something wrong. You are not looking for me to write a list API, you're looking for me to write much higher level code. If the environment you are using don't provide a list API, you are in trouble."

    4. Re:i feel bad for the parents by Chelloveck · · Score: 1

      "You are not looking for me to write a list API, you're looking for me to write much higher level code. If the environment you are using don't provide a list API, you are in trouble."

      Speaking as someone who often poses that sort of question in an interview, yes, I know. I sometimes even preface that portion with, "I know that no one should ever again have to write their own implementation of this, but..." No, in the job you're not going to be asked to write elementary data structure code. It's just a tractable problem which can be done in the amount of time available, and makes a good starting point from which to discuss code complexity, time/space tradeoffs, and similar subjects which you *will* need to know in order to do this job.

      And you would be amazed at the number of candidates who can't manage even the simple stuff. No, I don't need someone who can write yet another linked-list traversal. I need someone who can do much more difficult things! If they can't even do the sophomore-level stuff then there's no need for either of us to waste any more time. (Seriously, I've been to on-campus career fairs where by the end of the day I just want to tell people, "Pick a programming language. Any language. Write 'Hello, world'." Because I've come across a number of soon-to-graduate CS majors who couldn't even do *that*. I am not exaggerating.)

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
  45. Just a different kind of Test by redelm · · Score: 1

    Mercy, from a bureaucracy? Please don't make me laugh so hard. As others have said, if they had evidence, they'd use it. Here, they are entrapping confessions with [false] inducement.

    But really, all educational institutions have moved from education more towards filtering/certification (why else all the accreditation?) In this mode, success however gained _should_be_ rewarded. If some rat can weasel out marks, why won't s/he weasel out IRL?

  46. I didn't solve the Towers of Hanoi problem in CS by zerofoo · · Score: 1

    I merely implemented the solution in software. Is that cheating?

    Yeah, I wrote the recursive algorithm in Pascal, but I didn't "invent" the solution. Somebody a long time ago did that.

    Unless you are doing PHD level research into something no one else has done, most undergrad work is a rehash of something someone else already figured out.

    The point is to learn the material - how you learn it is irrelevant. Presumably, college professors have a way to measure your knowledge before giving you a grade - I think that is called a.......test.

  47. Re:yea no - happened in Middle School by Chas · · Score: 1

    That hasn't been the point of school in years.

    Most of the learning, people get out of the way in the first few minutes of class.

    The rest of the time, school is a kiddie jail with socialization programs and a rowdy inmate population.

    --


    Chas - The one, the only.
    THANK GOD!!!
  48. time pressure, disdain for system by peter303 · · Score: 2

    The goal is to get the degree, not learn things.

  49. Incorrect headline by Anonymous Coward · · Score: 0

    "Duke Nukem: No Mercy For CS 201 Cheaters Who Don't Turn Selves In By Wednesday"

    There, fixed the headline for you. Now *that* is an ultimatum that people would seriously fear!

  50. It's imperative to have this kind of rules by Thanshin · · Score: 2

    The decision is absolutely required. The contrary would be cruel.

    Why lie to them? There's is no future in IT for a person who is not able to copy code from the internet and pass it as his.

    1. Re:It's imperative to have this kind of rules by x0ra · · Score: 1

      Nobody gives a shit in the industry whose code is being included as long as the end product is working. If I am in a hurry, and a piece of GPL code is doing what I want, I'll copy/paste/reformat/adjust it, even if my target end software is proprietary. Heck, sometime, even the company is stealing part of GPL software for their purpose. My former company had originally hacked away wget to re-purpose its parsing capability in their proprietary code, I even updated the code base to a newer wget to get more feature. AFAIK, this "feature" has been deprecated today, more because the market evolved and customer didn't want that anymore rather than by any moral purpose.

  51. Re:yea no - happened in Middle School by BradMajors · · Score: 1

    It is best that this rule is taught as early as possible, because that is how the real world works.

    I was taught this rule in the 8th grade. The teacher left the classroom and when he returned he asked who was talking while he was out of the room. Me and two others raised our hands. You gave the three of us detentions.

  52. Duke? Duke Nukem? by Anonymous Coward · · Score: 0

    For some reason I thought this was an article about the next release of Duke Nukem. Sigh. I am learning to live with disappointment.

  53. meet the new prof on the block by Champaklal · · Score: 1

    i'm sure if you met me, you'd have advised them opposite. i used to award -100% (yes, negative of full marks) to cheaters. they'd get 0 when they'd score 100% next time.

  54. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    cheating at home was basically collaborating on homework with others in the same class

    How is that cheating? Isn't that how homework is supposed to work?
    At my school we worked together on all kinds of problems right in front of the teacher.
    If you call that cheating then I cheated my way all through primary school, middle school, high school, and university or whatever the American equivalents are.

  55. Re:yea no - happened in Middle School by Frosty+Piss · · Score: 1

    it taught th brother a very, very valuable lesson he'll never forget.

    To never admit to wrongdoing?

    --
    If you want news from today, you have to come back tomorrow.
  56. Re:yea no - happened in Middle School by serviscope_minor · · Score: 1

    To never admit to wrongdoing?

    Precisely. And more generally to deeply distrust people in a position of power.

    --
    SJW n. One who posts facts.
  57. Re:accept responsibility for one's actions by DocSavage64109 · · Score: 1

    After watching President Clinton manage to weasel out of the accusations against him and also watching Cheney get away with major unethical conflicts of interest, appearances would indicate that you should never admit guilt for anything.

  58. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    I'm reminded of a high school prank which consisted of moving a bunch of desk chairs outdoors.

    Well, the principal called an all-hands meeting and said that anyone who did this step forward (for supposedly a day in in school suspension), and anyone who didn't step forward would get denied credit for the semester and possibly arrested for theft.

    A few people stepped forward, most didn't.

    Next day, the people who stepped forward didn't get in school suspension. They were arrested, charged as adults for malicious mischief (which resulted in an adult criminal conviction), and had to repeat the entire semester... and because they were banned at that high school, they had to do their work at the "alternative" school across town.

  59. Kids these days. by Anonymous Coward · · Score: 0

    Bah. In my day we didn't even have the internet. ([D]ARPAnet existed, but probably had less than a score of nodes.)

    That said, these days if you're not using github, etc, you're probably wasting your employers time and money. On the other hand, if you're blindly using such code without knowing how it works and how to make it better fit your particular needs, you're also probably wasting your employers time and money.

    Now get off my lawn.

  60. Recycled assignments by Anonymous Coward · · Score: 0

    I understand the need to have appropriate assignments for the class, but if the staff is going to recycle the material every semester, why act surprised when the students to do the same thing?

  61. Wait until... by Bill_the_Engineer · · Score: 1

    Wait until Duke figures out that their students are getting the reddit community to do their homework for them.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  62. So not just Indians after all by Magnus+Pym · · Score: 1

    Something to keep in mind when dumping on `the enemy'. Unethical assholes are part of every group/ethnicity.

    1. Re:So not just Indians after all by Anonymous Coward · · Score: 0

      Have you seen the ethnic breakdown of comp sci majors? 95% of them were probably Injuns.

  63. Re:yea no - happened in Middle School by bkr1_2k · · Score: 0

    And that's the difference. The rest of the world considers collaboration to be normal while, for whatever stupid reason, the US thinks collaboration is cheating. I learned far more from fellow students than I ever did from professors.

    I never cheated on a test but I most definitely "cheated" by US standards on homework.

    --
    "Growing old is inevitable; growing up is optional."
  64. Doesn't matter how you do it in the real world by Enry · · Score: 1

    The policies of the university prohibit that behavior. Taking someone else's code, striking their authorship and copyright statements is not the right thing to do, either in class or in the real world. Have I used code or snippets from others? Yes, but I usually include the URL where I got it from and/or retain the original author information while adding my own and I expect others that take my code to retain all previous statements when the made changes.

    We all stand on the shoulders of giants.

  65. Sure it is. by Anonymous Coward · · Score: 0

    I deal with cheaters in a similar manner. I like to sit down with the cheater(s) and get them to own up to what they've done. Or at least come to some understanding of what I believe they've done and what they are willing to come clean about. Then we work out a fair solution. If they are willing to do that, it is always to their benefit. If they refuse, I give them a zero for the assignment, exam, whatever, or just fail them (usually works out the same), and then refer them to student conduct and their dean.

  66. Stupid cheaters by freeze128 · · Score: 1

    If you're going to cheat, at least make it look like you didn't.

    The cheating students who copied code from the net obviously know about the copy and paste functions, but they also need to know about the global search and replace functions. You can easily change variable names, function names, methods, etc. to at least make it LOOK like you wrote original code.

  67. Impossible not to cheat? by Anonymous Coward · · Score: 0

    How many unique ways can "Hello World!" be written in, say, C? (that your average beginning programmer would know?

    For most assignments at that level, there is going to be one prevailing solution to which the majority of students will converge on their own, especially all having been taught the same material by the same professor.

    It's completely unreasonable for Duke to assume cheating because 30 students turn in "main() { printf("Hello World!\n\r"); } for their assignment.

    1. Re:Impossible not to cheat? by Anonymous Coward · · Score: 0

      But if the question said to print Hello World! without moving to a new line, then if someone used your code it'd be obvious they didn't know what it was they were submitting.

  68. Duke Nukem by Anonymous Coward · · Score: 0

    Forever!

  69. In a followup email... by greengene · · Score: 1

    ...they clarified that any members of the basketball team who may have cheated are exempt from the prior warning.

  70. Beware of the Dark Side! by xanthos · · Score: 1

    Luke: Is the dark side stronger?
    Yoda: No, no, no. Quicker, easier, more seductive.

    In so many subject areas you have the option of the quick and easy way or the more thorough slog through the fundamentals. Unfortunately, when you are young, the long term advantages of mastering the fundamentals is lost when compared to the short term gratification of getting an assignment done.

    There have been many discussions here on Slashdot regarding the issues caused by people who do not understand the fundamentals of their jobs. Coders who cannot code efficiently because they do not understand what makes code inefficient or efficient or how to test for potential improvements. Personally I am aghast at the number of web developers I have run into who are clueless when it comes to networking. Since they have libraries and frameworks for that they don't feel the need to personally understand it. Don't even get me started on the horrible, horrible SQL queries I have seen. There is only so much optimization that can be done on the backend by the optimizing routines written by people who do know the fundamentals.

    In the end, too many students seem to not understand the purpose of an "Education" and have confused it with its simpler cousin, "Job training".

    --
    Average Intelligence is a Scary Thing
  71. false positives by Mozai · · Score: 1

    `If I were a student, I'd be terrified. I didn't cheat, but I could still be accused of cheating for having a solution "too similar" to some other solution. Saying I've waived my right to defend myself against accusation because I didn't admit to something I didn't do would drive me crazy. I'd have to lie about cheating just to avoid the more severe punishment, despite not actually doing the behaviour the administration wishes to discourage.

    The fear of punishment that's unconnected to misbehaviour will drive lab rats into neurotic self-harm, and students are pretty similar to lab rats.

    1. Re:false positives by EmagGeek · · Score: 1

      They're just conditioning the students to life in a police state.

  72. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    The brother will be at best a middle class 5 figure salary man, the sister will be a high powered CEO making a minimum 7 figure salary with 9 figure equivalent in stock options.

  73. best slang term ever by Cardoor · · Score: 1

    dukebags...

    i've known more than a few.

  74. When I was in college ... by Hohlraum · · Score: 3, Interesting

    many of the "international" comp sci / engineering students prided themselves on beating the system (less time in college == less living expenses) by taking 24 or more credits per quarter. The way they did this was cheating their asses off by copying homework. Most of the work for comp sci / engineering was done in the labs so they'd rummage through the trash cans and look for other student's printed off drafts. :/

  75. Re:yea no - happened in Middle School by parkinglot777 · · Score: 1

    The teacher then gave us an anonymous ballot. He wanted to know how many of us cheated on a test or homework assignment in the last year (this was pre-WWW so cheating at home was basically collaborating on homework with others in the same class).

    It seems to me that the question from your teacher is too vague. It is similar to asking an adult "Have you ever lie in your life?" The question combines everything situation together (even though some situations are mutual exclusive). As a result, the answer is "yes" for all...

  76. Good luck with that, Duke. Another case study. by nick_urbanik · · Score: 1

    I worked in a computing department in a college that had a lecturer from a particular university co-located, sitting close to my desk. I was interested in plagiarism management, and was using the Moss system from Berkeley together with code I had written to manage plagiarism in an unofficial way in my programming classes.

    Official paths were blocked at my college by a rule requiring expulsion and exclusion for a minimum of two years, so plagiarism "did not happen" there due to this "death penalty", so I was on my own.

    The lecturer from that university told me about efforts to clamp down on plagiarism exceeding two-thirds of first year computer science students at his university. The head of the school at his university announced the initiative to punish those that were identified as guilty. The students demanded each have a proper hearing, and students from the law faculty offered to help in the representation of these hundreds of students. In the hearings, students were demanding compensation from the university for loss of their intellectual property due to the "obvious lack of security" of the assignment submission system. There were other, more complex and more imaginative defences. There were few lecturers and staff to represent the school, and unending numbers of students, each requiring a minimum of a 45 minute hearing, with appeals and other procedures demanded in addition. The lecturer told me that the head of school backed down, admitting defeat.

    Let's hope Duke has a more positive outcome.

  77. To CS 201 Professor: by Anonymous Coward · · Score: 0

    Why not change your syllabus and teach something to the students who are paying your salary. Minor changes to programming outputs could easily give everyone a similar but unique programming exercise.

    1. Re:To CS 201 Professor: by nick_urbanik · · Score: 1

      Yes, I did that. It helped a lot.

  78. What's Duke gonna do? by stud9920 · · Score: 1

    Nuke 'em ?

  79. How was the assignment created? by hansbogert · · Score: 1

    I once contacted a teacher with the question when it was fraud because I 'poisoned' myself with a solution on the web and it's hard to not use the main idea. He basically answered "if you can use a copy paste solution from the internet for the assignment, it means I didn't do my best creating the assignment". He was right, in the end I used the ideas from the material I found, but it was impossible in my case to copy paste it.

  80. It's not cheating... by Anonymous Coward · · Score: 0

    ...unless you get caught!

  81. Re:yea no - happened in Middle School by Anonymous Coward · · Score: 0

    That hasn't been the point of school in years.

    In the old days we had Reading, Writing, and Arithmetic. All modern schools teach is Capitulation, Compliance and Consumerism.

  82. Re:yea no - happened in Middle School by Chas · · Score: 1

    Yep. It's called "Common Core".

    Ain't it great?

    --


    Chas - The one, the only.
    THANK GOD!!!
  83. Lol what a bunch of losers by Xman73x · · Score: 0

    People like them shouldn't be in college if you cheat! ðYðY

  84. Just let them go by cwsumner · · Score: 1

    Let them go, it doesn't matter. The point is to learn how, if they didn't learn then they will flunk the next course.
    If they don't flunk, then either they didn't need that class, or the Professors are being lazy about how they do tests. In that case the whole school will get a failing grade, when it turns out none of the students can do anything.

  85. Shouldn't we be encouraging code-reuse? by Anonymous Coward · · Score: 0

    As long as they understand the code they're re-using...why rewrite it?
    Education is stupid