Live data from Hacker News

Coping with Copilot

sigarch.org

101–110 of 463 posts

Re: Coping with Copilot

#101
As someone who's used machine translation as a tool to learn 2 human languages, which I eventually gained fluency in, I'm really tired of AI being considered "cheating". Yes, you can use it to approximate answers to questions and be fairly certain those answers are correct. But you can also use it as a tool in your learning process to help you fill in the gaps until you're all the way there. In language, it's quite obvious that using the language will increase your abilities over time. In programming, that may not be so intuitive, but it's also true. The more software you build, the more you will understand about building software well, even if you use Copilot to help write your algorithms. I think the "problem" here is that tools like this make it difficult to enforce that others learn something. But for self-directed people, who are committed to learning and understanding what they are doing, AI is more of a useful tool than a cheat.

Re: Coping with Copilot

#102
While this will definitely be an issue in the short term, it's part of a long standing series of panics where a new technology develops, and everyone worries that we'll lose the skills it abstracts away.

And to some degree we will! I certainly can't do long division anymore, and I struggle to navigate my own neighborhood without GPS. This is a bit sad, but I think something of an inevitability.

If history is any guide, academics should embrace the new tech and try to teach students bigger things that copilot can't yet handle, with the assumption that they'll use copilot to fill in some details--the same way we now teach students to use graphing calculators to solve problems that would have been out of reach for their grandparents.

There are so many things I never learned as an undergrad because we were too focused on algorithms. Database design, testing strategies, different architectures, programming language design, etc. Maybe these things can come to the forefront of the curriculum if we don't need to drill basic algorithms.

Re: Coping with Copilot

#103
post #85

I have been using copilot for two months and I find it more annoying than useful, am the only one that feel like this?, I also used tabnine, and it gives a lot of syntax errors in rust, so I could barely use it for a week. I definitely can agree that copilot is better than tabnine, but I feel like writing code is the easy part of programming, and copilot doesn't offer a crazy help to justify the monthly payment and t…

I use it with python and vscode, it's great there. Sure, half the stuff it makes isn't correct, or nearly correct, but it's very close, and I just need to change a little here or there.

It also does a fantastic job of filling in method parameters from my local variables, again not 100% of the time, but 90% of the time it nails it.

Re: Coping with Copilot

#104
post #11

Cheating is getting easier by the day, but the bottom line is that if the student is cheating, they're probably not absorbing the coursework (or if they are cheating and absorbing the coursework, there might be something wrong with the coursework). 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…

Adjunct instructor here. Before I came into the program, cheating was on the rise. When given programming assignments, students would go to Geeks for geeks and download solutions, some of them mostly correct, and submit those for credit. One remedy was to try to make programming assignments harder and harder. Eventually, they got so hard that we were asking people new to computer science to implement a full arbitrary…

I teach data structures and algorithms among other subjects.

My assignments are similar to everyone else's (CLRS, JeffE, Leetcode) yet different enough that simply copy and pasting will not work.

All I ask is that they comment their code, analyze complexity and cite sources.

I've been using copilot for the last year in my live coding sessions. It saves so much time (especially in comments). If students want to use Copilot I do not see a problem. It is just another tool.

Copilot is near useless without decent programming knowledge. 80% of time it is fantastic. About 10% of time Copilot gives you subpar snippets. O(n2) instead of O(n) etc. Then 10% of time it just gives you wrong snippets.

Just like GPT-3, once you go beyond a paragraph it loses context.

Re: Coping with Copilot

#106
post #50

Earlier quoted context omitted.

I do want to say that, those criteria exclude neurodivergent folk (who for many reasons may have never even been diagnosed). Honestly I think moving away from grades is going to be the way forward. Part of this is also making university, etc cheaper so you’re not financially incentivized to not take a class one, or multiple more times.

Do you also believe that we should move away from evaluation entirely? Genuinely asking.

I think during education yes, during execution of the skills learned in education - not really but also depends.

A lot of people hate how tech interviews are done, right? Cause they have nothing to do with the job the majority of the time. Those are places where I can see improvements.

However, some jobs do genuinely need you to interact with a diverse set of people all the time, for those you need to make sure for the sake of your company & the candidate that they match the criteria. Other jobs, you need only maintain strong relations with small groups, and the requirements for those are a lot easier to hit - even the most introverted people can do well in smaller groups that don't change a lot.

I do really think a lot of evaluations that happen during education though makes a confrontational relationship with learning. You're constantly judged about your _ability to learn_and that has far reaching impacts beyond your first twoish decades of your life. You get scared of making mistakes, you get scared of taking risks, etc.

So, evaluate when it's important for the function & safety of the job, and the candidate. Skip evaluation when its evaluation for the sake of evaluation.

Re: Coping with Copilot

#107

While it is true code pilot is quite amazing and can produce some very decent snippets, if the exercice you give is specific enought (using a special database schema, file format, or API), with objectives that are not common (ask the user specific questions, and draw conclusions out of it or react to events), then it cannot produce a fully working program. I use code pilot regularly now, and it does speed up my work,…

As I moved as well, I experienced three different Canadian universities' Computer Science Program. There was only one professor and course that I still remember 20 years later: CS408, Software Engineering, Professor Wortman, UofToronto. Class project was in four phases, cumulative (basic functionality for the application in phase 1, progressively additional functionality in other phases, frequently strongly interacti…

> you had to swap your code with another team. So you had to pick up somebody else's code, figure it out, and then build up on it

Genius idea! Though if my professors did this, I may have been scared away from a career in programming

Re: Coping with Copilot

#108
post #11

Cheating is getting easier by the day, but the bottom line is that if the student is cheating, they're probably not absorbing the coursework (or if they are cheating and absorbing the coursework, there might be something wrong with the coursework). 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…

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.

Re: Coping with Copilot

#109
post #63
post #11

Cheating is getting easier by the day, but the bottom line is that if the student is cheating, they're probably not absorbing the coursework (or if they are cheating and absorbing the coursework, there might be something wrong with the coursework). 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…

> 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 When you say into the field, do you mean academia or industry? Because the things copilot does for you are absolutely not the things you need to know yourself to be in industry. They're, for the most part, things we tried to put in libraries (or more idea…

> They're, for the most part, things we tried to put in libraries.

We need some people who can do things like making those libraries. It also seems plausible that the people who have at least some of the knowledge and judgement to do that effectively will, on average, be more effective on more mundane tasks as well.

Larry Wall is one who wrote (somewhat drolly) about the virtues of laziness, but there was nothing lazy about what he did.

Re: Coping with Copilot

#110
post #78

Earlier quoted context omitted.

Ugh I had someone ask me to debug a verbally communicated error message in an interview. Like they picked some random port configuration issue that had stumped them for days in the past and thought cool let’s remove the internet, the command line, and ask people to solve it on the spot. I offered plenty of plans for how I would go about debugging, but I didn’t know the one simple trick. I agree with trying to use cha…

> Ugh I had someone ask me to debug a verbally communicated error message in an interview. i dont mean that the problem is only verbally communicated. i mean that the debugging process the candidate does is verbally communicated. in the scenario you're describing you'd be sitting at that machine with access to the internet on another machine. like, you know, in real life. > The problem does a really good job of showi…

[deleted]
Post reply on HN