PDA

View Full Version : Is maths REALLY required for programming?



FloatingPoint
07-09-2003, 10:08 AM
Do programmers need to be excellent at maths?

I dont really enjoy maths, but I think I like programming, tho I've only been exposed to it for a few weeks.

Is there hope for me?

Govtcheez
07-09-2003, 10:14 AM
You don't have to be excellent. Hell, for some of it, you don't have to be good at all. There are portions of programming where math is totally required, though. It just depends on what you're trying to program.

FloatingPoint
07-09-2003, 10:21 AM
Just what I wanted to hear! :D

Casey
07-09-2003, 10:40 AM
It helps if you can count, you know: 1,2,3,4,5,6,7,8,9,10. Then you have to relearn how to count: 0,1,2,3,4,5,6,7,8,9. All set after that. :D

Shiro
07-09-2003, 11:34 AM
You don't need to be excellent at mathematics, but it does help a bit if you understand mathematics a bit. Then it will probably be a bit easier understand specific programming things. Algorithms for processing sound or graphics, for example, often require understanding of the underlying math to make optimal use of those algorithms. It also depends on what you want to program, which areas of mathematics you will need.

Brian
07-09-2003, 11:48 AM
Originally posted by Casey
It helps if you can count, you know: 1,2,3,4,5,6,7,8,9,10. Then you have to relearn how to count: 0,1,2,3,4,5,6,7,8,9. All set after that. :D

then you have to relearn to count
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

all set after that...

JaWiB
07-09-2003, 12:04 PM
You forgot 1, 10, 11, 100, 101...

frenchfry164
07-09-2003, 12:21 PM
or maybe 0 1 2 3 4 5 6 7 10

FloatingPoint
07-10-2003, 07:40 AM
Originally posted by Shiro
You don't need to be excellent at mathematics, but it does help a bit if you understand mathematics a bit. Then it will probably be a bit easier understand specific programming things. Algorithms for processing sound or graphics, for example, often require understanding of the underlying math to make optimal use of those algorithms. It also depends on what you want to program, which areas of mathematics you will need.

There's always the text book for reference if I dont wanna have to remember all those equations, and here's hoping I wont have to memorize them, just like in physics, chemistry etc., hell how one is supposed to remember everything? :D

Well, I guess I shouldnt be too worried abt it now unless somebody there wants me to count in hex! :D

codingmaster
07-10-2003, 07:52 AM
Do programmers need to be excellent at maths?


I think, they should......

It's sucks... when you write code and you u don't understand mathematics and physics......

example:
you work in a company.... and u have to write an algorithm for your prog.... and u get a mathematical formula.... and you dunno anything....

?????

So, it's better to know the most things, you need in mathematics and in physics...

But, for a job, like webdesigner you need no mathematics......

FloatingPoint
07-10-2003, 08:20 AM
It's sucks... when you write code and you u don't understand mathematics and physics......

I guess here arises the slight difference b/ween merely understanding and memorizing those formulas.

For anyone who'd been to college and at least achieved a credit for any maths paper, understanding a revisited formula wouldnt much pose a problem.

It's the "remembering most if not all of those formulas" that's been bothering me, suffice it to say that I'm not that "excellent" at maths. But I'm certain that I can get at least a C+ for my math papers, given a lil extra push :D

Clyde
07-10-2003, 08:41 AM
Maths is not really about memorising, IMO its about comprehension and application.

sean
07-10-2003, 09:06 AM
I think you'll do fine. Just determine which of the following 10 categories you fit into:

- Those who understand binary
- Those who don't

FloatingPoint
07-10-2003, 09:50 AM
Yea, I got your point :D

sean
07-10-2003, 11:06 AM
Actually that was just a joke I saw inside the Tanner Building at BYU. But seriously, if you can do simple arithmetic, and do the same in other numerical systems, you'll probably be better than most programmers. My book for BASIC (unnecesary, I know), uses a whole bunch of trig, but I've never found a practical use for it.

Silvercord
07-10-2003, 04:04 PM
There are 10 kinds of people in the world - those that can count in binary and those that can't

I don't get it

Eibro
07-10-2003, 04:16 PM
Originally posted by Silvercord
I don't get it There are 0x2 kinds of people in this world, those who understand hexadecimal and those who don't!

There are 1 + 1 kinds of people in this world, those who understand addition and those who don't!

OH. MY. GOD. Guess who made those two beauties up????????

Silvercord
07-10-2003, 04:20 PM
I still don't get it

Commander
07-10-2003, 05:04 PM
32 - 16 - 8 - 4 - 2 - 1
1 - 0 (on/off)
----------------------------------
(2*1) and (1*0) -> 2 + 0 = 2

ZakkWylde969
07-10-2003, 05:12 PM
What type of math do you really need? Like I want to program games with C++ in general. Should I just have a firm grasp of math in general or what?

slaveofthenet
07-10-2003, 08:51 PM
I'm starting college in the fall, and the booklet says to get a computer science degree you need calculus 1, 2, 3, vector calculus, and 3 physics classes. I only hope I can do better in college math than I did in high school.

frenchfry164
07-10-2003, 08:58 PM
I don't get it
Think about it. There are two types of people listed there, those who understand it and those who don't. 10 in binary translates to 2 in decimal.

MrWizard
07-10-2003, 09:21 PM
Originally posted by ZakkWylde969
What type of math do you really need? Like I want to program games with C++ in general. Should I just have a firm grasp of math in general or what?

You had better buy a Linear Algebra book and read it cover to cover.

Well I can only speak for game programming because that is what I do. I'd say a good fundamental understanding of mathematics and physics is a must for any game programmer. I mean, I guess you can write scripts and stuff like that without knowing too much math but those jobs are pretty low on the priority list. If you want to do anything graphics related you need a FIRM understanding of Linear Algebra. If you want to write a physics simulator you need general calculus knowledge, etc.

I really enjoy math. There are so many applications for it in programming it's sweet. However, I'm sure you can get away with looking stuff up as it is needed.

At many game companies ( i.e. Nintendo, M$ XBox Division ) the interviews will ask a lot of math questions. Everything from deriving the matrix for rotation of a point around an arbitrary vector to the explicit equation of a line in 3-space. Also basic things like Plane - Line intersection tests. I know this because I have friends at each of those companies who told me about their interviews. When I interviewed at the company I work at I wasn't asked to derive anything. They did ask how many and which math classes I had taken. They were very pleased that I had a decent number under my belt.

You don't need to memorize fancy formulas when you can derive them yourself. I'd suggest to strive to learn the under workings of any of the math functions you use. In Direct3D and OpenGL it's really easy to just call the function to make your projection matrix for you but how many of you actually understand how it is computed and why? If you want to invent faster functions and develop new algorithms you really need to know whats going on behind the scenes.

Well enough of my ranting about the greatness of mathematics.

Nutshell
07-11-2003, 07:52 AM
I guess maths is more like your 'qualification' to become a programmer when getting a job.

FloatingPoint
07-11-2003, 09:25 AM
So now how do I become adequately good at maths, assuming I wanted to become a games programmer?

Lots and lots of exercises I guess...How many hours should I allocate for a maths paper alone?

This already sounds like I'm gonna do a major in maths!:D

Zach L.
07-11-2003, 10:22 AM
For graphics, you definitely need linear algebra. Though, if your not terribly familiar with the subject of vectors, I'd start with them first, and then move onto linear algebra (as a course, linear algebra is usually taken after calculus II or III, just for reference).

Also, regardless of what your programming, a good background in discrete math is a good idea - understanding the concepts involved with the development and use of algorithms.

Graph theory is also very important, especially for algorithmic work. Many data structures you run into (most trees for examples) are examples of directed-acyclic-graphs.

If your going with cryptography, then your gonna need a lot of abstract algebra - group theory, field theory, etc.

Its possible to program without all the math, but your usefullness is severely limited. As for how much time you spend, it really depends on how quickly you pick things up, and what you are trying to learn. Just stay with it until it makes sense.

ZakkWylde969
07-11-2003, 07:20 PM
I'm going to bring this thread back.



quote:
--------------------------------------------------------------------------------

There are 10 kinds of people in the world - those that can count in binary and those that can't

--------------------------------------------------------------------------------


I don't get it


machine code and binary are based off of 1s and 0s. and

the Wookie
07-12-2003, 09:30 AM
i didnt really think you needed math, but the project im working on now at work requires me knowing matrices and finding determinant and all that stuff...its audio processing. but for audio and gfx you need math def

ZakkWylde969
07-12-2003, 10:34 AM
So far all the stuff I'm using requires you to know how to do basic math. I even got lost at a remainder in division :p

sean
07-12-2003, 01:18 PM
That's why they invented %