Coping with Copilot
91–100 of 463 posts
Re: Coping with Copilot
#92Re: Coping with Copilot
#93Earlier 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…
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
#94So it might be more like bringing a tennis racket to a grenade fight.
Re: Coping with Copilot
#95Grading 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...
Re: Coping with Copilot
#96Just 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.
Re: Coping with Copilot
#97Earlier 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…
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> 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…
Re: Coping with Copilot
#99I 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…
Re: Coping with Copilot
#100While 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…