One of the best assignments I had in CS was "here is a compiler, there are nine known bugs in it, find and fix six of them." I don't see how Copilot could help in that case.
Coping with Copilot
371–380 of 463 posts
Re: Coping with Copilot
#372I 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
#373Earlier quoted context omitted.
If you’re writing code you are the audience for copilot. Just try it
This sounds kind of creepy culty. I think it's the pushing "just try it" vs merely reporting "I like it".
Re: Coping with Copilot
#374I guess Microsoft will know which students did their assignments on their own when they apply for a job at Microsoft.
Re: Coping with Copilot
#375Setting aside the academic implications for a moment, if you think that Copilot-like models won't be a significant part of programming in the future I'd like to point out this research from Google: > We compare the hybrid semantic ML code completion of 10k+ Googlers (over three months across eight programming languages) to a control group and see a 6% reduction in coding iteration time (time between builds and tests)…
There might be AI written code in the future and surely the "no code" shills will latch onto it with religious fervor. But, much like "no code will eat the world", this too will fail. Until general intelligence is capable of producing large scale systems that need to be coddled and orchestrated, bespoke perhaps even brand new approaches to business problems, etc, there will always be many highly paid humans there.
The conspiracy theorist in me makes me think that all of this push to shill this product constantly is yet another way the FAANGS are attempting to dilute the pool enough to lower wages. Engineering is highly skilled, highly technical work. The actual work of someone higher than junior level typically evolved way beyond simple CRUD coding exercises. When you spend more time making sure copilot meets standards, the code is correct, etc it's simply not that useful. It feels much more like the fancy test case generators for some IDEs. For very trivial, borderline rudimentary cases, it works wonderfully and saves time. Once things become complicated and messy it just gets in the way.
Re: Coping with Copilot
#376Earlier 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…
Re: Coping with Copilot
#377This seems like a problem for educational institutions, not for industry. We're already inundated with mediocre programmers, many of whom have CS degrees, which is precisely why the industry looks at job experience more than credentials [0]. I don't see how this is going to further reduce the supply of competent candidates. What it will do, however, is make it difficult for CS departments to evaluate students based o…
How does looking at job experience help to distinguish good from bad developers?
Re: Coping with Copilot
#378Earlier 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…
> I mean, they're delusional, but I understand the mindset for cheating. Parental (other similar) pressure can indeed be quite strong. Absent of that pressure they wouldn't be there in the first place, so perhaps it is not so much being delusional as a rational response to their environment? If they cheat their way through the parents are happy and then they can return to the life they otherwise would have lived. The…
Because your customer, in so doing, is stealing from your other customers and undermining your reputation as a vendor.
Plus, you're disheartened because this interaction is a waste of time, regardless of the fact you get paid: if money was all you cared about, you wouldn't be in education.
Re: Coping with Copilot
#379I 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
#380Earlier quoted context omitted.
I'll be honest: has anyone here ever looked at a resume with an MSc in CS and said "Yep, I bet this person knows how to write code well"? Surely there are some research level jobs where a PhD in CS is necessary, but for most coding jobs, an MSc is just 2 years of missed experience where you're learning bad habits and antipatterns by never having your code used by other people in any strenuous way. Certainly there are…
Lets face it: There is so much theory crammed into some CS degrees, bachelor and master degrees, that students do not get to code much. Real coding is often learned by oneself in side projects or on the job. If students do not engage in side projects, how do we expect them to be proficient computer programmers out of university? However, I see this as a failure of CS education. Our work is with computers. If we do no…
CS fundamentally is not about computers. It's about math and the flow of information between theoretical machines. Computers just happen to be a physical implement.
The idea that universities should teach to develop industry-fit individuals is just an extension of commodifying university education. Why not let the industry handle training for what they need their people to do, and let universities focus on their intended goal: create more university professors/researchers.
What about moving the responsibility (and financial risk) off students' backs and to the corporations that want to exploit the knowledge gained in a degree through apprenticeship and learning to code through experience?