Comment by dfxm12

12 days ago

As a teacher, do you have any techniques to make sure students learn to write the code?

I'm taking CS in college right now, and when we do our projects we're required to have a editor plugin that records every change made. That way when they grade it, they see how the code evolved over time, and not just the final product. Copying and posting has very distinct editor patterns, where organically developed code tends to morph over time.

  • which editor plugin are you using?

    • I looked to see if BYU had made the source code available, but it doesn't look like they've published it. It's called code recorder, and before we do an assignment we have to enable recording. It generates a .json file that lists every single edit made in terms of a textual diff. They must have some sort of tool that reconstructs it when they grade. Sorry I don't know more!

      Edit: I expect it wouldn't be super hard to create though, you'd just have to hook into the editor's change event, probably compute the diff to make sure you don't lose anything, and then append it to the end of the json.

      2 replies →

If I was a prof, I would make it clear to the students that they won't learn to program if they use AI to do it for them. For the students who wanted to learn, great! For those who just wanted to slide through with AI, I wouldn't care about them.

In-person analog checkpoints seem to be the most effective method. Think internet-disabled PCs managed by the school, written exams, oral exams, and so forth.

Making students fix LLM-generated code until they're at their wits' end is a fun idea. Though it likely carries too high of an opportunity cost education-wise.