I work with students learning to code, some of whom use AI in various ways. I can definitely see AI becoming a valuable tool for them in the future, but most students are currently ill-equipped to take advantage of it.
The most common error I observe from students is not providing sufficient information to get useful results. They'll omit what language or libraries they're intending to use, or restrictions on the set of language features they are or are not familiar with. Because of this, they'll get confident, often correct, responses, which are entirely unhelpful for the work they're doing.
The other issue they'll run into is over- or underestimating the capabilities of tools like ChatGPT. The first time they run into a problem which it isn't immediately able to solve they often give up on using AI as a tool entirely.
I do think AI has value for learners, primarily in an "explainer" role. Allowing students to take a piece of code and ask "what does this do" to get a plain English explanation is extremely powerful. It also can act as a substitute for documentation, as new learners are often disinclined to parse through official documentation, which is rarely beginner-friendly.
The mechanisms in improving LLM code output do not correlate to better understanding of systems or even LLMs for that matter. For language I think you're more correct in your view for sure.
The most common error I observe from students is not providing sufficient information to get useful results. They'll omit what language or libraries they're intending to use, or restrictions on the set of language features they are or are not familiar with. Because of this, they'll get confident, often correct, responses, which are entirely unhelpful for the work they're doing.
The other issue they'll run into is over- or underestimating the capabilities of tools like ChatGPT. The first time they run into a problem which it isn't immediately able to solve they often give up on using AI as a tool entirely.
I do think AI has value for learners, primarily in an "explainer" role. Allowing students to take a piece of code and ask "what does this do" to get a plain English explanation is extremely powerful. It also can act as a substitute for documentation, as new learners are often disinclined to parse through official documentation, which is rarely beginner-friendly.