

At Stanford, computer science students are big cheaters - razorburn
http://bayarea.blogs.nytimes.com/2010/02/11/heading-off-the-temptation-to-cheat-in-computer-science-classes-at-stanford/

======
natrius
That's not what the article says at all. In computer science, it's easier to
detect cheating, which is part, if not most of the reason why it has a notably
high proportion of honor code violations. The only people I knew who got
caught cheating on assignments weren't computer science majors.

Please just copy the headline from the article next time.

~~~
makmanalp
Also, it says "About 1,000 students will have taken the course by the end of
the year, with more than 75 percent of students passing through a computer
science introductory course before the end of their time at Stanford." which
makes it much more normal for there being a high _number_ of cheaters. A lot
of people are taking the course, so there are a lot more cheaters although the
proportion might be the same. (I don't know if this is actually the case.)

------
shalmanese
Alternative title: one Stanford professor cares more about cheating that
pretty much therest of the university combined.

Cheating is now pretty much rampant at even the most prestigious colleges. The
only way to not detect it is to turn an actively blind eye towards it

------
tsally
_CS is not like an English paper where you can just turn it in and there’s not
a way to say if it’s a good paper or not... at 3 a.m, you can be looking a
program and definitively say that it’s not going to work._

The ignorance I encounter among fellow CS people in this area never ceases to
amaze. A strange phenomena in a group of otherwise intelligent individuals.

Trust me when I say that you can evaluate a paper the same way you evaluate a
program. In a functional sense you (the writer) _can_ definitively say whether
a paper will work or not [1]. Most people who make statements like the one
I've quoted simply never have been taught the appropriate skills.

[1] Creative writing is a different story.

~~~
abscondment
Most papers aren't graded with some pass/fail grammar and punctuation rubric.
I had many CS assignments for which no credit would be given if the automated
submission site couldn't compile the work.

~~~
emily37
I think the original poster might be referring to the strength of a paper's
arguments rather than grammar. But I basically agree with you... most Stanford
CS projects are graded almost entirely by automated tests (which test the
output of the program, not just whether it compiles or not). When there are
automated tests, you can predict how your program will be graded with much
higher accuracy than you can predict the grade your paper will get, even if
you are very good at evaluating papers.

~~~
tsally
_When there are automated tests, you can predict how your program will be
graded with much higher accuracy than you can predict the grade your paper
will get, even if you are very good at evaluating papers._

Of course. This is the same as saying that a CS student can better understand
the reasoning of a program than the reasoning of a human being. As a rule
programs are, in general, more predictable.

I will disagree with the idea that it is impossible to achieve high accuracy
in predicting grades on paper. It's anecdotal evidence only, but I've never
been off by more than half a letter grade on any paper in the last three years
of taking English classes (it's my minor). That's 6 classes with 5 different
professors. So probably 20 to 30 papers? Usually I get the exact grade right.

~~~
emily37
Fair point, but even if you can predict paper grades within half a letter
grade, there's something much different psychologically about the following:
"This program passes all the automated tests, and the automated tests are 90%
of the grade" and "I feel very strongly that this is an A paper, and I'm
almost always right about what grades my papers will get." The former is a
much more confident statement. Perhaps the quote in the article is meant to
say that the grading of CS assignments is almost entirely deterministic;
there's always the possibility that your prediction of your paper grade will
be way off, but if you pass all the automated tests, you're getting an A or
A-.

~~~
tsally
There's a big psychological difference: you have faith in the determinism
grading computer but not in your English professors. The funny thing is that
an English professor is more qualified to say whether your paper is a good
paper than a grading computer is to say whether your program is a good
program. Automated tests are not a production environment for a program. A
living, breathing reader is a production environment for a paper.

Might I be too bold in suggesting that CS students prefer the determinism of a
grading script because they are worried how their code will hold up in the
real world? Given the quality of code most CS students produce, that's
actually not that bold of an assumption. Seems to me that CS students that do
not favor how grading is done in English have that opinion because they aren't
used to thorough assessment in CS [1].

[1] The notable exception being theory classes. Go theory! But in those
classes you've got a living, breathing grader as well. :-p

EDIT: I realize I didn't really address your point. Yes, that is a fair
characterization of the quote in the Times. The problem lies in assuming the
grading script is doing as good of a job as your English professor in
determining correctness. I bet if you increased the accuracy of the grading
method for programs you would sacrifice on precision and students wouldn't be
as confident about their programs. If you graded on coding style and design
decisions, for example. So yes, CS students can be more confident. But
confident of what? The fact that your program conforms to a script? That's not
the same as being confidant that your program actually works.

------
grinich
I still stand by the belief that it is the professors' responsibility to
create interesting and unique problems that cannot be solved easily with out-
of-the-box libraries. Seems very basic for the amount of money I spend to
attend college.

Another solution is to use an unfamiliar language, such as Scheme.

~~~
emily37
I think the main problem is students copying each others' code, not students
copying library code. I don't think I've ever had a CS assignment at Stanford
where I could have gone out and find library code to solve the problem.

~~~
grinich
Like code from previous terms?

I didn't mean that using a library is bad— in fact, learning how to
effectively combine and structure your code to work with preexisting libraries
is a skill that should be enforced in every CS department.

To clarify, I was referring to finding an _exact_ solution to the problem
(SCRAM state machine for example) and just plugging it in as the solution.

~~~
emily37
Yep, code from previous terms (friends who have taken the class before) or
even from the same term (friends who are in the same class who have already
finished the assignment). My impression is that the vast majority of honor
code violations in the CS department are of one of those two types.

~~~
grinich
Do Stanford profs have tools to automatically check for copies? Or is it
something the graders just notice.

~~~
sparky
In fact, one of the most popular tools for checking for eerie similarities
between programs (used at other universities I'm familiar with) was co-
developed by a now-Stanford prof.

MOSS: <http://theory.stanford.edu/~aiken/moss/>

------
dockd
In college, you are punished for using others source.

After college, you are rewarded.

Perhaps there is a better way to teach than giving an entire class the exact
same assignment. I wonder if you might find the same results in the basic math
classes, where non-math majors just have to "tough it out". I would think it's
harder to catch copying because the work can't be easily analyzed by a
computer.

~~~
swolchok
This argument gets trotted out in all sorts of internet discussions re: CS
education, and it's bogus. You have to be able to stand on your own before you
can contribute meaningfully to a group. More importantly, individualized
assignments don't scale to classes of one or two hundred students.

------
dbz
I understand that most of the cheating is done in the first cs course, but why
on God's earth would you sign up for a major notoriously difficult if cheating
can be a problem and you are the cheating type. I mean- _If you have to cheat
during the CS course, I can very easily see you never be a good programmer._

A CS course isn't even like the real world programming jobs.

~~~
emily37
I would guess that most cheaters don't know they're the cheating type until
the moment they cheat. Also, one of the points made in the article is that
most people attribute the honor code violations largely to non-CS majors. The
mindset is probably that they never want to be a programmer, and all they want
is a good grade and the general ed requirement out of the way.

