I'm pretty much in love with how my college handled it.
Freshman: Learn tools
Sophomore: Learn complicated tools
Junior: Apply tools
Senior: Solve real problems with tools, get judged by a real company, and if they don't like the job you did you don't graduate