I get that copilot is AI and pretty cool, but students could look up a Fibonacci program on Google before it existed. What's more these algorithms are written in books. If students wanted to cheat on your "write depth first search" assignment then they already were.
Even implementing an algorithm from a book teaches you something. Most book algorithms are in pseudocode so you need to know how to write a loop or a function in the language you are using. And just the act of typing it line-by-line will focus attention and help cement concepts in the brain (assuming one really wants to learn). Hitting TAB in Copilot doesn't do any of those things.
Coping with Copilot
271–280 of 463 posts
Re: Coping with Copilot
#272Earlier quoted context omitted.
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.
The phrase “derived work” is, IIUC, a phrase from copyright law. And you’d have a hard time convincing me that Copilot-generated code is not a derived work from its training data.
> And given that they’re open source code bases I expect licenses to explicitly disallow things, and consider anything not explicitly disallowed as permitted.
That is very much not how copyright and licences work. Copyright law gives the copyright holder the exclusive right to make copies of the work, making derived works, (and to do some other related things, like making a public performance of it, etc.), so to do any of those things, you need explicit permission, i.e. a license from the copyright holder to do it. A license is not a list of things you are forbidden to do; on the contrary, it is a list of things you are permitted to do, which you would not otherwise be legally allowed to do according to copyright law.
Re: Coping with Copilot
#273I use Copilot every day and I can assure you it makes a lot of mistakes. I think that, at least in the short term, CS teachers will still find assignments where it makes mistakes.
Re: Coping with Copilot
#274Earlier 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…
> 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. Very true. Like it or not, the reputation of educational institutions plays a significant role in candidate selection processes at many companies. If a company brings in 10 graduates from a local…
The funny thing is though - the CS programs at Stanford or Harvard are more research based than anything and hardly teach students to code. You are forced to take maybe 1 or 2 "learn to code" courses and everything else is just math/theory or assumes you can code anyways. And that shouldn't be a surprise; it doesn't take 4 years to learn to code; there are plenty of 15 year olds who can pass leetcode style interviews. Everything else you learn is far more valuable (although it's not a given that you will get a chance to apply it).
Re: Coping with Copilot
#275Earlier quoted context omitted.
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…
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…
Maybe that's why you're getting downvoted. (Not by me, for the record.)
Re: Coping with Copilot
#276I 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…
The way that job interviews continue to fixate on having a huge amount of information stored in your head, rather than your ability to be resourceful, is so frustrating. Oh well, maybe it's about time I go back to Leetcode and see how quickly I can grind out a recursive DFS algorithm...
Re: Coping with Copilot
#277Earlier quoted context omitted.
This sounds kind of creepy culty. I think it's the pushing "just try it" vs merely reporting "I like it".
If you're into being hydrated, water is great. Just try it
Re: Coping with Copilot
#278I 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…
The grind you have to go through in a "google style" interview has nothing to do with the actual work you normally do. It's done to show 1) you will do large amounts of boring work without questioning the need for it 2) you got the fundamentals and you know what's there / when using something you can grok what's going on under the covers. Nobody needs to implement a sorting algorithm until they do - the risk of NIH a…
Hard interview questions are asked for the same reason hard questions are asked in SAT tests. The assumption is that if you can do a hard thing in the interview (implement a mutex using a semaphore or whatever) then you can probably write simple code too.
A few years ago I was working somewhere that had a low hiring bar. We were using an opensource graphql library to interact with some service. The graphql library didn’t expose some queries we needed, so I forked the library and added those queries.
After I left I heard through the grapevine that they were very unhappy with my work. They didn’t have anyone on the team who was skilled enough to maintain the code I wrote, so I left them in a bad place.
In retrospect I’m still not sure what else I could have done to solve the team’s graphql problems. Not that, but what?
Re: Coping with Copilot
#279Earlier 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 will try it at some point, but I have... feelings... about its abuse of open source licenses software as a learning set. Also I work in Rust these days, and use CLion. Not sure if it would be much help in that environment.
Re: Coping with Copilot
#280Earlier quoted context omitted.
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.
> Copilot isn’t a derivative work in the sense these licenses usually are understood to mean The phrase “derived work” is, IIUC, a phrase from copyright law. And you’d have a hard time convincing me that Copilot-generated code is not a derived work from its training data. > And given that they’re open source code bases I expect licenses to explicitly disallow things, and consider anything not explicitly disallowed as…
This is a novel scenario. It seems unclear how the courts will interpret it? Never mind what we think, will they decide it's a derivative work, or is it a transformative use?