What Math Is Needed for Programming?

B

Bibby

I'm interesting in studying OOP programming languages on my own: C, C++,
Java. I haven't studied the big 4 math subjects in my last year of high
school, Calculus, Algebra, Geometry, Statistics. Which of these subjects
would I need to be able to understand some of more advanced concepts I may
encounter in my studies. Do I necessarily need any of them at all?

Thanks

Paul Antonio
 
B

Bill

Bibby said:
I'm interesting in studying OOP programming languages on my own: C, C++,
Java. I haven't studied the big 4 math subjects in my last year of high
school, Calculus, Algebra, Geometry, Statistics. Which of these subjects
would I need to be able to understand some of more advanced concepts I may
encounter in my studies. Do I necessarily need any of them at all?

Thanks

Paul Antonio

Last year in HS and you haven't had any of those? What have you been
doing, heavy liberal arts?

Lack of skills in algebra might be a handicap, although if you're
otherwise bright and have skills in languages (human, not computer)
and/or music you should be able to work around it. The other math areas
get valuable only if your programming interests go in that direction.
i.e. if you want to do graphics, you either know some geometry or
you'll have to pick it up on the way.
 
A

Altman

IMHO I don't see a real heavy need for any of these math subjects in
programming. Granted alot of it depends on what type of program you
are writing. If you are doing things like graphs, Geometry would be
nice. If you are creating a data heavy app, then statistics would be
nice. Personally I have never needed calc for any programming I have
done, and I took 3 courses of it in college. Algebra would probably be
the only thing I would say. And even that is debateable. If you have
a basic knowledge of math (addition, subtraction, division,
multiplication) and understand what a variable is, you should be fine.
 
M

Mickey Segal

You don't need anything more than a little bit of algebra to do computer
programming, and presumably you have covered that much before the end of
high school.

When I was in eleventh grade the only way I could have any access to a
computer was to take a course at a university. The only courses available
outside of my school hours were evening courses, nominally for graduate
students. All the courses listed calculus and other requirements I had not
met, such as a university degree. Fortunately the professor had enough
sense to tell me I was welcome without any of the prerequisites and he was
right.
 
K

klynn47

The one that I would say would be most beneficial would be Geometry. A
good second would be Calculus. I work at a University and have taught
programming for several years. Most of the reasoning behind having
prerequisites like Geometry and Calculus is that those courses teach
you critical thinking and logic. Much of programming is about problem
solving, and courses like Geometry and Calculus teach you some good
problem solving skills. Some people do well without them, but most
students benefit from those courses.
 
K

Knute Johnson

Bibby said:
I'm interesting in studying OOP programming languages on my own: C, C++,
Java. I haven't studied the big 4 math subjects in my last year of high
school, Calculus, Algebra, Geometry, Statistics. Which of these subjects
would I need to be able to understand some of more advanced concepts I may
encounter in my studies. Do I necessarily need any of them at all?

Thanks

Paul Antonio

Paul:

It really depends on what you are going to program. I had to relearn a
bunch of trigonometry a couple of years ago for a really interesting job
that I had. I built a human interface for a robot that traveled around
on a fake Martian surface. More math won't hurt you and it can come in
really handy. That was a several month job that I couldn't have done
without the math.
 
J

Justin M. Goldberg

The one that I would say would be most beneficial would be Geometry. A
good second would be Calculus. I work at a University and have taught
programming for several years. Most of the reasoning behind having
prerequisites like Geometry and Calculus is that those courses teach
you critical thinking and logic. Much of programming is about problem
solving, and courses like Geometry and Calculus teach you some good
problem solving skills. Some people do well without them, but most
students benefit from those courses.
I would say any basic logic class would be very beneficial as well, e.g.
principles of mathematical induction, etc. But like everyone else said,
it all depends on where you're planning to go with it.

JG
 
A

alan

I'm interesting in studying OOP programming languages on my own: C, C++,
Java. I haven't studied the big 4 math subjects in my last year of high
school, Calculus, Algebra, Geometry, Statistics. Which of these subjects
would I need to be able to understand some of more advanced concepts I may
encounter in my studies. Do I necessarily need any of them at all?

You won't need math to do a lot of things. You can learn the languages and
write some statifying programs without knowing more than how to count.

Advnaced concepts will depend on the advanced concept. You'll want to
learn about recursion, design patterns, searching and sorting, trees, and
hashing.

If your desired advanced concept requires C, A, G, or S, you'll probably
find it much easier to study with an application in mind.

These are the basic advanced concepts. You can study them directly,
without a math text. I taught myself a lot by reading a book called
Algorithms in C by Sedgewick, and implementing them in C++. Writing a lot
of small programs to illustrate the concepts. Stepping through the code in
the debugger.

That was long time ago. I was struck by how interesting it was for me (not
easy, but enguaging) when I'd been so bored with my high school maths.

Cheers.
 
J

Joona I Palaste

Bibby said:
I'm interesting in studying OOP programming languages on my own: C, C++,
Java. I haven't studied the big 4 math subjects in my last year of high
school, Calculus, Algebra, Geometry, Statistics. Which of these subjects
would I need to be able to understand some of more advanced concepts I may
encounter in my studies. Do I necessarily need any of them at all?

Computer programming usually requires far less math than is taught in
your average high school or college. Learn your basic school math pretty
well, and a fair amount of algebra and logic. The rest is usually
superfluous if you're not going to develop highly mathematical programs.
 
A

Antti S. Brax

Advnaced concepts will depend on the advanced concept. You'll want to
learn about recursion, design patterns, searching and sorting, trees, and
hashing.
These are the basic advanced concepts. You can study them directly,
without a math text.

Learning to copy things that were invented by others is not an
advanced concept. If one wants to make new inventions in the
fields you listed, then math is an essential skill.
 
J

Joerg Simon

Antti S. Brax wrote:
[snip]
Learning to copy things that were invented by others is not an
advanced concept. If one wants to make new inventions in the
fields you listed, then math is an essential skill.

I totally agree with you!

Even if i didn't liked all the courses about analysis, statistic, linear
algebra, calculus and so on in university, I think that if you want to
become an engineer who is able to solve things on their own, math is a
skill you should have.

And if it is only that you can read easily scientific papers ;)

However, just to learn programing for writing "simple" apps for
yourself, ore maybe earn money making small applications may work
completely without math....

Sincerely,
Jörg Simon
--
--------------------------------------------------------------
----
||oerg (das ist ein j!)
\|| Simon ICQ: 49154322
\| email: (e-mail address removed)

Student of Software Engineering and Knowledge Management,
University of Technology Graz, Austria
 
D

Dimitri Maziuk

Joona I Palaste sez:
Computer programming usually requires far less math than is taught in
your average high school or college. Learn your basic school math pretty
well, and a fair amount of algebra and logic. The rest is usually
superfluous if you're not going to develop highly mathematical programs.

I'd say it requires different math -- or math taught differently.
IME your average math exam contains a bunch of problems you have
to solve in a limited amount of time. Programming requires that
you understand math -- and those two are not necessarily the same.

As for specific subjects, calculus: scientific programming, trig:
graphics, knowledge of statistic often helps in general. The most
useful one is the one they don't usually teach at school: discrete
math -- proofs, sets, graphs, functions, automata, algorithms...

Dima
 
E

enrique

I can see you are getting lots of varied responses. Mathematics, in
general, helps you think logically. A course in Logic (philosophy,
believe it or not), or any math course that includes boolean logic will
help a lot. I think this is Discrete Mathematics.

More specialized courses like Geometry, Statistics, etc. are handy when
you need to actually program those kinds of calculations. So, what
math you need actually depends on what type of applications you plan on
developing. If you want to have a career programming, for example, at
the New York Stock Exchange, you definitely need a heavy mathemetics
background (perhaps even a degree in Math).
 
X

xeno

Learn algebra & trig very well & go to calculus. You'll never run out of
ideas for programming.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,431
Messages
2,571,679
Members
48,796
Latest member
Greg L.

Latest Threads

Top