Slashdot Mirror


As Computer Coding Classes Swell, So Does Cheating (nytimes.com)

An anonymous reader shares a report: College students have flooded into computer science courses across the country, recognizing them as an entree to coveted jobs at companies like Facebook and Google, not to mention the big prize: a start-up worth millions. The exploding interest in these courses, though, has coincided with an undesirable side effect: a spate of high-tech collegiate plagiarism. Students have been caught borrowing computer code from their friends or cribbing it from the internet. "There's a lot of discussion about it, both inside a department as well as across the field," said Randy H. Katz, a professor in the electrical engineering and computer science department at the University of California, Berkeley, who discovered in one year that about 100 of his roughly 700 students in one class had violated the course policy on collaborating or copying code. Computer science professors are now delivering stern warnings at the start of each course, and, like colleagues in other subjects, deploy software to flag plagiarism. They have unearthed numerous examples of suspected cheating.

10 of 250 comments (clear)

  1. Re: Nothing new here by Anonymous Coward · · Score: 4, Insightful

    Sums it up. Or they get a friend to write it for them. I remember in college I was the only one in my computer science class to get a week long project right and have unique code. Everyone else either got it wrong, or all had the same code.

    But I agree, kids are coddled in class. This is a very tough mental field. The campaigns to teach everyone to code make it seem like it's house work. Anyone can do it. I think they are finally realizing it's not so.

  2. Um, Ah.... by SuperKendall · · Score: 3, Insightful

    Students have been caught borrowing computer code from their friends or cribbing it from the internet.

    I wonder if the article writer is familiar with what professional coders do, or GitHub in general???

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  3. I'm not sure what the point would be by Skuld-Chan · · Score: 4, Insightful

    I mean at some point in your career you're going to have to figure out some problem on your own - and if you cheat during all that high priced training you might as well not even have gone.

  4. Re:How many different ways to solve problems? by Anonymous Coward · · Score: 4, Insightful

    I used to run diffs on everyone's code, piped to wc -l to see who had the smallest number of different lines. I'd check those. Usually they were identical down to the whitespace with only variable names changed. Sometimes only comments. Rarely, but it happened, no changes except the filename. Students heard that I automated grading so they assumed I wasn't checking. it was more work to make their code look different than to write it from scratch.

  5. Re:How many different ways to solve problems? by twistedcubic · · Score: 4, Insightful

    Some things you only realize when you have to grade students' programs. Clueless programmers cheat in clueless ways, of course, because if they were clever at hiding that they copied, they could just use this skill to write the programs on their own. Also, the anti-cheating programs we use are way more sophisticated than inept programmers. I use the excellent VPL Moodle plugin (https://moodle.org/plugins/mod_vpl) which has this built-in.

  6. Re: Nothing new here by steveg · · Score: 3, Insightful

    Reusing code for some sort of production is good sense.

    Reusing code that you are supposed to be writing in order to learn *how* to write it using certain techniques short circuits the learning process. You may get the code to do what you want, but the important result (you learned how to do it) doesn't happen. Nobody needs a program to pick from a menu to multiply two numbers, or to print out a Fibonacci sequence, or whatever. What they do need is a programmer who can create these things, because that programmer is on their way to create things that will actually be useful.

    So reusing code for school assignments is stupid. You may or may not get caught, but either way, you didn't learn anything. So why even take the class?

    --
    Ignorance killed the cat. Curiosity was framed.
  7. Re:"Open Source" is human nature by Obfuscant · · Score: 3, Insightful

    We copy code without completely understanding the "how" all the time, it's called a "library"

    And this is often why we wind up with complete nonsense output from a simple program. A large part of reusing code requires knowing when the assumptions that went into writing that code are valid and when they are not. It is hard to know when you shouldn't use a certain kind of sort algorithm if you don't know what that algorithm is and how it works. It is hard to know when not to use certain numerical functions if you don't know what they are.

    That's why you learn what things are and how they work when you are in school, so that when you get into the real world you can make better choices and not so many mistakes.

  8. How dumb can students be? by bradley13 · · Score: 5, Insightful

    I see this among my students as well.

    First, on the side of the students: It is perfectly fine to copy code snippets. How do I safely hash a password? Unless it's a computer security course, students shouldn't be reinventing code like that. That's when you go to StackOverflow and find the canned answer from an expert. Some students (and professors) are confused about this.

    Ok, with that out of the way: When plagiarism does happen, it is generally pretty blatant. Two solutions submitted, identical except for the renamed variables. It's almost insulting, that they think I won't notice. Alternatively, they pay someone else to write the program, and then cannot answer even the simplest questions about how it works.

    But even if they manage to sneak a plagiarized solution through: how stupid can you be?!?! If students aren't writing the programs themselves, they will fail the exam, where copying isn't an option any more. Or, even worse, they manage to scrape through the first year exams. If they get into their sophomore year, they are allowed to fail a course and repeat it a second time. This is horrible, because they drag out the pain for 3 or 4 or 5 years before failing out of the program.

    What a waste of their lives. If they can't handle the material, they're only doing themselves damage by dragging things out. Plagiarism in a technical field, where ultimately you either have the skills or not - and this will be discovered - is just unbelievably dumb.

    --
    Enjoy life! This is not a dress rehearsal.
  9. Re: Nothing new here by The+Snowman · · Score: 3, Insightful

    Eventually there will be few real programing jobs and a bunch of drop in ide code everywhere and it's not far off at all.

    If Salesforce is any indication, the "drag and drop" model of designing a system is nowhere near ready for prime time. Even simple implementations require a real programmer to make them work, despite what they promise.

    --
    24 beers in a case, 24 hours in a day. Coincidence? I think not!
  10. Re:The wrong message! by serviscope_minor · · Score: 4, Insightful

    They should be taught both, but that means cheating will still be a problem. Collaborating etc is all well and good but students also need to know how to actually write code themselves. Not everything can be assembled from libraries and stackoverflow code with trivial glue logic.

    --
    SJW n. One who posts facts.