In addition to all the good suggestions here already, I would take the time now to make sure you pay attention to other useful skills besides just rote programming:
1) keep taking as much math as you can in HS, it'll make some stuff easier later. This is especially true if you can get some proof based or graph theory courses under your belt (maybe in Uni though). Math will help with logical thinking.
2) take writing courses (like English writing, not programming writing). While it will not be directly helpful to programming at all, if you end up working as a programmer later, you will need to communicate with other people by writing a LOT, so the more comfortable you are with writing, the more effective you'll be. This will include just trying to convince people with short emails, but also detailing larger plans in many-many-long-pages of design documents. Depending on how good (or not) you are at writing already, this may be painful now, but it'll be very useful later.
At the very end of the day when you're programming a lot, writing new program code isn't the hardest thing you'll be doing. The hardest stuff will be
- reading other people's code to figure out what it does
- reading your own and other people's code to find bugs
- figuring out at a larger system scale what needs to get written
- convincing other people that your ideas are correct
That is to say though... they're harder AFTER you get really good at programming, so that's definitely step #1 (or step #2 if you wanna just focus on math first, which would be fine).