Live data from Hacker News

Coping with Copilot

sigarch.org

321–330 of 463 posts

Re: Coping with Copilot

#321
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…

Just raise the bar, rather than getting students to reverse an array, get them to do something more complex that is difficult even with the use of modern AI tools. We currently hand out degrees to people who couldn't write a program in raw assembly but it doesn't matter anymore. The world has moved on from that being a required skill.

Seriously. Take an rfc, change some of the clauses, and make them implement it.

Re: Coping with Copilot

#322

This seems like a problem for educational institutions, not for industry. We're already inundated with mediocre programmers, many of whom have CS degrees, which is precisely why the industry looks at job experience more than credentials [0]. I don't see how this is going to further reduce the supply of competent candidates. What it will do, however, is make it difficult for CS departments to evaluate students based o…

Northeastern University is a college which is extremely popular for it's co-op program. What is co-op? It's literally just working at a company for 6 months. Yet students proclaim how it teaches them so much better than classes and helps them so much to get a great job, and I mean, it does.

College is the new high-school: everyone goes, only to get a job, because you have to go to college and get a CS degree to get a job. Why? A lot of "compute science" isn't used in software development at all.

I think we should replace colleges with "boot camps" which are unpaid internships which teach high schoolers how to work in actual software development, in various fields (let's call them "entry level jobs which don't require 5 years of experience"). Why unpaid? Because companies will love it, and it will still be better than colleges where you pay a full year's salary in tuition.

What about people who actually want to pursue higher-ed computer science? Just don't replace all colleges. It seems like most people getting into CS are not doing it for academia, those that are will have a better time taking courses with others who are passionate about the subject instead of simply using it to get a high-paying job.

Re: Coping with Copilot

#323

Earlier quoted context omitted.

I'll generally rate an MSc lower than BA/BSc. (The exceptions would be if you needed the MSc to meet some visa requirement, or if you had an BSc in some weakly-related field beforehand.) From downvoters: I would genuinely love to hear a defense of an MSc per se. What university has their shit together enough to actually accelerate/compress 2-4y of work experience into 1-2y years of academic project, which is what's a…

A masters program is generally going to cover deeper theoretical subjects and will also give you stronger mathematical underpinnings in those areas. If you're just looking for a code monkey to do your e-commerce react website then obviously work experience will always trump academia.

This comment reeks of elitism.

Re: Coping with Copilot

#324
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…

Lets face it: There is so much theory crammed into some CS degrees, bachelor and master degrees, that students do not get to code much. Real coding is often learned by oneself in side projects or on the job. If students do not engage in side projects, how do we expect them to be proficient computer programmers out of university?

However, I see this as a failure of CS education. Our work is with computers. If we do not teach, how to use the tool we work with properly, then we have failed. I know CS is not only developing software, but also a lot about the theory, but it should not exclude practice of working with the most commonly used tool, which graduates will use, the computer.

Often even things are taught wrongly (do not get me started on "every noun is a class" kind of teaching of OOP), by people, who have not developed a single larger code base for decades.

That said, the industry has at least in that regard caught up a bit, and realized, that fresh from university most people do not write good code immediately.

Re: Coping with Copilot

#325

Earlier quoted context omitted.

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

I’ve really found no use for it at all. It doesn’t understand the codebase it’s being used in. I can’t tell it to write a service that gets data from another internal microservice, oh and make sure you do it in the same way the other services are implemented so that this passes code review… it can cough up slightly wrong answers to leetcode problems, but who has a job where that’s useful?

Re: Coping with Copilot

#326
post #233

Hi everyone, article author here. I was also interviewed by The Register about this topic: https://www.theregister.com/2022/08/19/copilot_github_studen... .

I might have missed it today in your articles or comments here--it's been a hectic day--but has there been some study of just how different code would be given that the students are using the same text from questions? Is there randomization intrinsic to Copilot, or is it just because minor variations in textual input causes code to be so different? My wife taught CS, she did catch cheaters pre-Copilot, and my first t…

I haven't seen a study yet, but yes, Copilot deliberately (AFAICT) incorporates randomness. For longer code fragments, I believe this would thwart most plagiarism detectors.

I'll note that defeating plagiarism detectors is easier than many people think. I and one of my students wrote a paper on an automatic technique to defeat plagiarism detectors, and it was highly effective: "Mossad: Defeating Software Plagiarism Detection", Devore-McDonald and Berger, OOPSLA 2020 (talk and paper link here: https://2020.splashcon.org/details/splash-2020-oopsla/14/Mos...).

Re: Coping with Copilot

#327
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…

Most people I meet with CS degrees cannot code. Not anything. Some can’t declare variables or get a file to compile.

Your actual problem is that you are stressing people out so badly that they cannot think, then asking things of them while expecting them to fail

Re: Coping with Copilot

#328
post #178

Earlier quoted context omitted.

How is it abusive?

There is a common trend of devs on HN getting angry that their work has been "stolen" to train copilot, While none of them raised the same concerns when everything else like art, music, literature, etc was used to train other models. Now that it affects them its a real issue.

Yes. It's especially amusing given that much of the other things you note are actually intended for commercial use (i.e. sales) from the start, unlike open source software.

I just don't understand the OSS community sometimes. "Software should be open and free (libre) for me to study and modify" includes what Github did for copilot. If you don't want your software to be free (in either sense), don't host it on an open source platform, especially one that makes it available gratis to the public.

There's possibly a valid argument that any private repo code that was used for copilot doesn't fit the proper definition of "open" (or gratis). But I haven't actually read the Github license around this, so I don't know.

Re: Coping with Copilot

#329

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…

> After 30 years, actually writing code is perhaps the easiest part of my job. The mechanics is the easy part. The big picture thinking and figuring how to get it all together into a system is the hard part

This is the thing that you won't be learning about in a bootcamp. Coding is easy. Knowing what to code is hard, sometimes very hard. As is keeping it simple.

Re: Coping with Copilot

#330

Earlier quoted context omitted.

Just raise the bar, rather than getting students to reverse an array, get them to do something more complex that is difficult even with the use of modern AI tools. We currently hand out degrees to people who couldn't write a program in raw assembly but it doesn't matter anymore. The world has moved on from that being a required skill.

Seriously. Take an rfc, change some of the clauses, and make them implement it.

I’ve used copilot to turn an rfc into code. It wasn’t perfect the code did need to be changed a bit but it was surprisingly close. And I ended only rewriting 4-5 lines that were totally wrong and 3-4 just for clarity. Out of like 40 lines of generated code.
Post reply on HN