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