Live data from Hacker News

Coping with Copilot

sigarch.org

271–280 of 463 posts

Re: Coping with Copilot

#271

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.

I understand what you're getting at, but feel like you're splitting hairs here since somebody who goes to look it up on Stack overflow is just going to copy paste... not type it out line by line like it's a page of BASIC from BYTE magazine.

Re: Coping with Copilot

#272
post #228

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

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

#273
This reminds me of a story that an old professor of theoretical physics told me. In the early nineties, he left the former Soviet Union for the United States to teach physics at one of the top universities. There he encountered the fact that American students were fantastically good at solving all his standard problems for integrals. It quickly became clear that the students were using the then-new program for symbolic calculations, Mathematica. As a result, our professor also mastered Mathematica and spent half the night finding such integrals that it still could not calculate for assignments.

I 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

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

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

>Meanwhile, someone who has Stanford or Harvard on their resume is virtually guaranteed an interview.

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

#275

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

I got my MS directly after my BS without looking for work. In my case, your claim is that experience was actually detrimental to my knowledge, somehow erasing part of the value of my BS.

Maybe that's why you're getting downvoted. (Not by me, for the record.)

Re: Coping with Copilot

#276

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…

> Especially since this kind of thing is best done on the job by looking in a good textbook or using the standard library.

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

#277

Earlier 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

Exactly. Since it was so great, I didn't need to be told to try it, and what's it to you if I do or don't?

Re: Coping with Copilot

#278
post #129

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…

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…

Nobody at Google wants you to do boring work without questioning the need for it. That would be a waste of money and time.

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

#279

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

[deleted]

Re: Coping with Copilot

#280
post #272
post #228

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

Sure, but there are things you can do without a license because they're not copyright violations. You can read the work, learn from it, and sometimes make quotations under fair use.

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?

https://en.m.wikipedia.org/wiki/Transformative_use

Post reply on HN