I'm a newly educated student.
In the school we was 'learning' asp.net and C#, those 2 years the education took, we never tried to make our own email system, login system, or CMS.. Everything was just dragging, and dropping control into the design view.
We started 102 students, 23 did complete. 4 people has a work. The reason?: Those 4 people(including me) did know how to program before we actually started on the education.
The rest of the people is lost. Because we never 'reinvented the wheel'. We never got to know how the code actually work. It's fairly simple to build a full login system, with user management - But the students from my education, doesn't know how to do so. Because they don't know how a login system actually works.
I feel sad, that at some point, actually wasted 2 years, learning nothing. - I wish, that teachers around the world, say: Yeah, we know there is frameworks, where the code exists, You can use them in the real life.. But on this education you will learn how to do programming..
Many programming educations are very short, so the educations need to cover a lot of things within that time. I think it would be better that the list of things was cut to half, and spending more time on programming. People can 'invent a new kind of wheel' if they know how to build a normal 'wheel'. People are not stupid if they have a little knowledge, but you can't ask a man that doesn't know anything about cars, to build a car.. But asking a man that knows how to build a bike, would have much easier with actually building the car.