Don’t get too discouraged.

Your desire to succeed in programming should help motivate you to learn the required math. **Motivation is a BIG factor.** It’s easier to learn when you’re your interested, and people tend to be good at things they like to do. (Or, they like to do things they are good at. :) ) Know your weaknesses, study hard, and try to compensate. **As long as you can pass the math classes, you will be OK.**

If you haven’t had calculus, it’s almost a different subject… like geometry & trigonometry are different from “regular math” or algebra. I’m not saying it’s easier… it’s just different. Make sure that you have the prerequisites for the math courses. ( I got into a calculus class my first quarter, and I had a tough time because I didn’t have quite enough high school math.)

You don’t have to be a math whiz, but you *will* be required to pass these engineering-level math courses. You *will* be given programming assignments involving math. Without the math prerequisites, you wouldn’t understand the assignment. You don’t have to “retain” all of the details, but you *must* know the math concepts and terminology.

There will be other required engineering & science classes with math prerequisites. In fact, ALL of the engineering and hard-science fields require a fair amount of math. By the time you graduate, you will have a stronger math background than the average non-technical college graduate.

**Given all that, there isn’t that much math in most programming.** OK, there is a ton of “basic math” and logic, but if you picked any program at random and looked at the source code, it’s unlikely to contain calculus, differential equations, matrix operations, or any real high-level math!

Students who are successful in computer science tend to be “left brained” logical thinkers. They also tend to have above average intelligence and higher than average grades. (You’ll also find these traits in most math, science, and engineering majors.) They also tend to be curious types who like solving puzzles, or figuring out how things work (I call this the “hacker mentality” :) ).