Live data from Hacker News

Coping with Copilot

sigarch.org

91–100 of 463 posts

Re: Coping with Copilot

#91
Curious, has anyone has seen a “cheaters” guide to programming — that basically teaches a predictable barebones process that assumes unmoderated access to internet, computer, etc - and using Google, StackOverflow, CoPilot, etc. to solve 80% of programming issues average programmer faces?

Re: Coping with Copilot

#93

Earlier quoted context omitted.

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…

Hi, sometime adjunct here. Cheating on programming assignments has been rampant forever at every undergrad institution I have experience with and somewhat present among graduate students. My experience spans about 25 years in that space now. When I taught an introductory class, I gave open-book exams with no laptops or phones allowed. About 1/3 of the class was unable to write a syntactically correct for loop in Pyth…

I recently worked at a large state university. I remember a conversation with an instructor in a master-level operating systems course. One of the assignments was to implement a simple filesystem. The amount of cheating was insane. He started academic dishonesty proceedings against many of the students but the department pressured him to "work it out."

He had to basically interview each student individually and ask for an explanation of the code. Most could not explain what their code was doing (because they didn't write it).

They were all given an opportunity to resubmit original work. Many could not do it, because they simply didn't understand the basics of programming, or the language they were using, or how computers even worked.

These were Masters students.

Re: Coping with Copilot

#94
A professor could put up an almost correct but slightly wrong answer on github or even a right answer with a copyright trap.

So it might be more like bringing a tennis racket to a grenade fight.

Re: Coping with Copilot

#95
post #88

Grading students is probably an archaic way of teaching. You want them engaged not cheating. But ok, institutions want grades... What about this solution?: https://theconversation.com/i-no-longer-grade-my-students-wo...

Previously discussed here: https://news.ycombinator.com/item?id=30842587

Re: Coping with Copilot

#96

Just add a requirement where the student has to explain how the code works. To be honest there should be a class called language model querying because for simple tasks it does well but eventually you will have to debug the output (not just copilot but GPT3 and dall-e).

Much like reverse engineering, it's easier to come up with an explanation when you have someone else's working solution to examine than it is to come up with a working solution from scratch on your own. So that doesn't really help.

but maybe, they'll end up learning anyway? one thing i realized when i went back to studying online is that i was no longer the student who needed to prove something to someone else, and the typical test annoyed me. I get that this article is about a teacher trying to find out how much their students have learned a subject, but maybe that needs to change?

Re: Coping with Copilot

#97
post #78

Earlier quoted context omitted.

> one addition to programming assignments includes an analysis write up. when i was interviewing candidates this was the fastest way to filter those who understood and those who didnt. ask someone to talk you through how to solve some real-life problem. to look at a stack trace and describe what they see, or to run a profile and trace through the cause of a hotspot/contention. show them an issue and have them live de…

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 showing a candidates grasp of all the tricky parts of js, so I keep using it despite the drawbacks.

async stuff in js is pretty good, but it's also easy to go too deep on it with some bizzarely poorly architected code. many js devs still fail to grasp all the implications of closures, or how to avoid memory leaks, or how to work with the GC rather than against it.

Re: Coping with Copilot

#98
post #79

> we teach in programming languages that don’t even exist I remember reading about a framework that actually sort of does that - create randomized programming languages. It was meant as a security feature against code injections iirc, but technically it should work as a solution to OP's problem. Although I guess some of the other suggestions are better and easier to implement - ask students to explain their code (sel…

Only matter of time before CoPilot like systems (if they do not already) just reverse engineer the compilers to produce and link a dynamic syntax to know instances in plain-text source code of the “foreign” programming languages and render them within a language the user already understands; yes, there might be gaps in idioms, assuming a natively written language, but using example you provided, there in theory would not; ...and if need, return a final version in the target “foreign” programming language.

Re: Coping with Copilot

#99

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…

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.

Re: Coping with Copilot

#100

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…

Hats off to your prof. This is such a brilliant idea for how to teach, anchored in a solid reflection of what “doing the job” is like day-to-day outside the academic context.
Post reply on HN