views:

426

answers:

11

Well, im not good in algebra and trig, could that be a problem when i get into higher years? But i do have the determination to study java programming. at this particular moment I'm only a first year IT student

+2  A: 

Unless you are going to write mathematical software,you need not to be a math guru for writing computer software.

But if you are good at math it will be really helpful for your programming career.

Upul
When i was in school I had some periods where I studied math for 4 to 6 hours every day, and even if i wasn't programming during that time I noticed that my programming skills improved also.
Alexander Kjäll
+12  A: 

It depends on what kind of programming career you are going to have.

Most programmers do not use any algebra or trigonometry in their day to day work (retail sector for example).

If however, you want to work in computer graphics, scientific software, maths software or the games industry, these will be invaluable.

Oded
A: 

Unless you're developing sophisticated scientific/financial software or computer games, you'll be just fine. You have to be fine with discrete math, though.

Anton Gogolev
I disagree strongly. Maybe you don't need to actually do calculus, but you need the mental discipline and intuitive problem solving that is strongly correlated with math abilities.
Paul Tomblin
@Paul, agree. Algoritms are crystallized math.
Thorbjørn Ravn Andersen
@Paul, @Thorbjørn: That's why I mentioned discrete math.
Anton Gogolev
+5  A: 

You need to have some basic math knowledge in order to be a programmer that is able to tackle most projects. The requirement isn't so much the actual 'crunching the numbers', it's more about the thought process. The thought process of programming is in most cases similar to that of mathematics, so it definitely helps to know at least some math.

Overall, though, the math requirement is mostly elementary.

Jacob Relkin
"You need to have some basic math knowledge". Like what?
Thilo
Elementary math such as `*`, `/`, `%`, etc....
Jacob Relkin
Paul Tomblin
Good point. I should add that in too.
Jacob Relkin
Thilo
+5  A: 

Perhaps a few related questions provide some insight:

http://stackoverflow.com/questions/137550/is-programming-math

http://stackoverflow.com/questions/477453/how-useful-are-math-and-science-in-programming

http://stackoverflow.com/questions/415537/math-programming-and-learning

http://stackoverflow.com/questions/1114191/how-do-i-think-about-math-in-programming

In general, programming is no more math than, say, sociology is; you'll need some math in both - particularly some statistical skill is good - but it's just a tool.

Another thing is that mathematical mindset has some similarities to some aspects of programming; you're dealing with a machine that's infinitely stupid and infinitely nitpicky, and your job is to explain complex things to that kind of creature. The machine doesn't care about what you're trying to do, it only counts what you do. It takes lots of patience and carefulness.

Joonas Pulakka
+3  A: 

That depends entirely on what kind of degree and job you're aiming for. Many CS degrees include significant portions of higher math, and you might not be able to finish your degree.

As for jobs: most (not all) programming involves very little math. However, it does require understanding of abstract concepts and formal notation - and if you can't handle math at all, it's unlikely you can be a good programmer.

Finally, "java programming" is a very narrow qualification to aim for. Java (the language, if not the VM) is considered by many to be on the decline, or at least lacking innovation. You should definitely try to get broader qualifications so that you don't end up 10 years from now having specialized on something for which there is no demand.

Michael Borgwardt
Seconding the “thinking in abstracts” part, which makes a lot of difference.
Tobu
+7  A: 

While most programmers do not have to do math in their day to day work there is a strong correlation between mathematical and programming acumen. What you need to decide is whether you really are bad at math or simply bored by it. A few years down the road you'll get into data structures and you'll need to be able to deal with them if you're going to have a successful career. Anton Gogolev suggested that discrete math is the only real mathematical must for programming. i completely agree and suggest that you take a discrete math course as soon as possible to "test" your software engineering potential.

Paul Sasik
+2  A: 

I've been a professional programmer since 1985. I've done everything from road design and geographic information systems to handling change of address notices for the post office. I can't think of any job I've had where I wasn't glad to know algebra, logic, and more often than you'd think, trigonometry.

Plus, mathematics and programming are similar disciplines in terms of the mental discipline and intuitive insights that are required to solve problems. If you can't hack math, then I doubt you're going to be any good as a programmer.

Paul Tomblin
A: 

Most of the math I have used day-to-day is relatively simple. An important phrase in the industry is "domain knowledge". To be a successful software engineer in most companies, you need to know more than just the syntax of programming languages, or even how to program with design patterns and the like. You need to understand the larger picture of how your project fits into the real world and how it benefits the company.

And you need to understand the domain you are working in. For example, if you are working on a project for a bank, you need to understand how banking (and your bank) works in order to be able to translate high-level requirements into lower-level requirements and code. For the coding, you'll need to know simple math, such as the formulas for calculating interest rates. And if you are working in scientific programming, that will be math-intensive, because you may need to know how to translate scientific formulas (which could involve calculus) into code. In some organizations, scientists on the project will spell out the formulas for you in the requirements and you'll just need to plug them in to your program. But it makes you much more useful to your project (and able to function in smaller companies/projects) if you know their math too and can communicate with them on their level. For what it's worth, a lot of scientists have some level of programming skills themselves and can do their own programming.

(Side note: If you want to work on games or anything that involves computer graphics beyond simple Windows GUIs, you'll need to be very good at linear algebra.)

David
A: 

What are the jobs for java programmer that dont require much math? but still high salary range?

Java Male Prostitute. Java Movie Star. Java Quarterback. Java Hockey Goalie.
Paul Tomblin
A: 

I'm not the best at maths but done ok. (I think)

For programming I would say its more about understanding business modelling (e.g. UML) and how that transaltes when it comes to code.

Of course there is a number of other topics to consider.

kevchadders