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."
.. for when their jobs are outsourced. It's pretty much the same thing.
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.
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
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 : )
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...)
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.
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.
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
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.
Letter To Iran
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?
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)
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.
...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.
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?
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.
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.
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.
[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.
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.
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...
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.
Letter To Iran
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!!!
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 ?
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.
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.
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/
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.
.
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.
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.
Duke is getting a reputation for raping students. Why would anyone go there or allow their children to?
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.
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?".
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?
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.
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!!!
The goal is to get the degree, not learn things.
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.
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.
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.
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.
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.
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.
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
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.
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.
To never admit to wrongdoing?
Precisely. And more generally to deeply distrust people in a position of power.
SJW n. One who posts facts.
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.
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.
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...
Something to keep in mind when dumping on `the enemy'. Unethical assholes are part of every group/ethnicity.
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.
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.
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.
...they clarified that any members of the basketball team who may have cheated are exempt from the prior warning.
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
`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.
dukebags...
i've known more than a few.
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. :/
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...
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.
Nuke 'em ?
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.
Yep. It's called "Common Core".
Ain't it great?
Chas - The one, the only.
THANK GOD!!!
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?
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.
Yes, I did that. It helped a lot.