Amazing, you seem to be on the right track! First, lets talk about academics-you need to have a stellar GPA, excellent SAT scores (yes, they look at PSAT's too) and any/all extracurricular activities (i.e. clubs, student government, volunteer oppts etc..). Practice writing essay's as they ask you to write one for admission's purposes. Second, I would start a github account with any/all things you have done and create a nice portfolio on your website highlighting your work (i.e. apps, websites etc.). I would even improve someone's website for free, just to get some stars under your belt. As far as expanding your knowledge, you don't need to wait to get there to learn programming, in fact it would benefit you dearly if you learn some now-Coursera, EdX and Khan Academy are excellent places to begin learning about Computer Science (some of them have college credit courses too!) Best of all, you can add all the classes you take on your personal website and they would be impressed. This day in age, the competition is fierce, so playing sports, joining clubs and excellent grades, simply are not enough. You need to stand out and do something more than the ordinary, so think outside the box, because that's what Colleges and Universities are looking for.
Good luck Tom!