

Student challenges prof, wins right to post source code he wrote for course - dlnovell
http://www.kyle-brady.com/2009/06/10/how-i-won-a-copyfight/

======
TallGuyShort
Aside from the question of publishing source code, I wanted to applaud the
author for his observation that students want to do meaningful work. I work as
a programmer (and have done so for more than a few years) and am only going to
school to "get my degree". Nothing is more frustrating to me than when people
who have spent their whole careers in academia correct me on dumb things. I
once got marked down because my curly braces were on the same line as the
function definition in Java. They said it wasn't "the way it was done in the
industry". I learn 10 times more from my job than I ever have at school -
their students would be far better off if their projects were more realistic,
and if their teachers had real experience.

~~~
LogicHoleFlaw
_I wanted to applaud the author for his observation that students want to do
meaningful work._

    
    
      The pitcher cries for water to carry
      and a person for work that is real.
    
      -- Marge Piercy, "To be of use"

~~~
kingkawn
The pitcher simply is, while our cries encompass it.

------
gchpaco
A lot of folks seem to believe that this fundamentally screws over the
professor. If it does, he's an idiot, and I speak as someone intimately
involved with all this before.

There are basically three kinds of CS assignments. The first is the moral
equivalent of algebra problems, where you change the parameters every year if
you care. These were boring to give, boring to solve, but very easy to grade.

The second is "write an implementation of X" for X ranging over things like
binary trees, etc. In these cases there is one correct answer that the TA is
looking for _and it is already in the book_. No creativity is necessary.
Simple copy/paste detection will catch obvious cheaters, and anybody who
modifies this guy's code enough to be non-obvious has just performed as much
work, if not more, than was needed to do the assignment in the first place.

The third assignment requires creativity, and here if two students solve the
problem in the same way you can usually be sure they colluded. Most of these
can be trivially changed, but they're a bitch to grade (although my favorite
problems on both sides of the aisle, they're very time consuming) and so are
not favored by lazy profs.

------
ionfish
Good for him. It's perverse for the gatekeepers of an institution supposedly
dedicated to increasing human knowledge to attempt to restrain its
dissemination in this fashion, and it's cheering to see the university backing
the student here.

~~~
michael_dorfman
I think the gatekeepers of the institution feel that human knowledge is not
increased when homework answers are published on the web, rendering the
assignments obsolete for future instances of the course.

~~~
mileszs
What is the chance they are doing anything new in a 100 level CS course?
Interesting, perhaps, but new? Couldn't one find answers to most of the
problems in 4+ languages with a single search? I understand the argument, to
an extent, that the student is simply lowering the barrier to cheating, but
isn't it he really just lowering it from just above the knee to just below the
knee?

It was easy to cheat 8 years ago (from what I remember), it's surely easier to
cheat now, and it's certainly not because this one kid stood up for something
in which he believes.

~~~
michael_dorfman
No, he's lowering it from just above the knee to the ankle. One link to his
site, and you'd have all the answers to all the homework questions for the
whole semester, presumably ready to print and hand in.

~~~
Jem
But the professors aren't stupid (one would assume). They're going to know
about this guy, remember his site, and very easily compare the work?

(Edit: I don't have all the answers, or an opinion on this piece, just playing
devil's advocate)

~~~
michael_dorfman
Yeah, but why make it harder for the prof? What's the upside to allowing
students to publish the answers?

~~~
DougBTX
To encourage students to take pride in their work?

Nowadays it is hardly any extra work for the prof either, any coursework of
substance gets put through plagiarism detection anyway.

------
jsonscripter
In my program, I had to sign a non-disclosure when doing an assignment for a
local tech company. They didn't use anything I made, but I can't share it.
It's basically gone for a minimum of 4 years.

I always feel like I've lost a little bit of myself when I lose code or IP
I've created, even if I'm paid for my time.

~~~
edw519
"I always feel like I've lost a little bit of myself..."

You shouldn't. Because you haven't. _You_ are greater that then sum of what
you have done. You wrote it once, you can write it again (not exactly the
same, of course, but you get the idea).

They can claim your work as their IP, but they can't claim who you have become
in the process.

~~~
mikedouglas
_You wrote it once, you can write it again (not exactly the same, of course,
but you get the idea)._

Can you? That code is now a trade secret for that company, and if you wrote a
clone (or compatible version) using your knowledge of the product, that seems
like a clear case of infringement.

~~~
edw519
The code may be IP, but the thinking behind it is not, and who you are most
certainly is not.

Once you learn how to ride a bike, the owner of that bike has no claim to
prevent you from riding another.

~~~
mikedouglas
IANAL, but the thinking behind it, if not generally known, is definitely a
trade secret. Using or disclosing that information to another party is trade
secret infringement.

If (as an employee of that bike company) you developed a way to make the bike
20% lighter that wasn't readily discernible, you can't leave and start a
competing company using that idea. The law around trade secret
misappropriation is such a minefield that most companies separate the reverse
engineering team from the implementation team (ie. clean room design).

------
alexgartrell
Let me tell you something about labs. Challenging labs a) are REALLY hard to
make and b) ALWAYS suck on the first iteration, ALWAYS. This guy has set back
the whole course to the very beginning, because now everything needs to be
rewritten. He's a jerk.

No one's impressed by his sophomore-level introductory data structures and
algo classes.

And because he posted his code to the public, I have the following comments:
his code is poorly commented and kind of crappy. I'm further bothered by the
fact that he's a senior-to-be and hasn't done anything substantial yet.
Where's the kernel, 1337 freedom of information defender?

~~~
jrockway
_This guy has set back the whole course to the very beginning, because now
everything needs to be rewritten._

So? As someone who is not a student there, I could also read the labs and post
my take on the code. Information wants to be free.

Anyway, my advice would have been to take down the code when asked. Wait a
week (until grades are published), then put the code back up. By that time,
everyone will have forgotten. (People are very, very lazy.)

 _I'm further bothered by the fact that he's a senior-to-be and hasn't done
anything substantial yet. Where's the kernel, 1337 freedom of information
defender?_

I don't think undergrads ever do anything substantial (as part of their
official coursework, that is). So I would not fault this guy for that, that is
a problem with the system in general.

~~~
alexgartrell
Professors can fail students at any point between starting the class and
graduation. Piss one off bad enough and he'll change your grade.

True on the lazy part though.

At the risk of being _that guy_ , at _my_ school, many undergrad CS majors
write an honest-to-god ground up Kernel. So, from scratch to able to boot on
x86 hardware and run multiple different programs and everything. Arguably
substantial.

------
dxjones
Outstanding result. Compliments to both the student and the Chair of the CS
Dept at SJSU.

Not only was the matter resolved properly, the Chair also managed to stop it
from "escalating" until lawyers had to get involved.

Instead, the Chair successfully "hit the pause button", reflected on the
issues, got some expert advice, and then communicate the result clearly and
definitively, so everyone could close this chapter and move on.

Even for the prof who initially complained about the student posting code,
this is a good result. It lets him know how he should update his course in the
future, and what limitations on students posting code is reasonable, or not
reasonable.

------
robryan
One of the problems I'm seeing where I go to university is that with budget
cut's one of the most effected area's is course preparation. Lecturers aren't
getting paid properly to update there courses and as a result are using the
same or very similar lecture notes/ assignments and exams for years.

Basically meaning that any innovation in the courses is coming out of the
lecturers own time. A pattern emerges in that the young, recently graduated
lecturers will put the extra effort in to make there subject good and the
older ones by and large will just run what they have been running with for
many years.

------
keefe
I sure hope he doesn't take that guy's class or any of that guy's friend's
classes. He may find his work held up to a higher standard... I think the prof
was pissed cause the solutions being posted meant he had to do more work. I am
all about free speech, but if I were doing my degree there I wouldn't want to
antagonize the faculty so much.

------
chez17
I had a good teacher at UVM who took time out of class to discuss this subject
one day. He made it crystal clear that as a student, you own everything you
code. As a professor, or paid person of the university, that is not
necessarily the case. But as a student, what you write is yours. From the
other side, I could see how the professor doesn't want people posting code
(most likely solutions) online.

~~~
dangrover
I'm considering transferring to UVM for computer science and I was wondering
if I could talk to you about your experiences there.

~~~
chez17
Sure, you can contact me at my hackernews username @ gmail.com

------
johnnybgoode
Congratulations to Kyle for violating the spirit of the modern university by
going up against faculty. ;)

------
jmonegro
I think that to some extent, the professor might be right. What if I was to
take that same course, with the same professor, and got the same assignment.

I could easily browse his source code when I get coder's block.

------
gurtwo
Isn't Computer Science a complex enough subject for the teacher to be able to
write new problem sets every semester? Isn't he just being lazy by trying to
reuse his problems over and over?

------
hs
university is an extension of high-school-as-prison system, except that it's
very big that one doesn't feel in one (maybe because one pays for the
delusion^W priviledge of 'freedom')

------
pageman
I actually encourage my students to POST all of their WORK under a by-nc-sa
Creative Commons license so that other people/students can build on their work
- it's actually EASIER to check for plagiarism when their work is online - I
just Google it and it will flag if they are copying verbatim.

