While, or right after, taking these theoretical courses in Java or graphics or whatnot, I would launch a project in that area to ground all that theory in something I could then manifest. I don't think this occurred to many of them, but to be fair, they are young and have been in school all their lives, and I went to class with a lot of (mostly non-programming) experience in the IT business already under my belt.