this post was submitted on 19 Nov 2024
269 points (98.6% liked)

Programmer Humor

32718 readers
279 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

That's not universal. For instance, last week I got help writing a bash script. But I hope they're helping lots of you in lots of ways.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 43 points 1 month ago (5 children)

I TA for an electrical engineering class. It's amusing, to look at student's code these days. Everything is so needlessly wrapped up in 3-line functions, students keep trying to do in 25 lines what can be done in 2, and it all becomes impossible to debug.

When their code inevitably breaks, they ask me to tell them why it isn't working. My response is to ask them what its meant to be doing, but they can't answer, because they don't know.

The sad thing is we try to make it easy on them. Their assignment specs are filled with tips, tricks, hints, warnings, and even pseudo-code for the more confusing algorithms. But these days, students would rather prompt chatgpt than read docs.

I've never seen chatgpt ever benefit a student. Either it misunderstands and just confuses the student with nonsense code and functions, or else in rare cases it does its job too well and the students don't end up learning anything. The department has collectively decided to ban it and all other genAI chatbots starting next semester.

[–] [email protected] 15 points 1 month ago (1 children)

This is my big concern at my day job. Management keeps pushing AI chat on my younger co-workers, but they can't tell when it's hallucinating. And since there's no feedback loop (our chatbot doesn't learn from us as we type), it just keeps spewing the same lies.

[–] [email protected] 7 points 1 month ago (1 children)

Yeah, been dealing with that a bunch lately too, I've started pushing them towards the documentation directly (though to be fair, sometimes that's ass or nearly nonexistent) with some success.

[–] [email protected] 4 points 1 month ago

Tbh I often find chatbots good for edgecases which are not well-documented (or not documented at all) but hard too google because one of the (or a subset of the) keywords is just flooded with (ireelevant/) unrelated garbage.

[–] [email protected] 8 points 1 month ago* (last edited 1 month ago)

I don't understand why it would be acceptable to submit generated code in the first place. I'd say it's functionally asking others to complete your assignment. Sampling code excessively and without attribution is plagiarism.

And seconding that concern about people not even learning how code works. This was an issue even before chatGPT, when people would by-default look up stack overflow snippets or existing algorithms instead of thinking and training their mind to be able to solve actual real problems, but now it's probably much more widespread as an easier way out. If the school is able to do a code exam in an offline environment, even with manual docs available, it should weed out the ones who didn't learn pretty quickly.

[–] [email protected] 1 points 1 month ago* (last edited 1 month ago)

There is no need to ask GPT for a ready-to-use code, it does not work well for it. But it explains someone else's complex code much better. Students need to ask it for short hints in places where it is not clear specifically or very small parts of the code, then it brings good benefits.

[–] [email protected] 1 points 1 month ago

A friend of mine works in a similar position and we discussed it a bit.

Since ai is a thing and we have some newer, younger and motivated profs, they actually kind of teach and discuss the use of ai in class, which is pretty important.

In my opinion we will not get rid of them, just like the internet.

And we have no metric to determined if ai was used or not.

So the only way to deal with this situation is to accept the existence and use of ai and create different tasks.

For example make them explain the code and make it clear there will be questions. That way they have to learn code. If they use ai or not does not matter.

And create tasks that require human interaction, like collaborative tasks, those can't be done by ai and you have to structure the project.

[–] [email protected] -5 points 1 month ago* (last edited 1 month ago) (2 children)

How do you know if it doesnt benefit a student? If their work is exceptional, do you assume they didnt use an LLM? Or do you not see any good code anymore?

[–] [email protected] 9 points 1 month ago (1 children)

It replaces the work required to research and think about the problem. You know the part where you'd normally learn and understand the issue at hand

[–] [email protected] 4 points 1 month ago (1 children)

I mean, they don't generally keep their use of chatgpt a secret. Not for now, anyway. Meanwhile, the people who do well in the class write their code in a way that clearly shows they read the documentation, and have made use of the headers we've written for them to use.

In the end, does it matter? This isn't a CS major, where you can just BS your way through all your classes and get a well paying career doing nothing but writing endpoints for some js framework. We're trying to prepare them for when they're writing their own architecture, their own compilers, their own OSses; things that have 0 docs for chatgpt to chew up at spit out, because they literally don't exist yet.

[–] [email protected] 1 points 1 month ago (1 children)

Oh interesting that they wouldnt need or want to hide that. When i use it i interpret every line of code and decide if its appropriate. If that would be too time consuming then i wouldnt use an llm. I would never deviate from the assignment criterion or the material covered by deferring to some obscure methodology used by an llm.

So i personally dont think its been bad for my education, but i did complete a lot of my education before llms were a thing.

Dont you guys test the students in ways to punish the laziness? I know you are just a ta, but do you think the class could be better about that? Some classes ive taken are terribly quality and all but encouraged laziness, and other classes were perfactly capable of cutting through the bullshit.

[–] [email protected] 3 points 1 month ago* (last edited 1 month ago) (1 children)

Electrical Engineering really is a no-frills field; you either can do it, or you can't. Our only testing methodology is this: if they know what they're doing, they'll pass and do well in the major. If they don't know what they're doing, they'll fail and rethink their major.

Knowing what they're doing is the important part. If it were the case that genAI chatbots helped in that regard, then we'd allow them, but none of us have observed any improvement. rather they're wasting time they could be using to progress in the assignment to instead struggle to incorporate poorly optimized nonsense code they don't understand. I can't tell you how many times I've had conversations like:

"Why doesn't this work?"

"Well I see you're trying to do X, but as you know, you can't do X so long as Y is true, and it is."

"Oh, I didn't know that. I'll rewrite my prompt."

"Actually, there's a neat little trick you can do in situations like these. I strongly suggest you look up the documentation for function Z. It's an example of a useful approach you can take for problems like these in the future."

But then instead of looking it up, they just open their chatgpt tab and type "How to use function Z to do X when Y is true."

I suppose after enough trial and error, they might get the program to work. But what then? Nothing is learned. The computer is as much a mystery to them after as it was before. They don't know how to recognize when Y is true. They don't know why Y prevents X. They don't understand why function Z is the best approach to solving the problem, nor could they implement it again in a different situation. Those are the things they need to know in order to be engineers. Those are the things we test for. The why. The why is what matters. Without the why, there can be no engineering. From all that we've seen thus far, genAI chatbots take that why away from them.

If they manage to pass the class without learning those things, they will have a much, much harder time with the more advanced classes, and all the more so when they get to the classes where chatgpt is just plain incapable of helping them. And if even then, by some astronomical miracle they manage to graduate, what then? What will they have learned? What good is an engineer who can only follow pre-digested instructions instead of making something nobody else has?

[–] [email protected] 1 points 1 month ago

If you are making them aware they will fail by not reading the documentation, then its surprising they would continue to put that off. Using chatgpt is different than only being able to use chatgpt. Then again i was a kid once and kind of get it. Maybe banning it is the better option, as you say.

I thought it was scary enough when instructors would do "locked down" timed tests with short/essay answers. I cant imagine students thinking they'd be fine using chatgpt for stuff theyll need to applicably demonstrate.

I wonder if the drop out rate will increase for colleges due to stuff like this, or if students are majoring in more technical stuff more due to llm overconfidence.

Thanks for your responses!