Ask HN: Opinions on cheating and modern computer science education
- Improving learning and modernizing classroom procedures
- Preventing cheating
Basically, I'm interested in the possibility of using Git, Github, and a CI testing service to deliver, collect, and (at least partially) grade assignments via the most commonly used VCS workflow used by projects hosted on the platform. That is: everyone forks, pulls down, pushes up upon completion, submits PR for testing/review.Overall I like the idea because it would expose them to these basic workflow & development lifecycle concepts early. Later, if they take well to it, I would like to explore creating assignments that are multi-stage and legitimately collaborative between me and them (perhaps organized into small groups). I think there is a lot of potential for learning there. And the platform removes a lot of the tedious parts of the process on my end.
But, there is a pretty big catch to running a course my preferred way though: other students will see each other's pull requests (ie. their completed assignments). In the minds of most faculty, the concern is that this would promote cheating. Academic integrity is something institutions need to protect to ensure the future value of their degree offerings, and enforcing individual assessments of all learning objectives is the way used to achieve that.
The on-again-off-again professor in me agrees with that, but the working software engineer in me is a lot less sure.
Any thoughts on this from the software professional side of the tracks? I'm asking the same to other professors that I know as well. I'm interesting in contrasting the two perspectives.
2 comments
[ 3.1 ms ] story [ 9.8 ms ] threadRegarding cheating, maybe MOSS is useful: https://theory.stanford.edu/~aiken/moss/
Requiring students to have full fledged competence in using those tools seems way outside the bounds of most CS courses other than a practicum that is focused on introducing those things and again that seems more the realm of engineering than computer science unless the department has settled on a curriculum that integrates such tooling.
Otherwise, the risk that you're only teaching to a portion of the class is perhaps greater than the benefits that come from tossing everyone into the deep end. The idea that students entering a computer science curriculum ought to have professional competence as developers is a recent development and seen by some people as a problem.
Anyway, professors should be professorial and if that's at odds with the working software engineer hat, take the hat off.
Good luck.