I have been teaching programming, software engineering one way or another since I have graduated. One thing I see again and again with bright kids. It is not they have good memory or high intelligence; it is that they have figured out how to learn. If I can teach my son only one thing, that would be this,
Learn to learn.