I can't really advise you on what schools have good programming programs (or "programming courses" to avoid ambiguity). I can, however, give some insight to what to look for when evaluating schools that you look at. There are many aspects to computer programming. You could create websites, write apps, develop games or programs, work with graphics, or research the latest computing theory. Each of these is very different in terms of what tools you use and/or how you think about the problem. Some schools might be able to equip you with everything you need to know about websites, games, and programs, but not teach you a lot of the theory and principles you would need to know to be a researcher.
I would advise that unless you know exactly what area of programming you want to pursue that you consider how well a school teaches you about the theories and principles of computer programming. Whether they use the latest programming language should not be a deal breaker or even a very important matter to consider. Instead look for what they teach you about how computers work. I would consider asking whether a school teaches any shell scripting or assembly code (very low-level programming where you're working very closely with actual computer storage space. See: http://en.wikipedia.org/wiki/Low-level_programming_language). Even if you don't plan to use these technologies, knowing about them is good, and you would be surprised how often you actually will want to write a shell script even in a seemingly unrelated field.
To sum up I would look for schools that provide at least some low-level programming instruction and that give you solid programming principles that are applicable to every field of computer science. Good computer theory and even history is important too. These are all more important in the long run than learning the latest languages and coding programs.
For preparing for school, you're in luck! There are a lot of things you can do to prepare yourself to go to college for a degree in computer programming. One of the wonderful things about learning to program is that there are tons of resources for free online that you can learn from. I would suggest picking a simple language (I would recommend Java or Python for starters if you aren't already familiar with a language), find some programming tutorials which are just a short google search away, and start writing some small programs. Once you get comfortable, I would recommend that you try to write something bigger that you can put a lot of time into and be proud of. A project like that would really help you get a head-start in a school--maybe even allow you to skip a class. It will also catch the attention of professors and might help you get into the school you want.
Let me know if you have any questions about anything I said, I'd be happy to help however I can.