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.
Coping with Copilot
111–120 of 463 posts
Re: Coping with Copilot
#112While 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…
The first issue is that it's really hell on the TAs with all of the administrative work needed to do the swapping between phases. Software engineering is already one of the more annoying classes to TA, and this makes it even less palatable.
The bigger issue is that, on the basis of fairness, you grade in later phases is very heavily dependent on factors that are outside of your control. If you get someone's code who just didn't complete the assignment--that is probably going to happen once a semester--you are going to be at a disadvantage. Even if there is an option to appeal to the TAs and get the unacceptable code base replaced with an acceptable one, that's still likely to be a few days' worth of work lost learning the codebase, discovering its incompleteness, and now you have to start over again.
I'll also point out that it's not exactly real-world experience. It is extremely rare that someone will be dumped on a codebase without a prior author remaining on to help them ramp up on the code.
Re: Coping with Copilot
#113While 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 guid…
These are not the same thing at all. Yes calculators and such have largely made long division pointless, but it's still quite useful being able to get around without GPS. especially around construction, GPS is awful.
You need to know the limits of the tools you're using. If you just say "I'm always going to use GPS, because it's always better" you are really doing yourself a disservice.
Re: Coping with Copilot
#114> 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…
Re: Coping with Copilot
#115Earlier quoted context omitted.
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 f…
But I'm on the other side and don't have the stress of "my whole life depends on looking like an all-star" at university. Like, what do you do if you leave school with such a severe lack of actual skill?
OTOH, the last year I taught, every student in the program I was an adjunct for graduated with a job offer in hand. Maybe it all works out fine.
Re: Coping with Copilot
#116I 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.
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.
Re: Coping with Copilot
#117Earlier quoted context omitted.
> 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 go into the field and if you're using copilot here you are damaging yourself in the long run. I don't teach CS, but I teach an online course in a STEM field. I give out a similar message ("you're only hurting yourself in the long run"). My anecdo…
Some courses really are required bullshit to some students. A lot of professors don't realize this, but if you teach a required course, it is simple math to say that some of your students just don't need to learn what you are teaching. Sure, a lot of students do need it but don't think they do, but a good fraction of the class does not need to learn the content you are teaching. The only remaining question is how to…
In general, they appreciate my candor.
That being said, in my experience, the students who cheat often delude themselves into thinking that they understand the material--and they really don't.*
Then they seem shocked when they take a certification exam (where they have to leave phones at the door and are closely monitored) and they bomb the exam.*
* I'm speaking in generalities here. I'm sure there are some cheaters who are being "smart" about their cheating.
Re: Coping with Copilot
#118I 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
#119It's an improvement of our toolbox, students SHOULD learn to use it.
It's not much worse than using c instead of assembler, or java instead of c, or ...
Throughout time people have invented new tools that makes their predecessors more efficient in their proffesion.
Too many programmers these days behaves like the workers did when automatic looms were invented. Or when the chainsaw was invented.. or the computers.. or the...
Re: Coping with Copilot
#120Guess how I learned query/replace in Emacs in 1985? My friend who copied my Pascal programming assignment is now a director at a $1B hedge fund. I'm the founder of a series of scrappy, ramen noodle startups. I guess it's the "Senator Blutarsky" effect: https://en.wikipedia.org/wiki/John_%22Bluto%22_Blutarsky