• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

What kind of Math would I need to learn in order to learn programming?

Status
Not open for further replies.
I'd like to say that I HATE Math, heck, the most advanced Math class I took in HS was Algebra I (and even then that was 2 years ago, and I don't remember ANYTHING), but I REALLY love games, and as much as I hate Math, if I can learn to design and program games, I imagine it'd be worth it. But my question is: What type of Math classes would I need to take in College in order to learn programming? And should I take programming along with the neccessary Math classes, or just wait till I learn the neccessary math before taking on programming itself?
 
I'm taking Comp. Sci. in college and I have to take 3 Calculus classes and some other BS. :/

You could always pick up a book that teaches programming, but eh.
 
Calculus:( Uhh...Is Calculus like REALLY hard, or just something that as long as you pay attention from the beginning it isn't THAT bad? And why are you taking 3? And I don't want to resort to a book. I have a hard time comprehending what I read, it's alot easier if someone shows it to me.
 
You know, it's funny.

I'm going to be taking Calc 3, and I've been doing programming for 6 years or so. I still haven't really come across a case where I've used anything more than algebra or VERY basic trig.
 
Calculus isn't really hard, just really annoying. REIMANN SUMS. FEAR THEM.

Seriously, it's not *that* hard. If you do take calculus, make sure you do your homework every, every day and try not to miss class. (Although, that really goes for all college courses)

And yeah, so far I haven't seen anything too mathmatically complex, I breeze through my Comp. Sci. classes, Calculus is just really fuck damn annoying.
 
despite the 5 semesters of college math I took (calc 1-3, discrete math, logic I) I've never used anything in programming outside the logic course. It's not like I'm rewriting a quicksort algorithm or building a more efficient hash table - all that stuff is already out there in standard libraries anyways.

Oh well. It was helpful in teaching you how to think, I guess.
 
The obvious answer-it depends.

For basic business-app gruntwork, you can honestly get by with just a good knowledge of precalculus that is taught in high schools, in addition to the required discrete math that colleges teach on their CS tracks.. That gives you the background in basic function theory and logic statements to be able to understand a lot of the algorithmic concepts that you *might* need to know (but probably won't need too often). Statistics is a pretty necessary thing as well.

For gaming-level stuff, you'll definitely need some courses in computational numerical analysis and linear algebra-no getting around that. At least two semesters of calculus is required to even understand basic numerical analysis.

For scientific/computational/engineering science style stuff, you need everything in the above two fields plus more courses on differential equations (plus another semester of calculus for the partial derviative/multivariable stuff that will be your bread and butter), and courses in the cross/discipline (if applied) or "pure math" (supercomputing, crypto) so you can actually relate problems in your field to that in code.
 
Synbios459 said:
Calculus:( Uhh...Is Calculus like REALLY hard, or just something that as long as you pay attention from the beginning it isn't THAT bad? And why are you taking 3? And I don't want to resort to a book. I have a hard time comprehending what I read, it's alot easier if someone shows it to me.

I think that Finite Math would be the most useful to master. Then Algebra, then Cal
 
Oni Jazar said:
Matrix Algebra is fun. And by fun I mean a nail right through the penis.

jesus fuck linear algebra was THE MOST PAINFUL COURSE I have ever taken in my life.
 
I've never needed my math skills to program.

The closest thing I can think of is the introductory stuff like make your own power function.

Or knowing binary numbers for things like bit masks.


Programming is about being fast, organized, efficient, and experienced.
 
The calculus you take is the easy calculus really. (Argh, Riemann isn't that bad? Try lebesque or the other so types of advance integration. Modern/Advance Caculus...yuk) Don't fret about calculus, think of it as Algebra 3 with the last few steps called calculus. You'll be fine.
 
Three levels of calculus, linear algebra, statistics, and discrete math courses were required for my CS degree, but I've hardly touched any of it outside of the discrete math since I took the classes. Discrete math led directly into computational theory and on into architecture, compiler theory, and so on, and that's affected how I design and program ever since. I'd have been sort of screwed without it. If I was doing anything at all with 3D graphics programming, though, I'm sure I'd have to return to and learn more of the other areas.
 
Synbios459 said:
Calculus:( Uhh...Is Calculus like REALLY hard, or just something that as long as you pay attention from the beginning it isn't THAT bad? And why are you taking 3? And I don't want to resort to a book. I have a hard time comprehending what I read, it's alot easier if someone shows it to me.

Jeeze, I'm sorry, you're in for a rude awakening. If you only ever did first year algebra, you've got advanced algebra, trigonometry and precalculus before you ever get to derivatives, integrals and crap like advanced vectors. And once you take care of that stuff in the first three calculus sequences, it's on to differential equations and even crazier stuff. The fact may be that not every programmer uses much of it, but you'll need to get through it to become a programmer. You've pretty much earned a math minor by the time you finish a comp sci degree. Math seriously weeds out most of the aspiring programmers.

marsomega said:
Don't fret about calculus, think of it as Algebra 3 with the last few steps called calculus. You'll be fine.

I took Algebra 3/4.. then I took precalculus.. and then I took two years of "standard" calculus before stopping with the crazy stuff beyond that. Calculus isn't a tack on to Algebra.
 
He wants to make games righ? If its a 2d game, a simple one I would think then highscool math is enough I guess. If he wants to do some 3d then it would be wise to learn some linear algebra... atleast basic stuff like what a vector is, how you can represent a vector in an on-base, what operations you can do on a vector, what a matrix is, what operations you can do on a matrix.
 
Linear (Matrix) Algebra is the only class I ever got a 2.2 (my lowest grade ever). It was the worst class ever with the hardest tests. There was another proffesor who taught the class who gave really easy tests (I took some as practice and aced them), but my teacher was crazy hard, giving us the most difficult problems. I never took math after that. I am now a poli sci major (pre law).
 
To be a software programmer? Just at the high level programming language abstraction level not much math at all. To be honest in the real world alot of times if its absolutely critical...most production houses will get a mathematician if they need to be sure, most of the times what works on a comp and what is real isnt always the case. As long as it works eh?? Now if you want to be a Computer SCIENTIST you wanna know discrete math. Basically logic, mostly boolean, and a few other basic sets of logic that are even more general than boolean logic. There are some computational aspects of math that Comp Sci's are always fuckin with like prime numbers etc etc. Basically you can never know too much math, but if you wanna use the computer as a tool, it cant hurt to know atleast some calculus, trig, and algebra. Linear algebra is deadly useful for graphics programming. Most algebra and calculus is in some kind of library package at this point though. Mathematical modeling comes in very handy in programming, then again it may not apply at all. Basically as far as being a good programmer thats all creativity and adhering to syntax and grammar rules of the code.
 
ChrisReid said:
Jeeze, I'm sorry, you're in for a rude awakening. If you only ever did first year algebra, you've got advanced algebra, trigonometry and precalculus before you ever get to derivatives, integrals and crap like advanced vectors. And once you take care of that stuff in the first three calculus sequences, it's on to differential equations and even crazier stuff. The fact may be that not every programmer uses much of it, but you'll need to get through it to become a programmer. You've pretty much earned a math minor by the time you finish a comp sci degree. Math seriously weeds out most of the aspiring programmers.



I took Algebra 3/4.. then I took precalculus.. and then I took two years of "standard" calculus before stopping with the crazy stuff beyond that. Calculus isn't a tack on to Algebra.


I didn't say it was. I said "think of it as". Quite frankly, my statement is totally true. Most of the mistakes you will make in Calculus courses will not be with the calculus, it will be with the algebra.
 
marsomega said:
I didn't say it was. I said "think of it as". Quite frankly, my statement is totally true. Most of the mistakes you will make in Calculus courses will not be with the calculus it will be with the algerba.

so very true
 
Wow reading this whole topic on Math and calculus with the hypotenuse of the trinomial stuff really gave me a headache...I wouldn't be able to do it.
 
Riemann sums? WTF? Don't you only do those for like a week, just to show you how much easier everything is with calculus? What is there to complain about?
 
Really it depends on what exactly it is you want to do. Since your posting here I assume you are interested in game related stuffs. For general programming discrete math is your friend. In games you usually don't need much more than discrete math and linear algebra. I haven't used much of the higher level math I studied in college... The only exceptions is when I was messing with trying out new types of lighting and physics ideas...
 
I took a discrete mathmatics course, and it was the hardest math class I've ever been in. There's was so much math stuffed into that one semester. Permutations, Combinations, Combinations with Repatition, Binomial Theorem, Polynomial Theorem, Laws of Logic, Set Theory, Probability, and Graph Theory. I know I missed some, but that was all in one semester, and questions on test liked to combine these disciplines. This was more a problem solving class than a monkey see, monkey do math class.
 
Gorgie said:
I took a discrete mathmatics course, and it was the hardest math class I've ever been in. There's was so much math stuffed into that one semester. Permutations, Combinations, Combinations with Repatition, Binomial Theorem, Polynomial Theorem, Laws of Logic, Set Theory, Probability, and Graph Theory. I know I missed some, but that was all in one semester, and questions on test liked to combine these disciplines. This was more a problem solving class than a monkey see, monkey do math class.

The basic thinking skills that you gain from discrete math are extremely valuable. For example I'd say an above average programmer, even if he has never had a discrete math type class before, would be able to breeze through the level I and level II college classes.

The coolest part of discrete math is that you really don't need to study or even go to the class. Everything that is given to you can be figured out on the fly. In the level I class I never went, just showed up for the tests. The level 2 class I took was a bit harder so I actually had to practice otherwise I wouldn't be able to solve the combination problems in the time limit for the tests.

Gorgie, after taking that class I bet your ability to analyze problems improved greatly.
 
Linear Algebra and Discrete Math were my two favorite of the math classes, I couldn't stand Calculus. That being said I hadn't had to use and of those to complete a programming job. I just think they are just ways to get you to think in a logical manner and look at the steps involved in solving a problem. They make you a better scientist I suspect.
 
Tommie Hu$tle said:
Linear Algebra and Discrete Math were my two favorite of the math classes, I couldn't stand Calculus. That being said I hadn't had to use and of those to complete a programming job. I just think they are just ways to get you to think in a logical manner and look at the steps involved in solving a problem. They make you a better scientist I suspect.

your avatars are great...
 
calculus is the most useless math ever. However, a lot of the math beyond calculus is used quite a bit.

If you want to get into 3D games, you shoudl also learn linear algebra (matrices and such) and a lot of physics as well.
 
slayn said:
calculus is the most useless math ever. However, a lot of the math beyond calculus is used quite a bit.


calculus is the basis of a lot of math that is quite useful to most engineers and the like.. so i wouldnt call it useless.
 
quadriplegicjon said:
calculus is the basis of a lot of math that is quite useful to most engineers and the like.. so i wouldnt call it useless.
aren't you just paraphrasing the second part of what you quoted?
 
I was never good at the math thing, and I wanted to be a programmer too. When I took a few programming classes I soon realized it was not for me. Bore-fest supreme with extra cheese. Ugh.
 
to learn programming i would say algebra because for algorithms basic programming uses simple formulas. its more of setting up a flow of the prgram than it is to know math. to get a degree though youll need calculus, diff eq, and probably some sort of matrix algebra
 
Synbios459 said:
Calculus:( Uhh...Is Calculus like REALLY hard, or just something that as long as you pay attention from the beginning it isn't THAT bad? And why are you taking 3? And I don't want to resort to a book. I have a hard time comprehending what I read, it's alot easier if someone shows it to me.

The best way to go through calc is to make sure you can do the basic calc 1 stuff (derivatives especially) purely through graphs. If you can take a graph, look at it, and give a rough sketch of the graph of it's derivative, that will be an invaluable tool as it will give you a more intuitive knowledge of what you're actually doing at a given time.

Calculus really isn't that bad though.
 
morbidaza said:
The best way to go through calc is to make sure you can do the basic calc 1 stuff (derivatives especially) purely through graphs. If you can take a graph, look at it, and give a rough sketch of the graph of it's derivative, that will be an invaluable tool as it will give you a more intuitive knowledge of what you're actually doing at a given time.

Calculus really isn't that bad though.

Personally, I think a good understanding of the theorems and corollaries are just as important. A person who knows why math works will always have a leg up over someone who just knows how said math is calculated. When I took all my math in HS/college (I have a math degree), there was a clear difference between the people who understood the theory, and those who just knew how to apply its conclusions.

I agree though, as a matter of understanding how things like derivatives actually relate to funcitons, graphs are good.
 
Forget game programming dude. I'm a software engineer who got into it for game programming someday, and I'm just changing careers right now. You got to love maths, and love programming to do game programming, it's as simple as that. You don't like it? Forget about it. Programming games isn't playing games.
 
I have no desire to learn how to program because I hate math. The thing is, I get the feeling that a lot of people who naturally suck at math could still be good programmers. I have talked to quite a few programmers myself, both in school and out in the "real world," and they could not think of a single time where they had to use anything beyond simple algebra for programming...
 
Diablos said:
I have no desire to learn how to program because I hate math. The thing is, I get the feeling that a lot of people who naturally suck at math could still be good programmers. I have talked to quite a few programmers myself, both in school and out in the "real world," and they could not think of a single time where they had to use anything beyond simple algebra for programming...
Yeah, but are they game programmers?
 
Foreign Jackass said:
Yeah, but are they game programmers?
Of course not. Everyone knows you have to know your math if you want to be a game programmer. But that's now typically a seperate degree ANYWAY.
 
Diablos said:
Of course not. Everyone knows you have to know your math if you want to be a game programmer. But that's now typically a seperate degree ANYWAY.
Mmm, not in Montreal it's not. Ubisoft and EA both hire plenty of software engineers and computer science people. But still, you have to be 1. Very good in maths and 2. Very passionate about programming, not about games, but about programming.
 
Diablos said:
Of course not. Everyone knows you have to know your math if you want to be a game programmer. But that's now typically a seperate degree ANYWAY.

huh? I wouldn't say that's "typical" at all. Maybe at a few colleges, but certainly not nationally.
 
Listen, Here in Montreal, you need to have done cal1&2 with linear algebra in CEGEP (Thats a step between highshool and College/University). Then you have a choice of beinga Software Engineer or Comp. Science. In Software Engineering you gotta learn from every type of engineering like electrical, civil, mechanical and also biology then you gotta take computer sofware/hardware with programming classes. If you take Comp. Science you jump right into Discrete Mathematics 1&2 with Analysis1and more linear algebra. Cal 3 is not required for Comp. Science. only for Engineering.

Now Programming is alot of math. Its nothing but math. If you like making graphics, then you better love linear algebra cauz graphics is nothing but vectors being moved or transformed by operations which are done by the computer. Its all Matrices and Vectors.
I am in Comp. Science and I am loving it so far.

There are people I know who are graphic designers for gaming companies one of which is working on PGR3. He didnt go to school. He dropped out in CEGEP and spent 3 years learning his software. He can only use Programs like Maya and all that other stuff wich isnt really programming at all. He has no idea of the Math and computing required to make the graphics he draws up.

Its all up to you. Good Luck
 
Status
Not open for further replies.
Top Bottom