Live data from Hacker News

Coping with Copilot

sigarch.org

131–140 of 463 posts

Re: Coping with Copilot

#131

I don't think using copilot is much worse than autocomplete. It'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 invent…

> Throughout time people have invented new tools that makes their predecessors more efficient in their proffesion.

And yet, here we are, learning reading and writing like it's 500BC.

Re: Coping with Copilot

#132

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…

> Here's the kicker: After each phase, 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.

This is hilarious and is a good example of how sw engineering works in the real world. Love it.

Re: Coping with Copilot

#133
post #70

Could you just use another teaching language? Does copilot work as well with e.g. Racket, Raku or Pascal, which all seem like decent CS101 languages to me?

Students don't like learning languages that they are not going to use professionally. They want to learn Python, Javascript, maybe Java or C#.

This is another clear indicator that most students today see college as a higher class trade school, not as a place of higher learning.

Re: Coping with Copilot

#134

Earlier quoted context omitted.

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…

There are a few issues with this kind of assignment. 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 ou…

> 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.

what? I must be living a rare life.

Re: Coping with Copilot

#136
If what you’re asking of these students can easily be automated by a tool then the problem is in the assignment. Either don’t request it, knowing it can be automated with ease, or accept that bubble sorts are a long solved problem and move on to teaching other things.

Lest anyone think I’m saying don’t teach important concepts or that such things no longer matter: there’s a whole world of principles and fundamentals that can be taught and assessed without fizzbuzzing 100 students who already had access to Google and StackOverflow before Copilot came along.

Yes, directly assessing hands-on coding would be much better, but these tiny snippets aren’t really indicative of real-world tasks that will be needed anyway (given that almost anything so foundational will almost certainly be in a standard library), it doesn’t really prepare students for real-world development work, and there’s a general expectation that new graduates are going to be very very green and therefore need a lot of handholding regardless. Even more than that, you’ve no way of detecting plagiarism already in these assignments given that a couple of basic rename refactors is going to stop you from proving the code was lifted from elsewhere to begin with.

Re: Coping with Copilot

#137

Earlier quoted context omitted.

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.

I will try it at some point, but I have... feelings... about its abuse of open source licenses software as a learning set. Also I work in Rust these days, and use CLion. Not sure if it would be much help in that environment.

I left GitHub on the spot, and moved to Source Hut the day Copilot released.

Re: Coping with Copilot

#139
post #114

Earlier quoted context omitted.

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…

such systems might spring up, but the market is far more limited than for generalist CoPilot-like systems, and they will thus likely be less sophisticated and thus easier spot (by other automated solutions)

Might? This is the future of systems like CoPilot, reading existing source code only goes so far and it is only matter of time before the state of the art systems dynamically map compilers, even foreign ones, to source code. Once mapped, system will use its universal transcoder to remap the code to a know target language and even dynamically rewrite the compiler of the foreign language if appropriate to fill idiomatic gaps.

Ultimate end user for systems like these are not humans.

Re: Coping with Copilot

#140

Earlier quoted context omitted.

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…

There are a few issues with this kind of assignment. 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 ou…

I would expect that code you get from Stage N-1 is functional across a range of tests that are agreed upon upfront.

For the fairness aspect, I would also let students pick any Stage N-1 that is not their previous N-1. That would also teach em that not all is created equal (and probably identify approaches / ideas that they can incorporate in their work)

Post reply on HN