This is an interesting topic! All advises in the article are really good ones! And I would add couple of points more (from personal experience): use services like Coursera (there will be tests, homework, forums, you may get a chance to work on real problems and solve them); keep connections with your teachers from University and schools - ask them about their projects and life sometimes, try to meet them from time to time, offer them your help.
Very encouraging and very true. I have been working on some interesting and hard problems which I set out to solve. In the process I can say I have discovered myself on how to think in various ways about a problem, simultaneously coding, looking at market, research papers, broadening, narrowing, thinking laterally and so on...Its a fantastic journey if one could afford to do it.