Once a Cheater…

My post about the anti-cheating device reminded me of my all-time favorite student in five years as a teaching assistant for Computer Programming I classes.

To preserve her anonymity, I’ll call her simply Lisa S.  No, that’s too obvious.  How about L. Simpson.  (Yes, that’s a direct quote from The Simpsons.)

In the third week of class, this student sent a sudden barrage of excuses for poor performance.  She hadn’t gotten the textbook yet, but would rush to the store immediately.  Her job was too time-consuming, so she’d quit straight away.  She couldn’t touch a computer while the sun was up.  (I may have made up that last one, but there were plenty more.)

This instructor was famously fair, and readily granted Ms. Simpson an extension: turn in the first three assignments together, for no lost credit.  She submitted them directly to me to grade.

The first didn’t even compile.  That earned a zero automatically, but I wrote (as I always did) extensive comments about why it didn’t compile to help her for next time.  The second also didn’t compile.  It again got a zero.  I again wrote extensive comments.

The third also didn’t compile.  This time, however, when I opened the code to document what went wrong, I found a veritable masterpiece.  The code was virtually flawless.  It was properly formatted, commented well, solved the problem with minimal logic, and even offered subtle enhancements to the user interface that most students never bothered using.

In fact, it reminded me a lot of my own code.  Ahem.  I say: it reminded me a lot of my own code.

Every week after I finished grading an assignment, I wrote my own version of the program, emphasizing areas a lot of students had struggled.  Many students loved studying these.  Ms. Simpson in particular loved that her extension let her submit her assignment after she’d had a chance to copy it from me.

Understand, she didn’t just study my code, or borrow a line or two that I’d written.  She literally downloaded my example and put her name at the top — it was identical, byte for byte.  I have to recommend that the number one rule in plagiarism be, “don’t copy your grader’s own creations.”

After recovering from the shock of seeing my own work with a student’s name on it, I had to revisit the fact that it didn’t compile.  What had she done to render inoperable a perfectly good program?  Let’s look at the top three lines.  They should have read:

/** Bobbo Jones
 *  Computer Programming I
 */

Instead, they read:

** Lisa Simpson
*  Computer Programming I
*/

She changed the name, yes, but she also removed a slash from the beginning.  With the slash there, the program will compile.  Without the slash, it will not, and the assignment earns a zero.

I’ll say that again for emphasis.  Not only did she try to replace my name with hers, but in the process she broke the program!  My entire feedback to her for the assignment read:

This program doesn’t compile, so it automatically gets a grade of zero.  Also, it’s probably not a good idea to submit my code with your name on it.

This triggered the best part of the experience.  (That’s right; we still haven’t gotten to the best part.)  Upset at getting a zero, she protested to the instructor.  When she confirmed my judgment that people who submit non-functional, plagiarized homework should get a zero, Ms. Simpson filed a formal complaint with the dean.

I would have paid good money to read that.  “I copied my grader’s own code and put my name on it, and I still got a zero!  It’s unfair!  I demand justice!”  Here’s another tip: when your actions merit summary expulsion from the University, you generally don’t want to call your dean’s attention to them.

We never heard from her again.

Commuters Flee Rampaging Taxi Drivers

Page A9 in this morning’s Boston Globe contains a very brief article, quoted here in its entirety (there is no byline):

Protest in South Africa

Minibus taxi drivers set fires yesterday during a march in Cape Town against the government’s proposed bus transit upgrade for the World Cup, which the taxi drivers say will cost them revenue.

I fully expected it to continue, “In other news, oil companies threatened to uproot train tracks and sabotage any cars used for carpools.  Electric company officials were also seen breaking into homes known to have installed energy-efficient florescent or LED lighting.”

A South African website called Independent Online covered the event more extensively yesterday, running an article with the absolutely awesome headline “Commuters flee rampaging taxi drivers.”

Taxi drivers blockaded roads and threw stones at Golden Arrow buses and private cars, allegedly in protest against the formation of the city’s new Bus Rapid Transit system, perceived permit inequalities and the taxi recapitalization process.

Then it just goes over the top in insanity:

[Commuter Thembakazi Bizana] said commuters ran for their lives when taxi drivers started throwing stones. “It was chaos out there… I took a cab and they started stoning the cabs also, saying we are not allowed to use any transport.”

This might be the worst protest plan in the history of protests.  First, they stoned cabs as part of their protest to encourage cab use.  Second, better mass transit is a good thing, but they’re opposing it for personal reasons (and that’s a hard sell).  Third, and most importantly, they’ve caused people serious harm.  I know I’d be a lot less inclined to take a cab in Boston if I knew the driver was prone to dragging people from buses and beating them up.