Coping with Copilot
101–110 of 463 posts
Re: Coping with Copilot
#102And 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
#103I 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…
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
#104Cheating 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…
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
#105Seems like they would have had to solve the “how do I know what you know you know issue”.
Re: Coping with Copilot
#106Earlier 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.
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
#107While 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…
Genius idea! Though if my professors did this, I may have been scared away from a career in programming
Re: Coping with Copilot
#108Cheating 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…
Re: Coping with Copilot
#109Cheating 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…
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
#110Earlier 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…