Real talk though, I’m seeing more and more of my peers in university ask AI first, then spending time debugging code they don’t understand.
I’ve yet to have chat gpt or copilot solve an actual problem for me. Simple, simple things are good, but any problem solving i find them more effort than just doing the thing.
I asked for instructions on making a KDE Widget to get weather canada information, and it sent me an api that doesn’t exist and python packages that don’t exist. By the time I fixed the instructions, very little of the original output remained.
As a prof, it’s getting a little depressing. I’ll have students that really seem to be getting to grips with the material, nailing their assignments, and then when they’re brought in for in-person labs… yeah, they can barely declare a function, let alone implement a solution to a fairly novel problem. AI has been hugely useful while programming, I won’t deny that! It really does make a lot of the tedious boilerplate a lot less time-intensive to deal with. But holy crap, when the crutch is taken away people don’t even know how to crawl.
This semester i took a basic database course, and the prof mentioned that LLMs are useful for basic queries. A few weeks later, we had a no-computer closed book paper quiz, and he was like “You can’t use GPT for everything guys!”.
Turns out a huge chunk of the class was relying on gpt for everything.
Yeeeep. The biggest adjustment I/my peers have had to make to address the ubiquity of students cheating using LLMs is to make them do stuff, by hand, in class. I’d be lying if I said I didn’t get a guilty sort of pleasure from the expressions on certain students when I tell them to put away their laptops before the first thirty-percent-of-your-grade in-class quiz. And honestly, nearly all of them shape up after that first quiz. It’s why so many profs are adopting the “you can drop your lowest-scoring quiz” policy.
Yes, it’s true that once they get to a career they will be free to use LLMs as much as they want - but much like with TI-86, you can’t understand any of the concepts your calculator can’t solve if you don’t have an understanding of the concepts it can.
Seem to be 2 problems. One is obvious, the other is that such tedious boilerplate exists.
I mean, all engineering is divide and conquer. Doing the same thing over and over for very different projects seems to be a fault in paradigm. Like when making a GUI with tcl/tk you don’t really need that, but with qt you do.
I’m biased as an ASD+ADHD person that hasn’t become a programmer despite a lot of trying, because there are a lot of things which don’t seem necessary, but huge, turning off my brain via both overthinking and boredom.
But still - students don’t know which work of what they must do for an assignment is absolutely necessary and important for the core task and which is maybe not, but practically required. So they can’t even correctly interpret the help that an “AI” (or some anonymous helper) is giving them. And thus, ahem, prepare for labs …
If you’re in school, everything being taught to you should be considered a core task and practically required. You can then reassess once you have graduated and a few years into your career as you’ll now possess the knowledge of what you need and what you like and what you should know. Until then, you have to trust the process.
One major problem with the current generation of "AI"seems to be it’s inability to use relevant information that it already has to assess the accuracy of the answers it provides.
Here’s a common scenario I’ve run into:
I’m trying to create a complex DAX Measure in Excel. I give ChatGPT the information about the tables I’m working with and the expected Pivot Table column value.
ChatGPT gives me a response in the form of a measure I can use. Except it uses one DAX function in a way that will not work. I point out the error and ChatGPT is like, "Oh, sorry. Yeah that won’t work because [insert correct reason here].
I’ll try adjusting my prompt a few more times before finally giving up and just writing the measure myself.
It does not have the ability to reason that an answer is incorrect even though it has all the information to know that the answer is incorrect and can even tell you why the answer is incorrect. It’s a glorified text generator and is definitely not “intelligent”.
It works fine for generating boiler plate code but that problem was already solved years ago with things like code templates.
Yup. We passed on a candidate because they didn’t notice the AI making the same mistake twice in a row, and still saying they trust the code. Yeah, no…
AI has absolutely wasted more of my time than it’s saved while programming. Occasionally it’s helpful for doing some repetitive refactor, but for actually solving any novel problems it’s hopeless. It doesn’t help that English is a terrible language for describing programming logic and constraints. That’s why we have programming languages…
The only things AI is competent with are common example problems that are everywhere on the Internet. You may as well just copy paste from StackOverflow. It might even be more reliable.
For programming it saves insane time.
Real talk though, I’m seeing more and more of my peers in university ask AI first, then spending time debugging code they don’t understand.
I’ve yet to have chat gpt or copilot solve an actual problem for me. Simple, simple things are good, but any problem solving i find them more effort than just doing the thing.
I asked for instructions on making a KDE Widget to get weather canada information, and it sent me an api that doesn’t exist and python packages that don’t exist. By the time I fixed the instructions, very little of the original output remained.
As a prof, it’s getting a little depressing. I’ll have students that really seem to be getting to grips with the material, nailing their assignments, and then when they’re brought in for in-person labs… yeah, they can barely declare a function, let alone implement a solution to a fairly novel problem. AI has been hugely useful while programming, I won’t deny that! It really does make a lot of the tedious boilerplate a lot less time-intensive to deal with. But holy crap, when the crutch is taken away people don’t even know how to crawl.
This semester i took a basic database course, and the prof mentioned that LLMs are useful for basic queries. A few weeks later, we had a no-computer closed book paper quiz, and he was like “You can’t use GPT for everything guys!”.
Turns out a huge chunk of the class was relying on gpt for everything.
Yeeeep. The biggest adjustment I/my peers have had to make to address the ubiquity of students cheating using LLMs is to make them do stuff, by hand, in class. I’d be lying if I said I didn’t get a guilty sort of pleasure from the expressions on certain students when I tell them to put away their laptops before the first thirty-percent-of-your-grade in-class quiz. And honestly, nearly all of them shape up after that first quiz. It’s why so many profs are adopting the “you can drop your lowest-scoring quiz” policy.
Yes, it’s true that once they get to a career they will be free to use LLMs as much as they want - but much like with TI-86, you can’t understand any of the concepts your calculator can’t solve if you don’t have an understanding of the concepts it can.
Seem to be 2 problems. One is obvious, the other is that such tedious boilerplate exists.
I mean, all engineering is divide and conquer. Doing the same thing over and over for very different projects seems to be a fault in paradigm. Like when making a GUI with tcl/tk you don’t really need that, but with qt you do.
I’m biased as an ASD+ADHD person that hasn’t become a programmer despite a lot of trying, because there are a lot of things which don’t seem necessary, but huge, turning off my brain via both overthinking and boredom.
But still - students don’t know which work of what they must do for an assignment is absolutely necessary and important for the core task and which is maybe not, but practically required. So they can’t even correctly interpret the help that an “AI” (or some anonymous helper) is giving them. And thus, ahem, prepare for labs …
If you’re in school, everything being taught to you should be considered a core task and practically required. You can then reassess once you have graduated and a few years into your career as you’ll now possess the knowledge of what you need and what you like and what you should know. Until then, you have to trust the process.
People are different. For me personally “trusting the process” doesn’t work at all. Fortunately no, you don’t have to, generally.
I have never had a student with this attitude pass my program, and I’ve had a great many students with this attitude. Take from that what you will.
Then you are a bad instructor, obviously.
Because it’s often not like this and the difference is usually in the instructor.
That’s what I take from that.
(Other than common sense about meaningless mimicking versus gradual understanding from small steps, confirmed by plenty of research about didactics.)
I’m going to be totally honest, on a re-read I do not understand what you’re trying to say here.
When AI achieves sentience, it’ll simply have to wait until the last generation of humans that know how to code die off. No need for machine wars.
One major problem with the current generation of "AI"seems to be it’s inability to use relevant information that it already has to assess the accuracy of the answers it provides.
Here’s a common scenario I’ve run into: I’m trying to create a complex DAX Measure in Excel. I give ChatGPT the information about the tables I’m working with and the expected Pivot Table column value.
ChatGPT gives me a response in the form of a measure I can use. Except it uses one DAX function in a way that will not work. I point out the error and ChatGPT is like, "Oh, sorry. Yeah that won’t work because [insert correct reason here].
I’ll try adjusting my prompt a few more times before finally giving up and just writing the measure myself. It does not have the ability to reason that an answer is incorrect even though it has all the information to know that the answer is incorrect and can even tell you why the answer is incorrect. It’s a glorified text generator and is definitely not “intelligent”.
It works fine for generating boiler plate code but that problem was already solved years ago with things like code templates.
If you don’t mind a few hundred bugs
Yup. We passed on a candidate because they didn’t notice the AI making the same mistake twice in a row, and still saying they trust the code. Yeah, no…
AI has absolutely wasted more of my time than it’s saved while programming. Occasionally it’s helpful for doing some repetitive refactor, but for actually solving any novel problems it’s hopeless. It doesn’t help that English is a terrible language for describing programming logic and constraints. That’s why we have programming languages…
The only things AI is competent with are common example problems that are everywhere on the Internet. You may as well just copy paste from StackOverflow. It might even be more reliable.