I would suggest you first take one, or more classes in programming. I have heard arguments for starting with a high-level language first, then a low or mid-level language, or exactly the opposite. In some respects, it depends on what you want to do in programming.
For example, if you are interested in web design, you will probably be working with C++ or Java. If you want to develop device drivers, or other low-level stuff, then you will probably be working in C, or embedded C. If you want to build user applications and take your project from conception, to completion, you may find 4 GL's (like RealBasic) a better choice.
Regardless of what you choose, the principals of programming are fundamentally the same. The main difference is the toolbox you use. So, learning programming fundamentals is often the best place to start. My personal belief is that a course in C, or even assembler is a very good foundation. You will learn how the computer 'thinks' and how all of the pieces work together.