Kyle Brady writes, "Thanks to some perseverance and asking the right questions, SJSU professors are now prohibited from barring students from posting their code solutions online, as well as penalizing their students for doing so.

A win for students, programmers, and copyfighters nationwide!"

Kyle's a student at San Jose State University who was threatened with a failing grade for posting the code he wrote for the course — he wanted to make it available in the spirit of academic knowledge-sharing, and as code for potential future employers to review — and when he refused, his prof flew into a fury and promised that in future, he would make a prohibition on posting your work (even after the course was finished) a condition of taking his course.

Kyle appealed it to the department head, who took it up with the Office of Student Conduct and Ethical Development and the Judicial Affairs Officer of SJSU, who ruled that, "what you [Kyle] have done does not in any way constitute a violation of the University Academic Integrity Policy, and that Dr. Beeson cannot claim otherwise."

There's a lot of meat on the bones of this story. The most important lesson from it for me is that students want to produce meaningful output from their course-assignments, things that have intrinsic value apart from their usefulness for assessing their progress in the course. Profs — including me, at times — fall into the lazy trap of wanting to assign rotework that can be endlessly recycled as work for new students, a model that fails when the students treat their work as useful in and of itself and therefore worthy of making public for their peers and other interested parties who find them through search results, links, etc.

But the convenience of profs must be secondary to the pedagogical value of the university experience — especially now, with universities ratcheting up their tuition fees and trying to justify an education that can put students into debt for the majority of their working lives. Students work harder when the work is meaningful, when it has value other than as a yardstick for measuring their comprehension. I've always thought it was miserable that we take the supposed best and brightest in society, charge them up to $60,000 a year in fees, then put them to work for four years on producing busywork that no one — not them, not their profs, not other scholars — actually wants to read. Might as well get them to spend four years carving detailed models of ships from sweet potatoes (and then bury the potatoes).

And in this case, it's especially poignant, since Kyle's workflow actually matches the practices of real-world programmers and academic computer scientists: coders look at one anothers' examples, use reference implementations, publish their code for review by peers. If you hired a programmer who insisted that none of her co-workers could see her work, you'd immediately fire her — that's just not how software is written.

Kyle's prof's idea of how computer programmers work is exactly what's meant by the pejorative sense of "academic" — unrealistic, hidebound, and out-of-touch with reality. Bravo to Kyle for standing his ground!

How I Won a Copyfight

(Thanks, Kyle!)