The point about struggling through assignments being where the real learning happens really resonates. Tutorials are useful for getting started, but there’s a big difference between recognizing code when you see it and being able to produce it yourself.
I also like your point about using AI for the “why” rather than simply asking for the solution. It’s easy to get working code without developing the problem-solving skills behind it.
When I get stuck on an assignment, getting help to understand where my approach went wrong can be useful, rather than simply taking a completed solution. Going back and fixing the problem myself is where the learning actually happens.
I agree there isn’t one universal “right way.” The important part is spending enough time actively solving problems instead of constantly looking for the next resource.