Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: How Many of You Actually Use Math?

timothy posted more than 2 years ago | from the let-me-inaccurately-count-the-ways dept.

Math 1086

An anonymous reader writes with a question that makes a good follow-on to the claim that mathematics requirements in U.S. schools unnecessarily limit students' educational choices: "I'm a high school student who is interested in a career in a computer science or game development related position. I've been told by teachers and parents that math classes are a must for any technology related career. I've been dabbling around Unity3D and OGRE for about two years now and have been programming for longer than that, but I've never had to use any math beyond trigonometry (which I took as a Freshman). This makes me wonder: will I actually use calculus and above, or is it just a popular idea that you need to be a mathematician in order to program? What are your experiences?"

cancel ×

1086 comments

Sorry! There are no comments related to the filter you selected.

Field dependent requirement (5, Insightful)

icebike (68054) | more than 2 years ago | (#40934329)

The bulk of programming jobs have nothing at all to do with math beyond the high school level.
Its mostly counting beans and keeping records. Really, it is.

Gaming, (image rendering and manipulation), statistics, and rocket science are a few of the obvious areas that come to mind where more advanced maths may be necessary. Even these fields have packages available to do the heavy lifting once you figure out what it is that you want to do. Knowing what to do the key. This kind of programming constitutes about 1% of the available jobs and 98% of the chest thumping on slashdot.

Re:Field dependent requirement (4, Interesting)

AlphaWolf_HK (692722) | more than 2 years ago | (#40934539)

I've gone all the way up to calculus 3 (vectors, multi-dimensional functions, and doing differentials and integrals therein) and I've yet to see calculus applied by any programming. I am curious how one actually implements it though, in what (limited) programming I've done, I haven't seen any clear way to calculate say an integral using something like c++ or c#.

Is it typically library/api driven and you just feed an equation to those functions? Or do most programmers hardcode them?

I'd like to see some code examples. I'd probably never have a use for it, but I am curious.

Re:Field dependent requirement (1)

Anonymous Coward | more than 2 years ago | (#40934651)

Conceptually I've used calculus a lot. I am currently writing mapping applications, and have to, for example, understand (and implement) the ability to calculate the surface area of a curved, irregularly shaped plain.

Re:Field dependent requirement (3, Funny)

Jeremiah Cornelius (137) | more than 2 years ago | (#40934749)

How will you ever correctly use the word "orthagonal" in a meeting, and command all credibility, without having taken maths?

Re:Field dependent requirement (5, Insightful)

bannable (1605677) | more than 2 years ago | (#40934765)

I haven't seen any clear way to calculate say an integral using something like c++ or c#.

Calculus is a study of continuous mathematics. C, C++, and every (?) other programming language work on principles of discrete mathematics, which is why you can read all about strange calculations with floating point variables. So, what you've seen is only natural.

My understanding of it is that most colleges/universities do not even consider offering discrete mathematic courses until at least Calculus 2 is completed, and in some places not for a year after even that.

Re:Field dependent requirement (5, Insightful)

fredprado (2569351) | more than 2 years ago | (#40934567)

On the other hand, almost all IT jobs require at the very least a good part of high school math, especially logic, algebra, arithmetics and combinatory analysis.

Re:Field dependent requirement (1)

SJHillman (1966756) | more than 2 years ago | (#40934739)

I agree. If you can't add, subtract, multiply, divide and use algebra, then you won't last. However, I've never needed anything remotely as advanced as even precalculus (although I don't do a little of programming).

Re:Field dependent requirement (1)

Skapare (16644) | more than 2 years ago | (#40934575)

s/may/will/ ... that will fix it.

Re:Field dependent requirement (1)

Anonymous Coward | more than 2 years ago | (#40934635)

The advanced math is required by the folks who write "packages available to do the heavy lifting".

High school level programming. (5, Insightful)

khasim (1285) | more than 2 years ago | (#40934709)

The bulk of programming jobs have nothing at all to do with math beyond the high school level.
Its mostly counting beans and keeping records. Really, it is.

Which is also why there is a lot of high school level code out there.

If you never learn more than you need then you'll never know if you have learned as much as you need.

Learning more math won't always make you a better programmer. But it will show you whether you can do something better than someone who knows less math.

Re:Field dependent requirement (5, Interesting)

jittles (1613415) | more than 2 years ago | (#40934717)

Two out of three Of my jobs after graduating have required math. The first job involved video encoding, decoding, and cryptographic signatures. If I didn't have knowledge of advanced math I would have found it almost impossible to understand the algorithms, and to make optimizations that were required.

The second job required linear algebra to do calculations of target positions from a moving aircraft to track up to six moving ground targets. I'd say the math experience is also nice to have just from a problem solving Standpoint.

Re:Field dependent requirement (4, Informative)

DanTheStone (1212500) | more than 2 years ago | (#40934729)

I've done work in GIS software that definitely used my Calculus and Linear Geometry training (for surface areas and distances and intersections on a sphere, for example). The times you need the math are when there isn't already a "package" available for you, or when you need to do something efficiently (optimizing calculations). In my current job Statistics is shaping up to be more useful.

Then again, I did also have a math minor and gravitate toward technical jobs, so some of that stuff is expected. But I'm not in gaming or rocket science or statistics.

Re:Field dependent requirement (1)

Anonymous Coward | more than 2 years ago | (#40934735)

wtf?

The smartest guys in the room are usually the ones who understand applied math and use it effectively.

By "guys in the room", I mean the software engineers working through the problem.

Or is this some stupid fucking rationale for raising test scores by reducing the complexity of the math requirements....

Re:Field dependent requirement (4, Insightful)

s.petry (762400) | more than 2 years ago | (#40934753)

Taking away the obvious implication of "You don't program differential equations" the logic skills gained by math help greatly in programming. I don't use derivatives per-say in programming or IT work, however understanding how to simplify complex problems has been invaluable to my career.

I graduated with a Mathematics degree and minored in Liberal Arts. I learned about computers during courses in programming that were required for the Math degree. I have never worked as a Mathematician, it was boring compared to Information Technology.

Optimization (5, Interesting)

Anonymous Coward | more than 2 years ago | (#40934359)

If you want to be an efficient programmer in some specific domains, an understanding of higher math allows you to optimize your code. In game development this becomes important when you are trying to have your cutting edge game run on older hardware.

Re:Optimization (4, Insightful)

Anonymous Coward | more than 2 years ago | (#40934489)

Also, if you can't handle the math, you aren't cut out for the job. Even if you don't use it daily. Same reason that premedical students take physics (to keep morons out of medical school).

Re:Optimization (3, Informative)

SQLGuru (980662) | more than 2 years ago | (#40934541)

This.

If you are just using libraries and assets, you won't do as much math until you need to tune a section of code. If you are writing the lower level graphics libraries, math will be important. Same for other programming areas -- the high-level programmer doesn't need to know the complex problem domain but the low-level programmer does.

Oh, and learn Linear Algebra (as a simplification, Matrix Math) if you're doing much in a graphics field. It's not in the straight line of "important" math (Algebra --> Trig --> Calculus) but in a branch from there. It's quite useful in graphics, however.

Re:Optimization (5, Informative)

DJ Jones (997846) | more than 2 years ago | (#40934543)

i work in Finance so perhaps I'm a little bit of an outlier but I use high-level mathematics every day. The other day I caught two programmers (who lacked mathematical backgrounds) attempting to use a binary solver to find a solution to a polynomial algorithm. They had spent two months of time and energy trying to figure out why their model sporadically failed. I had to pull a numerical methods textbook off the shelf and show them the Newton-Raphson iterative method.

You don't use it often but there are definitely occasions when a lack of understanding leads to pitfalls.

Re:Optimization (0)

Anonymous Coward | more than 2 years ago | (#40934571)

Linear algebra is probably really important as a programmer, as you'll use it for all kind of algorithms - graphics, physics engines, compression, video encoding, signal processing, etc.

Read More (1)

Anonymous Coward | more than 2 years ago | (#40934369)

Try to read a serious book on graphics or game engine architecture then tell me how much math you need.

Re:Read More (5, Insightful)

Anonymous Coward | more than 2 years ago | (#40934445)

Follow-up:
Math is nothing more than a language that allows the speaker to make very precise statements. If you can't see how this is useful in programming then no-one can help you.

How Many of You Actually Use Math? (4, Funny)

thePowerOfGrayskull (905905) | more than 2 years ago | (#40934383)

How Many of You Actually Use Math?

Last I added it up, three of me.

It will limit you (0)

Anonymous Coward | more than 2 years ago | (#40934393)

Knowing advanced math increases opportunities available too you. If you do not choose to use what you learned, you still have the opportunity to choose. If you never learn the math then you will encounter situations where you will not be qualified to understand or perform the task you are presented with.

Re:It will limit you (1)

MrEricSir (398214) | more than 2 years ago | (#40934697)

The problem with that line of thinking is that there's no stop condition; it's inherently a slippery slope. Yes, knowing more of anything is good and may have unanticipated benefits. But you can't stay in school forever.

At some point, we have to draw a line.

YES (0)

Anonymous Coward | more than 2 years ago | (#40934395)

.. especially if you want to do game development. Game development is VERY math heavy.

Computer Science is a mathematics discipline. The more math you take, the more your brain will be trained in the logic, reasoning and other skills necessary to be a good software engineer.

If all you desire is to be a code monkey, do CIS.

You should learn discrete math (0)

Anonymous Coward | more than 2 years ago | (#40934405)

So that you can have a better understanding of algorithms and recurrences

Money (-1)

Anonymous Coward | more than 2 years ago | (#40934409)

It's all about money. The classes are required solely to increase the cost of the degree and have no relevance in the practical application of most computer sciences.

Re:Money (2)

Skapare (16644) | more than 2 years ago | (#40934643)

If you can't do the maths up through at least a year of linear algebra, and didn't make at least a B, I don't want to hire you for any of our technical jobs.

Mostly just discrete math (0)

Anonymous Coward | more than 2 years ago | (#40934421)

Basic set theory and some discrete math for writing proofs, that's basically all you need to complete a CS curriculum. There is no calculus at all unless you search it out.

Depends whether you include discrete math (4, Interesting)

MrEricSir (398214) | more than 2 years ago | (#40934429)

The only math course in college that I felt applied directly to software engineering was discrete math. It's all about logic, graph theory, etc. and provides the basis for computer science.

That said, most software doesn't really require calculus, geometry, or even trig. But certain fields (AI comes immediately to mind) require a significant math background.

Re:Depends whether you include discrete math (1)

AlphaWolf_HK (692722) | more than 2 years ago | (#40934607)

Only non-gaming, non-engineering application I've seen for trig is doing disk parity in RAID arrays.

Yes (5, Insightful)

bmacs27 (1314285) | more than 2 years ago | (#40934431)

If you want to work on interesting problems you will need math. At some point the algorithms just become black magic if you don't understand the mathematical underpinnings. Also, if you don't understand the algorithm, you'll never be able to know when it isn't well suited to your task.

Re:Yes (3, Insightful)

Nugoo (1794744) | more than 2 years ago | (#40934613)

Agreed. Any graphics engine uses a ton of linear algebra under the hood, so you'll need that if you ever want to modify one or write your own. Also, if you want to do any kind of physics simulation (which you probably will, if you're doing games), you may need calculus (but maybe not, since video games fake as much as they can get away with).

Re:Yes (1)

bmacs27 (1314285) | more than 2 years ago | (#40934759)

I find the calculus is most useful for derivations which reduce the computational complexity of whatever it is you are doing. Most often it isn't that useful as a component of the algorithm itself as you are necessarily working in a discrete domain. It's utility comes from seeing the equivalence, or at least approximate equivalence between methods.

Re:Yes (3, Insightful)

djdanlib (732853) | more than 2 years ago | (#40934725)

Also, you'll never be able to verify that your algorithm is working by manually processing sample inputs. That's a tremendously useful ability to have. See the following thought process:

>> "See if I give it A, it should give B, but instead it gives C"

>> "Let me try it by hand"

>> "My algorithm is wrong" or "My implementation of the algorithm is wrong" or "I'm using the wrong algorithm to solve this problem" (knowing the difference saves you notable amounts of time)

>> "I now have an understanding of the actual problem and can solve it"

graphics programming uses math extensively (5, Insightful)

parshimers (1416291) | more than 2 years ago | (#40934433)

go google quaternions, or rotation matricies
properly understanding these sort of techniques that are used widely in 3D programming applications without having knowledge of linear algebra is damned near impossible

Study math (5, Insightful)

Anonymous Coward | more than 2 years ago | (#40934435)

It doesn't matter if you use it in practice. You'll learn to think critically to solve abstract problems. Don't buy into the hype that you don't need math.

Instead of calculus (2, Informative)

Skapare (16644) | more than 2 years ago | (#40934437)

Calculus is virtually unused in computers. It was designed as a shorthand for a world that didn't have computers. What you need to be learning instead is Linear Algebra.

Re:Instead of calculus (4, Insightful)

White Flame (1074973) | more than 2 years ago | (#40934605)

Calculus is pretty much a modeling language when it comes to programming, not an implementation language. When it's appropriate, calculus is generally done outside of the program implementation, its output being the algorithmic shortcuts and validations that you can rely on when writing the actual code.

Re:Instead of calculus (1)

tazan (652775) | more than 2 years ago | (#40934625)

I wish I had taken a statistics course and some accounting courses instead of all the calculus that I've never once used. I suspect most programming jobs are like that.

Re:Instead of calculus (4, Insightful)

Anonymous Coward | more than 2 years ago | (#40934737)

This is completely backwards.

Calculus is used to describe nature in the most fundamental way. Computers simply work with approximations to nature that are reasonable for most types of predictions.

So computers are the ones using a shortcut that is faster. Finding analytic solutions to differential equations is the most fundamental way of understanding nature that we have in science, but this is often much more difficult than using a numerical approach with a computer.

In any case, most people need to learn the full way of doing things (ie the typical calculus way) before they can move on to shortcuts that may be faster.

Did anyone else ... ? (-1)

Anonymous Coward | more than 2 years ago | (#40934439)

Did anyone else read that as 'How many of you Actually use Meth?'

Re:Did anyone else ... ? (1)

kelemvor4 (1980226) | more than 2 years ago | (#40934595)

Did anyone else read that as 'How many of you Actually use Meth?'

I did, actually. Not that it's a bad article, but it was a little anticlimactic when I though I was going to read about some doper on here.

Re:Did anyone else ... ? (2)

BronsCon (927697) | more than 2 years ago | (#40934627)

Reading Slashdot headlines is not normal.
On Meth, it is.

Meth. Not even once.

Mostly Yes (0)

Anonymous Coward | more than 2 years ago | (#40934443)

Depending on what sort of programming you end up doing, you'll likely use some higher math. I've used linear algebra for some graphics works and stats for a whole bunch of stuff. Haven't had occasion to use much calculus though. It's worth learning to keep your options open for sure.

Must read more carefully (1)

_DangerousDwarf (210835) | more than 2 years ago | (#40934449)

I clicked because I thought the topic was "Ask Slashdot: How Many of You Actually Use Meth?" I was looking for a support group :(

Logic (0)

Anonymous Coward | more than 2 years ago | (#40934451)

I think learning higher level math helped me learn the logic necessary to do my job. I don't ever use the higher level math, but the logic required to do such math is invaluable. I'm not saying you need it to write code well, but I think it helped me.

Short answer (3, Insightful)

Anonymous Coward | more than 2 years ago | (#40934453)

Others do what they can, mathematicians do what they want.

What a piece of work is man... (5, Insightful)

Impy the Impiuos Imp (442658) | more than 2 years ago | (#40934459)

You are probably not gonna use what you learned in Huckleberry Finn or History, either.

There's a reason these are taught, and it's not all about pure facts.

Very little, frankly. (1)

gestalt_n_pepper (991155) | more than 2 years ago | (#40934463)

Once I had to program a cursor to move diagonally across a window. While unchallenging, it was probably the pinnacle of my mathematics programming. Sometimes I have to remember to divide by 1024 instead of 1000. There you have it. Most of my life centers around multiply nested loops peppered with if-then statements plus regular expressions.

Screening (0)

Anonymous Coward | more than 2 years ago | (#40934465)

I think they say that to keep idiots out of programming... Prime example, Apple developers require no math skills because all their programming is done by clicking on pretty icons that are pre-configured for each function they want to do. Programming for Microsoft requires no skills what so ever, as demonstrated by how well Microsoft programs run.... If you happen to be good at math and interested in programming you may be interested in trying to figure out how to develop a really basic software suite and getting Microsoft or Google to buy you out of it... That may be the best use of your math genius yet...

It depends what you work on (2)

NixieBunny (859050) | more than 2 years ago | (#40934487)

I don't use much math in my work on radio telescopes, which is mostly making gizmos to control physical stuff. Someone else worked out the algorithms long ago, and I do the hardware end of it.

But I work with coders who have to do some rather intense math to solve problems (mostly coordinate transformations or path generation) that had been solved poorly in the old software.

Problem Solving (5, Informative)

MatrixCubed (583402) | more than 2 years ago | (#40934491)

While programming is not necessarily math-heavy, mathematics gives you experience with problem solving, sometimes in unconventional ways. It's really the only technical problem-solving you do in school, and it's an important learning step, for what it teaches indirectly as well as what it teaches directly.

All the time (0)

Anonymous Coward | more than 2 years ago | (#40934493)

If doing fourier transforms isn't math, I don't know what is

Concepts versus skills (5, Insightful)

addie (470476) | more than 2 years ago | (#40934495)

It's not necessarily the actual math skills that are important - it's the understanding of the concepts behind it that will increase your understanding of any kind of process, job, or task - programming being one of them. Knowing what the area under a curve means is probably more important than knowing how to calculate it.

I don't use calculus or any kind of advanced algebra in my day to day work (in communications, far from programming) but I'm sure glad that I understand the basic concepts, thanks to a first degree in engineering.

Thinking differently (3, Interesting)

ubergeek65536 (862868) | more than 2 years ago | (#40934503)

Although you might not use a lot of advanced math learning it changes how you solve problems. I found it abstract algebra and formal logic the most useful.

Mathematical maturity (2)

billakay (1607221) | more than 2 years ago | (#40934511)

If you really want to get into game programming, the advanced math will be your friend. Supposedly even some ancient (and infurating) concepts like quaternions are coming back in computer graphics. For anything else, it still isn't going to be a waste of time. The analytical skills and "mathematical maturity" obtained by taking a good calculus course (and actually applying yourself rather than just trying to pass) will go way further than the actual calculus will for most people.

Occasionally (1)

Anonymous Coward | more than 2 years ago | (#40934519)

I work on a 3d modeling package, I'd say math is a very occasional thing. And then it's not math, it's math concepts. And it's trig + matrix math. The vast majority of the time you use the pre-existing methods other people have created and there's no need to understand what they do. The best way to learn that sort of math would probably be to go and buy a book on 3d game programming and work your way through it.

And the vast majority of the programming you do has nothing at all to do with math. Which is good, because I struggled with math.

Data Mining/Big Data/Machine Learning.... (2)

swframe (646356) | more than 2 years ago | (#40934523)

Checkout ai-class.com to see some of the ways in which Math gets used in computer science. That class touches on just a few topics and doesn't go very deep. When you work in the machine learning field, there is a lot more math that you'll find helpful.

If you want to write games, you need calculus (4, Insightful)

damn_registrars (1103043) | more than 2 years ago | (#40934525)

Realistic physics requires it. On top of that, the more math you learn before entering the field, the more opportunities will be available to you as a programmer. Don't cripple yourself while you're still young.

Yes it helps (0)

Anonymous Coward | more than 2 years ago | (#40934527)

I have had to dust off trig for programming biz apps, such as location searches. (Remember the earth is not flat)
I have needed some stats for modeling. Did I need calculus??? Its hard to say, I think having a couple semesters helps with stats and understanding trig. Although it did make me have a health hate for Newton.
I would say:
Trig
Differ and Integral Calculus
Stats Class
Discete Math
Linear Algebra (For graphics)

Better question (5, Insightful)

need4mospd (1146215) | more than 2 years ago | (#40934531)

How many of you use the problem solving skills that were developed in math class? I may not use math everyday, but I certainly solve complex problems that I'm sure others with less math education would struggle to solve.

Depends (1)

bigredswitch (622835) | more than 2 years ago | (#40934547)

It depends on what you want to do. Here's a simple example: if you want to write games with Unity then basic maths will see you just fine, but if you wanted to write your own competitor to Unity, then you'd need a higher level of maths. Same applies to OGRE, and Bullet, and... the list goes on.

I extensively use advanced math. (0)

Anonymous Coward | more than 2 years ago | (#40934553)

I work with data acquisition and signal processing, and yes, we absolutely use a lot of math. We use advanced calculus, and DSP tools and all sorts of other things.

Yes, there are computer tools that do much of the heavy-lifting and heavy-thinking for us, but without the foundational math, we would not understand what the tools are actually doing.

Also, I've found that the types of engineering jobs which require more math generally get paid more.
Compare for instance, the average salaries of video game software devs to DSP experts to physicists designing new transistors.

Logic is Math (4, Insightful)

Hatta (162192) | more than 2 years ago | (#40934561)

Logic is math, and EVERYONE needs logic.

Even if you never write a proof or solve an integral in your working life, it's important to understand how math works. Life, all of it, is one big word problem. If you don't have a basic understanding for the mathematical nature of the universe, you're simply not going to be able to navigate it as well. If you don't understand how mathematical arguments work, you won't be able to offer useful opinions on the matters of the day.

I'm not sure that everyone needs to know calculus, but everyone needs to know what calculus is and what it's used for. Everyone needs to be numerate.

The more math you learn, the more tools you have (0)

Anonymous Coward | more than 2 years ago | (#40934565)

The more math you learn, the more tools you have with which to approach solving life's problems (and programming too). Why would you want anything less than a full toolkit? Learn all the math you can, it will serve you well as a programmer.

If you don't know any math... (2)

John Hasler (414242) | more than 2 years ago | (#40934573)

...then you certainly won't use any. If you do know some and are comfortable with it you will find many uses. On the other hand if you struggle resentfully through the minimum required math certain that you will find no use for it, you will be right.

I use it when ... (1)

smooth wombat (796938) | more than 2 years ago | (#40934579)

I use the phrase, "If I had a dime for every time these morons keep asking the same question." I keep adding up how much money I would have if I did charge a dime per dumb question.

Don't restrict yourself (0)

Anonymous Coward | more than 2 years ago | (#40934583)

I personally use advanced math (well beyond simple calculus) every single day.

Sure, most programming jobs (or jobs in general) don't require nearly that much math. However, I have access to many jobs that are simply not available to most people because of those additional math capabilities. Basically, I am qualified for all the typical jobs that don't require much math, plus a bunch of other jobs. And the kind of jobs that do require lots of math tend to be high paying, highly stable jobs that aren't in danger of getting outsourced to some cheaper guy in India.

So while you don't need to know lots of math in the strictest sense to be a highly skilled programmer, you are really cutting back your options at a very young age if you blow it off while you are still in your teens. For example, you aren't going to be able to do any kind of physics or engineering based programming if you don't know something about differential equations.

I also recall seeing a study a while back showing that income was more strongly correlated with mathematical abilities than any other school subject. Maybe that was just some kind of propaganda being passed around my department. But math heavy jobs sure do seem to pay well and be fairly stable.

Most Programming Jobs... (0)

Anonymous Coward | more than 2 years ago | (#40934585)

90% of programming jobs are business logic for companies to use in order to run or operate services. It nearly never requires any knowledge of math (more often than not the guidelines describing the business logic of the flow are so strict you don't have much freedom in design).

Among the rest of the programming jobs, you have user-facing applications which, again rarely require anything complicated (they just have to look nice and be stable).

The principle area where you will need a high degree of math competency is if you are programming/working on model simulators. Representing real life objects, movement, trajectories, 3 dimensional fields, etc, on computers can be incredibly complex.

Note that this is actually (from my point of view) where the most interesting work actually lies. I personally hate web development and user-facing applications, and business logic can be interesting because it varies greatly depending on what you're working on, but simulators are where the truly ingenious programming is I would say.

I am, of course, over generalizing, but I think the point is valid.

I misread the headline. (5, Funny)

bennomatic (691188) | more than 2 years ago | (#40934587)

Clearly I've been watching too much Breaking Bad.

One data point (me) (4, Interesting)

ukpyr (53793) | more than 2 years ago | (#40934591)

Trig as you already know is great for 3d stuff.

Calc is great for decision logic and business intelligence

Stats are great for business intelligence type work

As someone who did horribly in high school and college math, I did the minimum for my degree. I've retaught myself much of stats and calc because I found them useful in my personal projects. I find them more rewarding now that I have applications to use them in. I was a bad student though early in life. YMMV

Most of the math in the corporate programming world is really elementary. Basic algebra or less.

now go and make your own game engine (1)

alen (225700) | more than 2 years ago | (#40934593)

making simple games in UNITY doesn't require much math, but doing stuff like creating new engines or modifying the engine like in the AAA titles requires math. or actually creating the engine and coding in NEW FEATURES in for the first time requires math. how do you think all those new features get into UNITY and UNREAL in the first place?

not like the boxes to add a light source and have it bounce off water appears by magic

Bioinformatics (2)

Fwipp (1473271) | more than 2 years ago | (#40934601)

My current job title is "Bioinformatics Analyst," and I need to at least understand a good bit of math that I didn't learn in highschool. While it's rare that I directly need to implement complicated mathematical programs, much of my job involves tuning parameters for specialized software.

I need to have a good understanding of the changes that are likely to result from adjusting parameters X, Y and Z before I submit a job that takes upwards of a day to complete. To do that, I need to read the papers and understand the algorithms.

You need the byproduct (2)

gilgo_22 (460990) | more than 2 years ago | (#40934615)

You don't really need math. But the thought processes learned through math training are really useful.

Navigation Air and Sea (0)

Anonymous Coward | more than 2 years ago | (#40934617)

I use more math doing air and sea navigation than almost anywhere in my life. At sea I use a sextant which requires some easy worksheet math and some tables, dead reckoning with the air speed and a stopwatch is used at sea and in the air, also measuring the angle from VOR beacons.
Otherwise it seems to be figuring out the grocery budget.

If you want to be a well paid game programmer... (0)

Anonymous Coward | more than 2 years ago | (#40934619)

I'm the CTO of a game studio that makes console and pc games. Multivariable Calculus, diff EQ, and most importantly Linear Algebra all come up on a regular basis- we have our own game engine, so we build the graphics, animation, physics, AI etc libraries that require this stuff. When I'm hiring leads, I look for ones that understand higher math. It's true that you can get by fine as a gameplay programmer without understanding math, but if you want to be an engine programmer, or a lead, then you'd better learn this stuff.

For what it's worth, learning calculus teaches you a new way of thinking that's valuable in many aspects of programming- not just when writing code that does calc.

Least Squares (2)

DeeEff (2370332) | more than 2 years ago | (#40934621)

I use linear algebra and calculus everyday.

As a geomatics engineer, my programming often involves using and understanding different levels of vector calculus as well as some basic linear algebra.

By the time I'm 30, I probably won't use it as much. In the meantime, I use it everyday to solve different problems.

Don't limit yourself (1)

BlindRobin (768267) | more than 2 years ago | (#40934623)

Your plans may change, either because your interests change or because of circumstances beyond your control. Also learning higher maths helps your problem solving skills and mental agility. If you dislike educating yourself just for the knowledge or simply want to take the path of least resistance towards what you perceive as a fun profession perhaps you should re-evaluate your motivations.

Depends on the realism you want to achieve (1)

markdj (691222) | more than 2 years ago | (#40934629)

If your game needs to simulate physics and your programming library and tools don't do that, you will need the appropriate equations. Proper physics equations can be complicated and involve calculus. A good example is moving a vehicle around a curve realistically. There you need math to simulate the equilibrium between forward motion in the curve and centrifugal force that want you go straight.

Opportunities (2)

KalvinB (205500) | more than 2 years ago | (#40934639)

The more you know the more opportunities you will have and the more earning potential you will have. I've used college level math in programming projects before. I have a friend who's a PhD making buckets of money doing very high level math. So if you want to make buckets of money doing high level math related programming, you will need to learn high level math. If you're comfortable making decent money limited to projects going no higher than high school math, then that's all you need.

So Trig is like 3 houses in Monopoly. You've made a huge leap in earning potential but you're not at the top yet.

And of course, the obligatory XKCD (4, Insightful)

bennomatic (691188) | more than 2 years ago | (#40934641)

Purity [xkcd.com]

Yes. (0)

Anonymous Coward | more than 2 years ago | (#40934653)

> will I actually use calculus and above, or is it just a popular idea that you need to be a mathematician in order to program?

An error in the question: assuming that knowing calculus makes you a mathematician. Calculus is to modern mathematics as "Force equals mass times acceleration" is to modern physics.

Most programming jobs won't require things like calculus. But not learning it now will effectively [i]shut you out[/i] of those jobs where you do need it. And while technical knowledge quickly becomes obsolete, learning how to do (for example) proper differentiation will never become outdated. So it remains a good investment.

More maths = bigger toolbox (1)

cyborg_zx (893396) | more than 2 years ago | (#40934657)

Just because you don't necessarily use those tiny little watch screwdrivers everyday doesn't mean you aren't helped out by knowing a bit about how to use them.

Either way acedemics is not about learning exactly what you need to do your job it's about proving you have the ability to learn and reason full stop.

The end of your formal education is not the end of your learning. Most of what I need to do day to day is not stuff I learnt in school but I imagine it would be considerably more difficult for me to pick it up if I tried to focus incredibly narrowly on specifics as if things could be so neatly deliniated.

Need Math? (0)

Anonymous Coward | more than 2 years ago | (#40934661)

In my experience, the time to get the math background is not when you need it, but before. I was able to teach math and science at the middle school level because I added a math minor to my education degree (it also meant more money, but that's another story). My advice to high school students is to get all the math they can in college (at least as much as they can afford). It simply increases your options when looking for employment.

Innumeracy makes people easy victims (0)

Anonymous Coward | more than 2 years ago | (#40934665)

People are throwing numbers at you all the time in the media. Most people can't tell whether what they are hearing is BS or not. That's not good for democracy.

Shut up and do your homework (0)

Anonymous Coward | more than 2 years ago | (#40934669)

I don't care if you don't like it. If you can't handle a little math, I'm sure as hell not going to hire you. Quit your bitching.

Calculus: JUST DO IT. (0)

Anonymous Coward | more than 2 years ago | (#40934673)

I'm a math professor, so yea...I use it a fair bit :)

As to the calculus question (and to follow up on a previous post): you really need linear algebra. But typically it is taught at a level that requires you to have gone through calculus. Not necessarily because you need the calculus, but more because you need to be a mature thinker and two semesters of university calculus will help train you.

I dabble in a little graphics programming for research visualization, and I actually find myself using calculus a fair bit. For example, if I'm trying to find tangents or normals to a curve or surface, I will use results about derivatives. In the full 3d world you need to marry this with linear algebra to properly express the multivariable stuff, but for 2d, a single semester of calculus will probably suffice.

So take linear algebra, and calculus up through multivariable. Even if only some parts of each course are useful, it'll make you a better thinker.

Beyond the most basic Calculus, none. (1)

aoeu (532208) | more than 2 years ago | (#40934677)

There was that one time I was able to do a Group Transform. It was mostly lucky and it made no difference.

Algebra and Statistics are key (4, Interesting)

crow (16139) | more than 2 years ago | (#40934683)

The key areas for math in general computer science are algebra and statistics. Even if you are not actively using algebra, the thought processes in programming are very similar. Statistics are critical for analyses of system behavior. Linear algebra is useful occasionally, but mostly it's just something that is nice to have been exposed to.

I never use calculus, but it was in taking a calculus class that my algebra skills solidified, so the coursework was not wasted. In general, you should always progress one step further in coursework than you expect to actually need.

Also, there's a big difference between knowing enough to get an entry-level programming position, and knowing enough to have a career where you end up designing major projects.

You MUST actively apply knowledge (0)

Anonymous Coward | more than 2 years ago | (#40934691)

The question implies the person expects math to use or manifest itself. The individual must ACTIVELY look for problems to understand in mathematical ways.

The parts of your program that change, find ways to express them in calculus. The parts of your program that have unknowns, find ways to express the knowledge in algebra. Math offers you elegant ways to express yourself, mathematics doesn't appear as a passive knowledge that you can just do a few problems on paper and expect math to leap onto your computer screen.

Do you need Math? Absolutely not, you are free to be as mediocre as you want. You can write out 16+16+16+16+16 every single time. Do you need art? Nope, you can make everything in your world as simple, functional, and mechanical, as devoid of color and beauty, as you want it to be.

You create your reality, and you are free to create it without applying mathematical concepts. The people who can't see the value of knowledge and collect it just for the sake of saying "I once took math, not really good for anything..." or "Oh, I took french in high school. I can say 's'il vous plait'." we call them dilettantes.

At first you won't see the ways your knowledge applies without hard examination. Eventually patterns will appear subconsciously and you can move on to actively seeking more complex patterns. If you can't see any patterns where mathematics can be applied you're not really looking for them.

Manifesto (1)

ahoffer0 (1372847) | more than 2 years ago | (#40934695)

I am not particularly talented in math(s). Math is hard for me.
I do not use much math(s) in my day job.
I consider math(s) the single most important subject I studied in my education, from third grade through Master's degree.

Education is not the same as training.
One can train for a vocation.
Coding is a vocation.
Do not study math(s) or attend a university if training, not education, is the only goal.

Good to Stay Mathed (0)

Anonymous Coward | more than 2 years ago | (#40934699)

I'd just say Calc keeps you on your toes.

Trig, Multiplication, Long Division, Addition, Subtraction, Optimization. All good to know/remember... I'd say I use'em all on a daily basis.

Plus, when there's that one instance where it would be really worth it to use optimization and no one else knows it, and you can do it in a couple of minutes... feels pretty good.

You'll need it for the GRE (2)

Mondoz (672060) | more than 2 years ago | (#40934711)

If you want to get into post-graduate studies, this means taking the GRE test. There's a lot of math on the GRE that you have to do quickly.
None of it is terribly difficult, but I found that I was very out of practice, which slows me down quite a bit.
If you can do high school math in your head quickly, it vastly improves your score.

I've been in the CS industry for nearly 12 years and offloaded nearly all my high school era math off to calculators and spreadsheets. Very rude awakening when I took my first practice GRE.

Algebra is critical for me (1)

MadAnalyst (959778) | more than 2 years ago | (#40934713)

PhD chemist here, just to give an idea of my work and complexity level. I do a huge variety of algebra regularly. I also do occasional trigonometry and a lot of statistics. Simple linear regressions are always important, and a certain amount of other curve modelling. Calculus? Never. Haven't touched it since grad school, but I did have some use for it then in error analysis studies (multi-variate derivatives to be specific). Then again, I think studying calculus helped me in algebra. It got used so often in manipulating the equations that it became second nature while the calculus remained more challenging.

An Example (1)

Bill Dimm (463823) | more than 2 years ago | (#40934715)

Whether or not you need math really depends on the type of programming that you're doing, but it can creep up in pretty mundane areas. For example, suppose your program is doing some sort of tedious calculation and you want to display a progress bar or an estimate of the amount of time remaining. If things are somewhat complicated, you may need to fit some parameters to estimate time remaining. Fitting generally means finding parameter values that minimize some quantity (like squared error), so now you're into calculus (take partial derivative, set to zero, solve for parameter value). Of course, you can probably find a formula in a book but you may not truly understand it, or when it is applicable, if don't have a basic math background.

It Teaches How to Play Ball and Complete a Project (4, Insightful)

eldavojohn (898314) | more than 2 years ago | (#40934727)

Yeah, you'll notice that a lot of the richest and most successful people never completed college. And that's fine but in my humble opinion, that's a risky bet to take. I've done interviewing for developers for a fortune 500 company and seeing a college degree on the resume doesn't cause me to kick back and say "Oh thank god, they have taken Multivariate and Differential Equations calculus, now all my Spring applications are going to be able to compute the triple integral (by parts) of a toroid in three dimensional space as it passes through a fluctuating field exerting a force on it!" (Yes, I know that makes no sense at all) No, what that tells me is that we're going to be able to throw you in an environment where you have no clue what to do but resources to go out and find what to do. On top of that, you're going to be able to digest the driest and shittiest of documentation (like a calc book) and come back to me and have gleaned some working knowledge from it. Sure, you might have to go to the next cubicle and say "What is up with this stack dump?" And you may have to seek out an authority (like a professor) but you're going to come to some answer for our problems.

In short, it tells employers that you know how to play ball and high order concepts don't frighten you. I'm not going to throw integration by parts at you on the job but it is good to know that you stepped up to that challenge -- even if it was just to get to a final, pass it and move on. In short, I went to a liberal arts college, I took classes on music theory, calculus, physics, Native American studies, advanced literature, etc and in those classes I created four part inventions, mounds of calculations, papers, powerpoints, etc and I have used little if any of that in my day to day job post college. But in mastering those processes I learned how to play ball. Now, I'm not saying you need to go take music theory and Native American studies. But the thing with Calculus is that all software development is logic and math. So don't you think you'd want to get all your i's dotted and t's crossed so that any employer that looks at you knows you have studied beyond the requirements of math for writing software into a realm so lofty they won't even be able to use it? I'm sure glad I did.

Cull the herd (1)

travdaddy (527149) | more than 2 years ago | (#40934741)

Advanced Math simply isn't used. The college math requirements are just there to cull out the weak members of the herd. This is why Computer Science Majors don't have as many idiots running around as Business Majors do. (or Political Science, Marketing, etc.)

Math makes you competitive (1)

hisperati (1408819) | more than 2 years ago | (#40934755)

Computational complexity theory requires knowledge of set theory, number theory, abstract algebras, logic etc. You certainly don't need to know computational complexity theory to be a programmer, but is a good example of the kind of deep fascinating knowledge that will make you a cut above a code monkey. And big O notation, how long will that algorithm take? In reality is that these mathematical skills are not necessary for most jobs, but they make you more competitive in the job market. They make programming richer too. And, yes, I use math all the time even calculus as I do astrophysical simulations.

Depends on what you want to do (3, Informative)

paulpach (798828) | more than 2 years ago | (#40934767)

I developed a game [blockstory.net] using Unity3D.

I make heavy use of trigonometry, and a very small part of calculus.

Your question really depends on what you want to do:

  • * For game development (what you seem to be particularly interested on), calculus is almost irrelevant. You need trigonometry.
  • * If you work in operations research, then algebra and linear programming are a must.
  • * If you work on average database backed web applications, just some basic algebra is enough.
  • * If you work on AI related field, calculus is very important.

There are other fields that are not typically taught in math courses but in CS that are heavily math related. Like performance analysis. This I use a lot, but once again, it really depends on what you work on.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?