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."

219 of 320 comments (clear)

  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'.

  2. 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: 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.)

  3. 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
  4. 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 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.
    7. 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.

    8. 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.
    9. 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.
    10. 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 : )
    11. 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.
    12. 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.

    13. 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.
    14. 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 .

    15. 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.

    16. 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.

    17. 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.

    18. 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.

    19. 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.
    20. 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?

    21. 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.

    22. 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!
    23. Re:Or just practicing for an actual job by darkwing_bmf · · Score: 1

      One loop would suffice and be more efficient as well.

    24. 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.

    25. 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.
    26. 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.
    27. 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);
    28. 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.

    29. 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.
    30. 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.

    31. 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.

       

    32. 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.

    33. 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.
    34. 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.
    35. 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.
    36. 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."
    37. 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
    38. 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.

    39. 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.

    40. 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...

    41. 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! :)
    42. 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.

    43. 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!

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

      Yeah, but that wasn't really his point.

    45. 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.

    46. 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.

    47. 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.

    48. 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.
    49. 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

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

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

    51. 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.

    52. 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.
    53. 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.
    54. 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.

    55. 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 :)

    56. 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.

    57. 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.

    58. 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?

    59. 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.

    60. 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.

    61. 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.

    62. 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!
    63. 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
    64. 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
    65. 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.

    66. 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.

    67. 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.

    68. 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.

    69. 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).
    70. 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.

    71. 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
    72. 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.

    73. 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.
    74. 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
    75. 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
    76. 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.

    77. 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.
    78. 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.

    79. 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.

    80. 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.
    81. 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
  5. 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...)

  6. 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 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?

    3. 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
    4. 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.
    5. 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)

    6. 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.
    7. 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.

    8. 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.

    9. 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.

  7. 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 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?
    3. 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.
    4. 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?"

    5. 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
    6. 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.

    7. 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.
    8. 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.

    9. 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.
    10. 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.

    11. 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.

    12. 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.

    13. 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.

    14. 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.

    15. 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
    16. 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.

  8. 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 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?
    3. 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.
    4. 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?
    5. 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.

    6. 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."
    7. 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.

    8. 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.

    9. 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?
    10. 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?"

    11. 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.

    12. 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/
    13. 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.
    14. 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...

    15. 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
  9. 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 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?
    2. 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.

    3. 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?
    4. 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.

  10. 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?
  11. 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)
  12. 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.

  13. 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 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.
    6. 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/
    7. 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.

    8. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.

    ...

  18. 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.
  19. 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 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?
  20. 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...

  21. 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.

  22. 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!!!

  23. 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.
  24. 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.
  25. 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.

  26. 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/
  27. 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.
  28. 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.

  29. 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.
  30. 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 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.

  31. 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 __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.

  32. 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.
  33. 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?

  34. 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.

  35. 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!!!
  36. time pressure, disdain for system by peter303 · · Score: 2

    The goal is to get the degree, not learn things.

  37. 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.
  38. 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.

  39. 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.

  40. 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.
  41. 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.

  42. 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.

  43. 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
  44. 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.
  45. 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.
  46. 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.
  47. 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.

  48. 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.

  49. 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...
  50. 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.

  51. 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.

  52. 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.

  53. 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.

  54. 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.

  55. 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
  56. 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.

  57. best slang term ever by Cardoor · · Score: 1

    dukebags...

    i've known more than a few.

  58. 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. :/

  59. 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...

  60. 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.

  61. What's Duke gonna do? by stud9920 · · Score: 1

    Nuke 'em ?

  62. 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.

  63. 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!!!
  64. 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?
  65. 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.

  66. Re:To CS 201 Professor: by nick_urbanik · · Score: 1

    Yes, I did that. It helped a lot.