I have learned and become decent in QBASIC (which I know is very old, even when I learned it), C, C++, Visual C#.NET, and have dipped my toes into Java. I get the basic idea behind OOP.
You're already way out in front. Since you're interested in the engineering aspects as well, I'd recommend learning assembler for some particular CPU architecture (x86 is probably the most popular). This will give you (as in, force you to learn) a better understanding of what goes on under the hood.
I'm planning on going to college and getting a degree in computer sciences, and maybe computer engineering and electrical engineering while I'm at it, because the curriculums are supposedly extremely similar, according to a man I briefly met and talked to from a college.
Whether the programs are similar depends heavily on the college. I happen to be fond of that particular combination because it's what I studied (EE undergrad, CS graduate). You'll need strong math skills to go this route.
I'm wanting to become the best programmer that I can possibly be.
Make sure that the colleges you apply to know this!
The question I have is what should I know about computing/programming before going to college? I am entirely unsure of what the curriculum for a computer science major is. Should I already know a whole lot, know a language or two proficiently, and have fairly high programming/computing skills, or do classes basically start from scratch?
When I started the CS graduate program (several years after graduating), I had been programming for a while and was pretty good at it (enough to get paid to do it). It didn't matter. I had to start with the same intro courses that everyone else started with. Your knowledge will make these intro courses easier for you, but colleges don't expect much in the way of specific CS skills from incoming students.
However, your demonstrated ability to learn independently may open some doors. Because of what you have already learned, you may be accepted into a program you might have otherwise not been. It may also help you find co-op opportunities or a campus job that will help you make connections (if that interests you).
Also, were there any mistakes that you mad in college that you regret making that you would like me to know about? Any help or advice at all would be greatly appreciated. Like I said, I want to be the best I possibly can. I dont want to be behind my peers when I start college. If anywhere, I want to be semesters ahead.
My biggest mistake in undergraduate EE was not seeking out mentors among the faculty and graduate students. I basically went to class, did my homework, and hung with fellow students. I hardly interacted with professors outside of class and office hours (and then only talk to them about assignments).