Earlier quoted context omitted.
There are a few issues with this kind of assignment. The first issue is that it's really hell on the TAs with all of the administrative work needed to do the swapping between phases. Software engineering is already one of the more annoying classes to TA, and this makes it even less palatable. The bigger issue is that, on the basis of fairness, you grade in later phases is very heavily dependent on factors that are ou…
I think you could remove a lot of your fairness and logistical concerns by at stage N choosing one solution and everyone group has to start from there. Now for pedagogical purposes it might be that the professor chooses the best solution or a substantially worse solution. There might be some concern that this unfairly advantages one group over the others but it’s not completely clear to me that it does.
Coping with Copilot
221–230 of 463 posts
Re: Coping with Copilot
#222I understand the problem here and I sympathize with professors in these circumstances. Learning the fundamentals will remain important. But as others have pointed out: if students are unwilling to learn, or are taking shortcuts, it will ultimately hurt them in the long run. One thing tho is that things like Copilot put the lie to the hypothesis (propagated mostly by the Google-style job interview) that intensely codi…
I've been writing code for nearly as long and man, you have to try it. It's more like autocomplete on roids than something that generates Fibonacci methods automagically.
I only used it for a language I'm very familiar with. I'd be a lot more hesitant using it for a language I'm less familiar with because I won't be able to spot the problems so easily.
Re: Coping with Copilot
#223Earlier quoted context omitted.
> if students are unwilling to learn, or are taking shortcuts, it will ultimately hurt them in the long run That's a very limited, and dismissive view. If you allow students to use copilot, you're handing out certificates or diplomas to people who can't code. That will very quickly erode the value of your institute's certification, and with it, that of the other students. Otherwise, why not give everyone an MSc in CS…
I'll be honest: has anyone here ever looked at a resume with an MSc in CS and said "Yep, I bet this person knows how to write code well"? Surely there are some research level jobs where a PhD in CS is necessary, but for most coding jobs, an MSc is just 2 years of missed experience where you're learning bad habits and antipatterns by never having your code used by other people in any strenuous way. Certainly there are…
Re: Coping with Copilot
#224Re: Coping with Copilot
#225Earlier quoted context omitted.
> if students are unwilling to learn, or are taking shortcuts, it will ultimately hurt them in the long run That's a very limited, and dismissive view. If you allow students to use copilot, you're handing out certificates or diplomas to people who can't code. That will very quickly erode the value of your institute's certification, and with it, that of the other students. Otherwise, why not give everyone an MSc in CS…
I've interviewed lots of new grads, and also observed my own classmates. Most institutions have been granting CS diplomas to people that cannot code for decades. Those people tend not to find long-lasting programming jobs.
But research scientists aren't necessarily great engineers, and engineers aren't necessarily great research scientists. That's OK though, it's why we have separate disciplines.
Re: Coping with Copilot
#226Earlier quoted context omitted.
Is it a keystroke saver if you need to review every line it proposes to you?
Yes. For my part, it's a very obvious boost in exactly that sort of keystroke-saving way. Here's an example I just now tried in the codebase I had open. I literally typed in the following Go in a function: mean := geom.Vec3D{} for Copilot then autocompleted this, me pressing tab to accept each line, to: mean := geom.Vec3D{} for _, detection := range filtered { mean.X += detection.X mean.Y += detection.Y mean.Z += det…
Besides, the generated example seems to be missing code to gracefully handle the case where len(filtered) is zero. Maybe there's a precondition that prevents that from happening or maybe a division by zero is exactly what you'd want, but at face value it looks like the bot did a rush job.
Re: Coping with Copilot
#227Earlier quoted context omitted.
I've interviewed lots of new grads, and also observed my own classmates. Most institutions have been granting CS diplomas to people that cannot code for decades. Those people tend not to find long-lasting programming jobs.
Computer science is to programming what materials science is to construction. It produces really interesting new building blocks that actual practitioners can put to amazing uses. But research scientists aren't necessarily great engineers, and engineers aren't necessarily great research scientists. That's OK though, it's why we have separate disciplines.
After graduating most CS grads seem to forget foundational CS stuff anyways.
I never got a CS degree. So I trained myself. While working and also a lot of a year when I was unemployed during the .com crash.
Which only made me more frustrated to find that most jobs are just "you nail these two boards together" and most programmers are clueless about things like what the "relation" in "relational DBMS" means.
Re: Coping with Copilot
#228Earlier quoted context omitted.
How is it abusive?
It was trained using source code whose licenses don't permit such usage.
Re: Coping with Copilot
#229Earlier quoted context omitted.
> The most effective policy might not be to try and mechanically prevent cheating, but to explain that, this is information that you're going to need if you actually want to go into the field and if you're using copilot here you are damaging yourself in the long run. I don't teach CS, but I teach an online course in a STEM field. I give out a similar message ("you're only hurting yourself in the long run"). My anecdo…
> I mean, they're delusional, but I understand the mindset for cheating. Parental (other similar) pressure can indeed be quite strong. Absent of that pressure they wouldn't be there in the first place, so perhaps it is not so much being delusional as a rational response to their environment? If they cheat their way through the parents are happy and then they can return to the life they otherwise would have lived. The…
Re: Coping with Copilot
#230Earlier quoted context omitted.
If someone is just looking to fill a course requirement and has no interest in being a programmer, my response is "meh, whatever". If someone is cheating and actually expects to land a decent CS job, my response is "good luck on the leetcode questions and the 5-7 hours of questions you'll have to answer between the intro call, panels, and an offer". And if someone magically manages to get all that way without actuall…
You underestimate the human ability to get away with incompetence. Unfortunately many of those cheaters manage to get in roles where they can hide their inadequacies, either by slacking of their colleagues that do actual work or by sucking up to the right managers.