The last time I started a thread on student cheating, it was a Pit thread. Well, here’s another. But I can’t really work up much vitriol. I’m not angry. I’m just, well… disappointed.
While I do teach several lower level programming courses in C and C++, this regards my Advanced Java class. This is a course intended for the Computer Science majors. This is an elective course – it’s not required.
As such, I typically get the better and brighter of my former C++ programming students in this course. The ones who are more motivated. The ones who want to learn. The ones who are taking the course because it really interests them. The ones whom I can trust to do their own work…
Or so I thought.
This course is usually their first intro to Java, but it’s for students who have already had several semesters of programming, so they are more “advanced” at this point. So we cover the language basics fast, then move on to more interesting packages and libraries.
I try to make it fun for them. For many of these students, it’s their first official exposure to GUI programming, complete with event handling. Among other things, we cover the Swing libraries – makes for a nice introduction to these topics. And in addition to a number of smaller assignments, they have one major project to do.
The project is to write an implementation of a board game, or something similar (card game, etc), with a nice usable GUI – something user-friendly and intuitive. They each have to pick a different game. They have to do their own design. They can work solo or with a partner. There is a lot of room for creativity, and a lot of room for extra credit – for implementing features above and beyond the minimum requirements. Like I said, I try to make it fun.
And I’ve gotten some really creative and interesting game submissions in past semesters.
Summer classes ended last week, so this week I’m doing the final grading. In the case of the Java class, that means testing out their games (and writing up my critiques). Last night, after getting a cursory view of a number of them, I chose one to begin with for the first writeup.
It had a small amount of code compared to the others. It was implemented as an applet, and I tried it out. Seemed like a pretty decent implementation, if a bit minimal. Was looking like a probable B grade. Then I looked at his code. And something seemed… odd. I think perhaps it was the function names – they just didn’t seem like something he’d choose.
So I plugged those names into Google. Lo and behold – up come several links to an applet implementation of the same game. With the same function names. Written by a Chinese guy, copyright 1995. In fact, it was the same exact code. Line. For. Line.
No – almost line for line. My student, for instance, had changed the background color from red to green. And removed the comments that were in Chinese language characters – perhaps he realized that would be a dead giveaway.
And all he needed was about 50% on the project to put his course average in the passing range. Even a half-ass job, as long as it was his work, would have sufficed…
After writing up his “gradesheet”, I quit for the night. I wasn’t in the mood to look at any more of the game submissions. I have to get back to it today. I hope that the rest of them don’t leave me feeling this disappointed in my other students.