"needs improvement, did not finish course xyz"
Nah, your instructor's/TA's time is limited. I can't schedule 6 hours with them. I can't request as much time as I want. Colleges have other prerequisites which must be filled. The American systems don't let you go to college and do nothing but computers, and you must take time away from programming courses eventually. I can't maximize the time for programming, so, I'm limited to what I can put in. And if it's a tough college, it takes real effort to pass those other courses and you likely can't just coast. It's a forcing function with guidance.
If I put in a ton of time on my own to study stuff from the internet, that's the internet returning my investment of time and focus. It's got nothing to do with the college at that point.
I'm not as sure with TA's, partly because I often skipped the TA-sessions for various reasons.
During my undergrad years, there were people who made it out without programming in any language besides Java, and barely did any tech hobbies or independent programming outside of class. There were others who were constantly learning other languages, playing with random tech, and building small opens source tools and webapps.
I've met people who went through community collect programs who didn't understand basic BigO notation or algorithm optimization (no fault to them; it's just not taught in a lot of two year courses) and I've know people with only high school degrees who've picked up advanced CS books and would learn about compile theory and different types of parsing on their own for fun.