Live data from Hacker News

Coping with Copilot

sigarch.org

221–230 of 463 posts

Re: Coping with Copilot

#221
post #203

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.

You could also choose two, which then ensures no team starts with their own work from the previous phase

Re: Coping with Copilot

#222

I 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 found carefully reviewing the suggestions it gave me more work than actually writing the code myself. Granted, I only used it for a day, but many of the suggestions were subtly wrong, needless inefficient, or used outdated/deprecated paradigms/standard library stuff.

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

#223
post #126

Earlier 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…

Depends on the school and depends on the person. The same way many companies in the US assume any grad from MIT is a good engineer, there are companies who look at resumes w/ an MSc and bump them up. From personal experience, MScs are particularly well-regarded in Brazil, for instance.

Re: Coping with Copilot

#224
Here’s the thing. When you learn to be a carpenter, they teach you how and when to use certain tools. The same can be for any profession. This is a new tool. They shouldn’t be telling students not to use it, but when to use it and what it is suited for.

Re: Coping with Copilot

#225
post #189
post #126

Earlier 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.

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.

Re: Coping with Copilot

#226

Earlier 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…

This is a good example of why I dread Copilot: even if Go specifically couldn't express this any more concisely, there is a language that can and Copilot's very existence makes it less likely for that other language to be used as much as it deserves.

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

#227
post #189

Earlier 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.

I mean, it's more like "woodworker" vs "carpenter." We don't ask people framing houses to plane their own wood. Most practitioners in our industry don't apply much fundamental CS knowledge.

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

#228
post #178

Earlier quoted context omitted.

How is it abusive?

It was trained using source code whose licenses don't permit such usage.

In what sense? Copilot isn’t a derivative work in the sense these licenses usually are understood to mean. And given that they’re open source code bases I expect licenses to explicitly disallow things, and consider anything not explicitly disallowed as permitted.

Re: Coping with Copilot

#229
post #26

Earlier 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…

Famous professor quote/reply about this: "in teaching, students are not the customer. They are the product."

Re: Coping with Copilot

#230

Earlier 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.

Oh it definitely happens, I'm not saying it doesn't. But in those examples you mention I would say there are more people who are bad at their job than just the IC who "faked it".
Post reply on HN