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.
Coping with Copilot
321–330 of 463 posts
Re: Coping with Copilot
#322This 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…
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
#323Earlier 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.
Re: Coping with Copilot
#324Earlier 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…
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
#325Earlier 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…
Re: Coping with Copilot
#326Hi 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'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
#327Earlier 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.
Re: Coping with Copilot
#328Earlier 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.
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
#329I 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…
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
#330Earlier 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.