Hello, /prog/. I'm currently going to school for computer science, and I was curious as to how math-intensive real-world programming is. Can you get by just being comfortable with arithmetic and algebra? Or do you need to be able to do Calculus and Trigonometry like a professional to actually be able to be good and employable?
I'd say if you can't do calculus and trig your mind is just fairly inferior overall.
Name:
Anonymous2012-09-12 1:43
Get acquainted with various discrete maths and abstract algebra, different jobs involve different kinds of them.
Trigonometry is essential in any kind of game programming at all.
Calculus you won't not find a lot of use of it in practice.
Name:
Anonymous2012-09-12 2:02
>>3 Trigonometry is essential in any kind of game programming at all.
Don't be silly. You just rotate stuff with your mouse and 3ds max does the math. If you plan to write 3ds-max app yourself, just ask on stackoverflow and they will give you a snippet which you can just insert into your code and everything will become rotated.
Get acquainted with various discrete maths and abstract algebra, different jobs involve different kinds of them.
Only if your job involves maintaining Haskell code. I'm a professional programmer with 20+ years of experience and dont even know what "isomorphism" means.
Name:
Anonymous2012-09-12 2:06
If you plan to become a game programmer, you should take some painting classes - they will teach you how to do shading and geometry.
In the context of groups, a morphism is a function that preserves an operator. That is, f(a*b) = f(a)*f(b). An isomorphism is a bijective morphism, ie, f must be one to one and onto. The more you know...
>>9
...and rotations and projections and reflections and inversions and involutions and convolutions
...and intersection calculations and trajectory predictions and applications of control theory
...and artificial intelligence in a dynamic environment with unknown information
Name:
Anonymous2012-09-12 2:59
>>9
You also have to shade them on screen, using lightsources.
In an academic sense, most of the rigor of a CS class is mathematical. It is essentially a rather underwhelming math course. As for the real world, it depends entirely on what you're making, but most of the time you won't really need math.
Name:
Anonymous2012-09-12 6:06
never enough math. math is fucking hard, so the more of it you know, the more distance between you and other developers. It's becoming more and more useful as data becomes cheaper and more useful, and computers get more powerful. machine learning and information retrieval are 90% math 10% cs.
to just get a job, you don't need to know very much. To push the machine to it's limit, and change the world in the process, is almost entirely a mathematical endeavor. basic programming that doesn't require math is increasingly being outsourced or automated. Don't be a monkey, hit the books.
A CS or SE degree in the U.S. will require Calc I-III.
Real world "programming" doesn't require any math beyond arithmetic. But unless you're a PHP web faggot, most problem areas, graphics mostly, involve some math. Algorithm analysis will require Calc II-level math knowledge.
Name:
Anonymous2012-09-12 10:18
OP here. I should mention my focus for my masters/Ph.d will be artificial intelligence, if that changes the answer in any way.
>>2 I'd say if you can't do calculus and trig your mind is just fairly inferior overall.
I agree, it's not like calculus is very hard in software engineering and CS.
However, practice shows that even idiots who cannot understand basic derivatives and integration can be fairly successful programmers, because hindustry-grade programming (Java, C#, T-SQL etc) is very easy.
I'm currently going to school for computer science, and I was curious as to how math-intensive real-world programming is. OP here. I should mention my focus for my masters/Ph.d will be artificial intelligence
>>22
Glad to see you have your life planned out perfectly :-)
Name:
Anonymous2012-09-12 12:42
In the real business world, a Math PHD or even a professor on the bill will let you know what you should do as a programmer, programming really hard math stuff... Just to let you know, I've written countless of mathematical algorithms that makes 0 sense to me. That's the life of a programmer son!
Name:
Anonymous2012-09-12 13:06
>>26
Soon they will design a better Python compiler, so x86-assembly monkeys like would no longer be needed.
>>26
Yeah but OP said he wanted to go into academia. Graduate CS is more math than computers.
Name:
Anonymous2012-09-12 13:21
>>28
Intel engineers. They will design a special Python CPU, which will accounts for all Python quirks. x86 already undergoes heavy translation to real microcode, so Python would be a good upgrade for date x86.
>>40
Wrong again. Stating that my posting that's pointing out the only good post in this thread as shitposting in and of itself is you defending shitposting on this board by proxy.
If that's not simple enough to understand; what this means is you probably should head back to /g/, or reddit or wherever the fuck you new /prog/ drainage refuse flood from.
I'm interested in your analogy here. Here is an example of an isomorphism:
The group of the real numbers with the operation of addition is isomorphic to the group of the positive real numbers with the operation of multiplication. One isomorphism is f(x) = e^x.
Proof:
f(x+y) = e^(x+y) = (e^x)*(e^y) = f(x)*f(y)
f is an onto function from R to (0, \infty). It is also one to one.
OpenGL might create matrices for the transformations you want, but if you don't understand that concept of composing transformations and how they can collapse to a single matrix through multiplication then the API isn't going to make much sense to you. And you never know when some property of how affine coordinates are implemented could end up being important. Ultimately, if you don't understand the functionality of the library, you wont be able to use it effectively. In fact, it isn't that hard to implement OpenGL in software, although you would never use such an implementation unless the hardware wasn't available for some reason. It isn't the implementation that is difficult, but rather the concepts employed in the interface. There are other components to a game engine besides the rendering. Similarly, there are libraries for physics, AI, etc. But in order to integrate these libraries into the game you want to build, you need to have a deep understanding of their functionality. Sometimes you can still treat the library as a black box, and sometimes learning how to use the library is just as difficult as implementing it.
>>44
I'm not from 4-ch, and it's deader there now than it was years ago. You have a very warped sense of what's considered actual shitposting. And if this is your idea of trolling, you're not very good at it.
Name:
Anonymous2012-09-13 0:01
>>45 OpenGL might create matrices for the transformations you want, but if you don't understand that concept of composing transformations and how they can collapse to a single matrix through multiplication then the API isn't going to make much sense to you.
Math is all about recipes, random search and black box functions, where yous just supply value and get result. You dont have to understand how your brain works to use it, same with a good API - it just works.
>>47
My main point wasn't that you needed to understand how the API worked, but that you needed to understand what it does, which is sometimes just as hard as understanding how it works.
>>46
Actually it's the purest sense in all the net, and especially here, however since you are a recent 4-ch refugee your perception is muddled. Enjoy your delusion and kettle blackcasting.
>>56 recent 4-ch refugee
An oxymoron if I ever heard one. Seriously, are you even trying?
Name:
Anonymous2012-09-13 11:37
>>57
because the image of a continuous function defined on a compact domain X to R will be a compact subset of R, and thus, bounded and closed. Meaning f will always obtain a maximum and a minimum.