Algorithms algorithms algorithms. Computer Science is all about solving a complex problem as quickly as possible. Something you'll learn a lot about is Big-O Complexity. Take a look at this: http://bigocheatsheet.com/
As mentioned (by just about everyone else) it's all about the math. How can the problem be solved mathematically? Really at this point in your career math is more important than programming. Programming is going to be about Syntax and you'll learn dozens of languages but mathematics is where you will become successful.
I've also mentioned on a couple of other posts that Harvard has a free computer science course CS050 that you could take in your spare time which will also give you a good introduction to computer science.
The best subject to study to become a software engineer or any other engineer for that matter is math. It may seem counter-intuitive, but having a strong background in math will help you break down hard software engineering problems into their most basic parts. Beyond having a strong math background (take as many math courses as you can), maybe learning a programming language (any one) will just help you get your hands dirty. Hope this helps!
Do you mean during junior year?
If you have any computer programming classes, take advantage of them. Plus, take your mathematics and science classes to help prepare you for your career. :)
Calculus, Physics and computer programming are great classes to take during your junior and senior years.
I would also suggest getting involved with your local FRC - FIRST Team. Get real world experience programming robots. Fun and learn how to apply the programming algorithms to complex problems.