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