Mathematics Important for Development?

How vital is knowing math when you’re programming and developing? I’ve never been much of a fan of math, and I’m just starting to really try and get into programming things like PHP, Python, Java, and so on. How familiar should a developer be with math and to what level would it actually be used when coding?

In truth, it's not important, unless you are going to be developing
applications that are math-intensive. However, in those instances, it
is not unusual to be provided with all of the math that would be
required in the specification of work.

I'm studying computer science in University and even studied at a Business
College. The University says I need calculus but I have yet to see the
relevance of math, YET, maybe in some really advanced courses, but nothing
I can see in coding

It depends on what you will be programming "for", since practically any development will require at least some basic math skills. Writing programs for graphics/databases/CAD/research work will probably require more math knowledge than creating webpages, but chances are you will never need to prove Fermat's Last Theorem. Memorizing specific formulas from algebra and calculus classes will not be as important as the structured thinking and discipline used to solve design and programming issues.

Any requirement for mathematics in general will come from the problem
being addressed, rather than from programming per se. However, a
competent course in Symbolic Logic will be of use for programming in
almost any language, and I highly recommend it.

Basic math is always useful.
Command of basic geometry and trigonometry
Is practical.

Basic statistics helps as well.

The learning of math is not critical to programming unless the programs you are writing require computation
Even then formulae can be found in books
But that might not be enough to understand what you are building

Learning math and learning to solve problems is a useful skill that can
Help devise algorithms, but it all depends on what you pan to be doing.

I disagree; math is important. Math surrounds everything we do from balancing our checkbooks to telling time to cooking meals to planning for retirement to optimizing database design to understanding the motion of the stars. For the areas of interest in your programming you will need to learn and understand the math that describes that discipline. It might be matrices or differential equations, but learn it. Expose yourself to as much as you can. Don't sell yourself short with statements like, "I've never been much of a fan of math". Recognize that generalizations like that only serve to limit yourself and provide you with an excuse for avoiding doing the work necessary to excel.

I also believe that you need good communication skills (especially knowing how to write well). No matter how awesome your ideas may be, if you cannot communicate them you will be at a disadvantage.

Read. Read a lot. Read a lot of different topics and authors and genres. Reading will make you a better writer. Write. Write letters. Write technical documents. Write love letters. Write poems. Reading and writing will make you a better communicator. Same goes for the verbal tradition. Listen. Listen a lot. It's analogous to reading; it's how you learn how others communicate (both well and not so well). Tell stories. Tell short stories; it will teach you brevity. Learn to sketch. It's a way to quickly test out or share an idea. A computer requires that you be precise; sketching does not. Pencil and paper are convenient, flexible, and readily available; computers are much less so.

and that is where math helps you in programming. math is not hard... it is easy. however, there are a number of steps you must follow in order to solved a problem.

it's just like programming. you need to follow steps to build up to the top and find programming solutions. So math and programming are next to each other as both, you have to follow steps in order to solve problems.

Once you get good at it you can "skip" steps and get to the solution faster, but that requires practice and figuring out on your out, finding the logic... but in order to get there where you can find your own unique way to the solution you must first learn the basic steps to get there.

Is advanced math needed to be a programmer? Not really... but if you find your way to solve a calculus problem, then logic dictates that you will be willing to find the way to solve a programming/software solution.

If you do any 3d game programming you need maths for the transformation matrixes.
If you do 3d you need maths for the lightings.
If you write algorithms, you need maths for Big(O) calculations.
If you do any sort of analysis, you need maths for the calculations.

Heres a question I get regularly: How long until the servers reach capacity at the current growth curve? Document a report on it.

Math will help you in that it is pure logic. All programming is logic based. Therefore, the ease with which you can parse and create logical structure will directly effect your ability to program. However, it should be noted that maths is not the only way to learn logic.

You may never program a calculus solution to anything, but being exposed to the calculus gives you a way of thinking about things that is invaluable. As an elementary school child you probably didn't see the relevance of addition, subtraction, multiplication, or division. I think you would be hard-pressed to say that they aren't relevant in your life today. Many business principles cannot be explained or understood without calculus. It's in the curriculum for a reason. You may not need to solve the details of a calculus problem in your professional career, but knowing the concepts is imperative. The only way to learn the concepts is to learn the details. Even if you forget the details once you've successfully completed the course, the fundamental concepts will remain.

In general, it is not the Math itself that is important to programming (except you are a programmer of astronomy etc.) , it's the natural way of thinking that suits Math would suits programming too. Otherwise, you could end up with a big head full of tangled threads when you go home after work. ^o^

IF you do math well
THEN you are a candidate of programming
ELSE
IF math is not good simply because of lack of interest
THEN you may try to see if you like math
IF you do
THEN you can be a candidate
ELSE avoid programming
END IF
ELSE
IF math is not good because you tried but hate it
THEN avoid programming
END IF
ENDIF

Thanks to Jairo Groves we all have our final answer!!!! (no Godwin jokes please). The amazing part is how it does nothing to address the OPs question.

On a more serious note, do not fall in to the trap of only learning what is necessary for your job or your degree. That sort of thinking is short sighted and will take you no where. Learning enriches your life, no matter the subject.

The people who succeed in this field are those with an unquenchable thirst for knowledge. Spend time each day improving yourself by learning something new. Dive in to things that interest you. Never become complacent as Jairo Groves has become.

The most important part of mathematics for general program is an understanding of Boolean logic.

However, the ability to factor mathematical expressions (remember in algebra how you could restructure an expression by performing simple mathematical operations on the parts? For example: (n + 1) * (n - 1) = n^2 + n - n - 1 = n^2 - 1) becomes important when you are trying to come up with the simplest, most efficient implementation of a calculation.

1) You need to search a table of values that are in ascending sequence. When should you switch from using a sequential search to using a binary search?

You are writing an application for a retail store. The cashier's average time per customer is X minutes. At peak time customers are arriving randomly every Y minutes. One could say that at peak times customers are always queued up. The cash register sales do require buffering the quantity, item, tax, etc. Occasionally the customer changes his mind about a purchase of an item. Occasionally the sale does not go through because the card is rejected.

The number of customers and cashiers, and buffering of the sales information at the host are all variables. When a sale is completed, the slip is printed and the buffered information is "finalized". That is, the payment has been received, the inventory adjusted, the taxes from the sale put into the tax account, etc.
As a developer, your job is to generate an algorithm that determines the amount of buffering per average sale, the total buffering, realizing all the cashiers are connected to the same Store host system.

If backups are stored once a day, and each transaction is transmitted after store closing, how much disk space should be allocated.

Do you need mathematics or do you leave this work to someone else, another programmer who has some mathematics education.

Hmmmm to me programming 'is' [part-of] mathematics (i.e. not just something where mathematics is [sometimes] used).
For example, one way of thinking about computer graphics is that graphics are a visualization of mathematics [in action].
Allan

I have read all of the responses to this. Most of them are good. I
would only add,the discipline of solving and checking your math/calculus
helps you with the discipline of coding and checking your HTML. It really
helped me.

A knowledge of Numerical Analysis, a required course at Queens College for computer science majors would be an asset and would help tremendously with your computations. Get your hand on a text on the subject and you may even find some pseudo-code that can assist directly with the solution.

I should have couched my example from Banking, were we have thousands of ATM machines and we look at customer queue depths, where customers follow

poisson arrivals and the system responds with exponential service times, as modeled with a MM1 or similar queuing model.

The store may say, queue depth is not to exceed 6 customers, because the last customer may walk away or never return.

The store may insist that software be fast enough to support 10 transactions per second, a feat that is easily done. Can it support 12 txn per second, or 15txn/sec? This is where mathematics comes to play.

Alan,
As a Developer, deeply involved with graphics and design, mathematics have always been the basis of my work.
I would like to express my gratitude for the way you put this in words. And I particularly love "a visualization of mathematics in action".
Kudos, and many thanks my fellow Developer.
Sincerely,
Marc

As another writer on this thread phrased it well, what is more important
than math is symbolic logic. That said. math (not arithmetic) is perhaps
the highest expression of symbolic logic. Consider, for example, perhaps
the largest growth industry within the sphere of programming: video games.
Without a comprehensive knowledge of math, including vectors etc., you
wouldn't stand a chance in that field. Or take some less sizzle fields,
such as banking, social media, insurance, the stock market (populated by
people called Quants, shorthand for Quantitative Analysts). Without a
really solid education in math, all these fields are off-limits to you. And
even more important than the specific career-oriented aspects of this
question, math teaches you how to think. Philosophy does too, and I'm
equally in favour of both disciplines. On a larger plane, I think that the
terms "education" and "training" have been conflated and confused.
"Training" equips you for some specific job; "Education" equips you for
life. There is a huge difference.

I attended the University of the West Indies in the early 80s. Acceptance
in the Computer Science degree you needed to have a high grade in
University Cambridge A' level Math.
Most breakthrough I get in coding is when someone explain it to me from a
mathematical perspective.

I did my engineering from India one of the reputed schools (world wide). We had Linear Algebra as the prerequisite for Programming. You need that if you are to solve Math problems. For example, the thesis I worked on was Sparse Matrices. The statement of the problem "In certain large matrices lot of entries are zero (no value). Develop optimal solution for all matrix operations". You need to know matrix addition, multiplication, inverse etc.

Other than this I am not sure if you need to know Math. I believe you need to know Arithmetic, Logic etc.

I am sorry I just saw this so late. I do not have the reputation of a Michael Meyers-Jouan so I can only relate what I learn in my programming experiences. In my case it depended on the type of programming I was doing. I can tell you some understanding (very basic ) of numerical methods was helpful. Not that you will have to code them but to know when or how to use them-- correct use of a good math software library(whether in C,Python,basic,Ruby) can be worth its weight in gold. Basic Algebra ,as said by Mr. Myers-Jouan is important, also take a look at general discrete mathematics-this will also help you in your calculations as well as aiding you in keeping your algorithms from becoming overly complicated. Hope this added additional clarity.

Trying to be 'all things to all men' not useful in business and technical analysis, or for programming. Mistake to multiply languages or tools, because then maintenance becomes an issue. However, PL/1, FORTRAN, or C with a math-pack may be useful in rare cases. Last use I've seen was a regressive process applied to cost distributions which was implemented in PL/1.

An interesting thing for analysis is recognizing when you need a mathematician. Never a mistake to take a finished design plan for an applicastion to one and see if he (rarely she) has any suggestions. When millions or billions of records may be considered for processing, that's an indicator for a consultation.

If you are to develop cryptography, work on compression, image processing,
video editing, engineering, simulation of any kind, predictive models and
numerical crunchers then Yes you need to have at least a very good
understanding of maths and calculus.
If you are to work on GUI, ERP, databases, web sites etc, the math will
help you but it is not mandatory.

Unless you are the guy actually tasked with producing that software, of course.

In my own field (load flow and fault analysis in transmissions power systems) I need a fairly thorough understanding of sparse matrices and _complex (real + imaginary) maths. That just comes with the territory.

If you are in 3D graphics, you need matrix transformations as a tool for rotations, transformations, scaling and perspective.

In general programming, you need enough to calculate data volumes, estimate production run times from test run times, estimate memory usage, figure out whether you are going to overflow a short int, and do your personal tax returns.

In general, if you count on your fingers a lot, you probably ought not to be programming. But there is no point being a math whizz unless you plan to get into a given field that needs it. In any case, you don't need a 3-year degree course to get you started. Any specific area of math you need can probably be got from one decent book (or three selected Wikipedia articles) and written down for reference on a couple of A4 sheets.

I had a guy (top graduate) some years back who asked me how to calculate the next prime number above a given prime. I told him there was no such method. He didn't believe me, and wasted 3 months looking for a solution.

I had a solution for his actual problem (which was to do with hash table sizing), but he didn't want my heuristic (which was a pre-calculated table of about 50 primes from 787 to around 5 billion incrementing by 130% between each): he would only be satisfied with solving a problem which occupied mathematicians for 2,500 years before being proved impossible about 120 years ago.

I learned math in college, Bachelor in Physics and Masters in Math. While I don't really use the math skills in programming; I have programmed for the State, a private computer company and the County in my career of 43 years; I think that learning the math way of thinking helped me greatly.

For PHP you not need to be a math wizz.
For Java and Python, you may hit some point when you can put maths to work, but it would be a poor project management from your supervisor's side if for a project that requires maths, no such a resource is available.
If you go for robotics/system automation / control then you will need them but less than you will need to understand how the chosen language works and how your system design and software architecture functions.
So do not worry, it is good to have strong maths for encryption/compression/scientific projects/CAD&CAM, but that is just about it. You can always ask for resources to be provided when you are closing to "deep waters".

I haven't read the whole thread yet and this is an old topic, but I'll throw in my cents.

At my university and computer sciences subject there is only one mandatory course of mathematics and that is "Discrete Mathematics" and surprisingly it does not anymore have very much in common with high school math. Here we learn some combinatorics (bits of this is in some kind of order in my mind), boolean algebra, graph theory, induction (which i missed totally and don't see any reason to necessarily learn) and then some. I have found combinatorics, boolean algebra and graph theory to be useful in my studies and in my daily IT-nerd life.

Combinatorics (when you need to find or use sets and do some math with them) and boolean algebra (well, logical operations are everywhere in computer science) are the more necessary of these three, boolean algebra being number one by far. Graph theory comes in place when designing computer networks or maybe someday when I create the first real artificial intelligence ;)

Still I have to say high school math knowledge is quite needed (not necessarily, if you get your mind around it) when going to study algorithms and data structures and especially their time complexity. This is computer science and probably the common developer doesn't need to analyze algorithms very deeply as there are a lot of libraries for most languages to implement the more complex algorithms which are already analyzed and optimized. All that said I still suggest to study the classes of time complexity and example algorithms.

If the aim is to create mostly static content on the web, then mathematics is quite unneeded, except of course when you write some dynamic content and your code gets three complete inner loops or too deep recursion ;)

That would totally depend upon what you are programming/developing. Without very strong mathematical skills, my software development wouldn't exist.
I don't know what it's like on a strictly business end; but I am working on 3, and yes 4 dimensional Database structures which have already been picked up graciously by "Big Data" business.
Go with your strengths.

Well guys I am Bachelor's in mathematics and doing programming.
What is helping me in my day to day programming is the logical and
analytical skills, which I believe one has by birth and learning
Mathematics will boost the skills bit more.

I am also working with my fellow teammate who is an English literature
but has good programming skills.

I think you are wrong on this, although I had to try Python myself for a while to find out - I'm pretty old school myself.

You don't count indents. You use an appropriate editor that hightlights the blocking, and usually allows you to fold out levels (like individual members in a class) for clarity of overview.

My first block language was Algol and used BEGIN .. END, and when I got to C I thought { .. } was pretty neat.

But Python gets rid of all that kruft too. OK, it looks bare to start with, but it comes natural after a few hours, and then C looks very cluttered and spread out.

Also, C has the identical problem in reverse. Everybody indents blocks anyway (OK, there are a couple of different styles),

But, when you work on some code that has been worked over by several people, you find there are indents using spacing and tab, and the people who used tab set indent at 2, 4, and 8 over the years, and now there is NO setting that will make the code readable.

And yes, I know you can use a utility to reformat the white space consistently, but then your source code system registers that as 15,000 changed lines, and you lose continuity in your source management too.

So you probably need to work with this style for a few weeks, before being expert enough to advise others on what langages to use.

I was reacting to a post by Cherev, which was presumably intended to be in another thread which I can't find.

I have used Cbeautify a long while back, but it was not configurable and actually recast the code into a form I did not like (consistent or not).

For me, the issue is having a clear corporate standard for code, and ensuring the quality checks include such mundane things. Legacy code is an issue, but I'm really not in favour of having a big-bang source change just to tidy up.

However, one of the (arguable) benefits of an indent-sensitive language is that there is a lot less personal choice in the formatting, and a lot more incentive to get it right.

Hi
You can write many programs without much maths knowledge. However, there are many other programs where mathematics is necessary.
First let us look at the following problem: "the car engine will not start if a sit belt is not fasten, a door is open even the key is on". This can be put as:
engine = key AND seat_belt AND (NOT door),
This is a simple case, however, some solution must be derived from a complex mathematical formula and algorithm. That is where a maths plays an important programming.

The knowledge of Maths theory like finite automata and context-free grammar are important in compiler design. Automata is also important in a formal verification or verification of correctness of software and hardware system or for deriving formal specification.
Another maths is Set Theory that helps in designing a DBMS or to see if a query result is a Bag, a Set, a Cartesian Product, or a union?

To answer your question, some problems are best solved by turning them into mathematics formula first, then into code. Think about projects where Maths area like graph theory and their related algorithms are used. You really need to dig into your discreet mathematics books or other theatrical computing books to be able tackle them.

Hmmm there are far more programs that require mathematics of some sort (even if only simple arithmetic) than there are programs that don't use any mathematics.
Even a program such as outputting a message to the screen repeatedly/often can better be done using a loop (which should be terminated on some condition - e.g. a terminating count) or via a recursive routine (which should also terminate on some condition). Whether or not to actually display the message can be made conditional on some test - and if the test is part of while-endwhile loop, the message(s) will only be shown if the pre-test is true - or if the message has to be displayed at least once, a post-testing repeat-until loop would be better.
The point is, all the above use simple mathematics to some extent. In general, the more that a process can be described mathematically (or requires mathematics) the more mathematics you need. For example, if you write astronomical/astrological sw calculating the mechanics of the planets and other members of the solar system you will end up doing many calculations requiring a lot of mathematics - even if you use data from an ephemeris. On the other hand, if you are appending to/reading from a text file, little maths is needed. But, as a general rule, knowledge of at least some mathematics is important for development - especially if you want to really understand what the program is doing under the hood. For example, just displaying a character requires that software somewhere looks up a character from the character code (ASCII/Unicode) and gets rows of bit patterns for raster scanned characters or vertices etc. for vector drawn characters (e.g. true-type style fonts) then draws the character (plots the pixels). There is quite a bit of maths going on there although it is not necessary for the programmer to know or worry about it if s/he uses a hgh-level language to tell the computer to display a character. How much you need/want to know depends I guess on how well you want to know how your computer works (internally). Of course newcomers to programming need not much mathematics to start learning how to program - and they can learn the mathematics needed as they progress. For example, on the first day of a programming course, students may be simply shown how to write a 'Hello World' style program. But, later in the course, they may be taught how to handle binary, octal and hexadecimal number systems. If they do graphics, they may need to learn matrices and how to apply affine transformations, how to project 3D co-ordinates onto a 2D plane, etc. and how to calculate the normals to planes, and other vectors, how to calculate cross and dot products etc.
To put a final spin on the question - generally speaking, knowing and using mathematics certainly doesn't hurt your programming - but can help a great deal (and is at least sometimes necessary). Also, programming is one the areas where knowing and using mathematics is productive and hence rewarding - and that in itself may be motivating to developers (even if they don't naturally like maths).
Allan

Excuse me with all due respect but you guys are completely incorrect. Mathematics is not essential to writing code. This is almost like saying policeman are good citizens. In theory we would be inclined to think so but it is entirely not true.
Writing in a language does take logic but not mathematical logic. I work in the industry and know a lot of folks who are able to eat folks alive but could not solve a calculus problem to save their life. Talk to folks in the industry and some of them might provide you with more insight into this field.

Having seen an unending stream of hot-shot graduates who can't program, I would suggest that even with math, a lot of people cannot program properly either.

"Writing in a language does take logic but not mathematical logic."

Ah, non-mathematical logic is the answer. Can you explain where I can find reference material for that?

"Talk to folks in the industry and some of them might provide you with more insight into this field."

OK, we will all stop our knitting and contemporary dancing lessons and try to find somebody in the industry to ask. Where, oh where, can I find them? Preferably not somebody on a Verizon help desk, obviously. Nice to know people in Maryland still eat folks alive, presumably because they can't do calculus? Or maybe because they can. The secret is in the sauce.

"There has been no definition of mathematics in this thread."

Let me Google that subject for you.

"Anyone who can write a program has the required level of numeracy for that program."

Or, manifestly, they fail to write correctly a program they have attempted. But then they also fail to test it adequately, so it gets used anyway.

Can anyone explain what the point of this thread is? Who cares? If you have a math degree great, if you have an engineering degree wonderful, if you have a CS degree nice, if you have a degree in Literature fantastic and if you have no degree that too is good. If you write code other people are willing to pay for you would seem to have the proper skill set regardless of background. So again is there a point in this thread or is this just a case of mine is bigger than yours?

The original question was from someone who wanted an idea of how much math
they needed to become a programmer. The consensus is "it depends", on
exactly what type of programming you plan to do. Basic business
programming can get by with high school math, scientific computing and high
end video/graphics will require advanced mathematics array and vector
math. Take your pick.

This thread was important, and it made a point. It answers the type of questions many of us are still struggling with, like "Does one need architecture knowledge to build a house?" or " Is UML important to write a program?"

This thread has made clear that It all depend on the size and complexity taken as the input parameters of the function project.

If you don't like it don't read it. I enjoyed this thread as it provided many different points of view on the subject.

What I want to know is why troll us? If you don't like the thread fine. But why log on to toolbox, open a thread you don't like, and make comments outside the discussion on how you don't like the thread. Seems a waste of everyone's time.

By nature some people are gifted to do many with no or little maths education. Like Bill Gates did not get a degree in CS to be able to write DOS. My dad have never been to school to learn arithmetic or write and read; however, he was a successful businessman; he made living as Agriculture Products Distributor, just using his 10 fingers for all his calculation need( multiplication, addition). He could not even use a calculator. He was fast than pen and paper.

I don't think this thread is looking down any programmer with limited maths abilities. But let us face the true: the maths will make easy for some human tasks, including software development. Most importantly, the world is full of programmers who would never become programmers by them-self if they hadn't got the opportunity to earn degree in CS.

Btw Bill Gates did NOT write DOS - Seattle Products did (formally as QDOS - Quick and Dirty OS) and MS bought it and revamped it a little and licensed it to IBM as PC-DOS and to other PC makers as MS-DOS.
Allan

Whoa there, brother! Bill did NOT write DOS. He traveled down the road to
Seattle Software Products and purchased it outright for $50k, then licensed
it to IBM -- a brilliant move in itself and no slight upon Bill's
programming wizardry (hell, he was debugging PDP-11 code when he was 12
years old!), but it is important to get one's facts straight.

I have met Bill only twice, and both times found his public face to be
humble and a very nice man. I have read that within MS, he can be
tyrannical, but that is the purview of a boss.

Virtually none of the pioneers of the CS industry, as it applies to PCs,
has a degree in CS, because back then, the only courses available anywhere
placed their focus on mainframes and shuffling stacks of cards, etc. We
taught ourselves, via clubs and books and cowboy-coding. Like it or not,
that's what built the PC industry, I, for one, do not have a degree in
math, but rather Philosophy and in particular the Philosophy of Science.
Bur I will say that Math is the finest expression of both fields. Math is
the music of science. And just as it is not essential to be able to listen
to 30 seconds of a random piece of music and date it within a period of 20
years, the absence of such a discerning ear makes for a lesser quality of
life.

Is math essential to programming? That is seriously the wrong question. Is
math beautiful and does it enhance one's quality of life? Those are the
questions worth asking, and the answer to both, as in the case of music, is
YES.

However, Paul rewrote DOS (from the ground up) to produce MS/PC DOS 2.0 (hard drive support) and Bill and Paul wrote their BASIC interpreter for the early 8 bit computers being cobbled together in the early mid 1970's, it was that BASIC interpreter that brought them to the attention of the IBM team forming up down in Boca.

But how long does a thread from August 21, 2013 - two months ago need to be flogged?

Uhm, no, they tried, failed, and hired Tim Paterson who wrote the first version
away from Seattle Computer Products to finish the job. He has written about
this in magazine articles in the past and I believe that it was documented on his
web page.

Hi Konate
There are many kinds of mathematics use, One is mechanical where we plug in values to a formula, turn the crank, and out comes the result.

A good example of that are the interest and discount calculation functions that are used everywhere.

The other aspect is learning the derivation of the mathematical system, and seeing if it can be extended beyond the basics.

One thing that the study does, is develop that part of the brain that is analytical, and which is used to resolve complex problems. There are some problems that only advanced math can solve. The easier ones are solvable from simultaneous equations, Integral and Differential Calcus, Differential equations, matrix algebra and more. The more includes probability and statistics, queuing theory, graph theory and other areas of study that I have never encountered.

So, I use my knowledge of what I posted, and because of my studies, I was able to solve problems that my peers were unable to do.

While mathematics is an integral part of numerical computing, it is important to differentiate between various requirements. Without wishing to cause further divisions between posters to this thread, or to subtract from the valuable additions made above, the prime purpose of this forum is to multiply the knowledge and skills within the group.

While you are right that the pioneers virtually had no degrees in Computer Science. You have to add that the reason why was that there wasn't an official degree program designated computer Science. The pioneers, they had their degrees in either Math, Physics or one of the physical Engineering degrees. One of my CS profs has his B.S. and M.S degrees in Math/Computer Science from Michigan State University, in the 70s. I'm saying all of that to show that not all of the pioneers that were self-taught did not gone on to college/university, as some did.

But don't get me wrong. I have much respect for the pioneers/the old school. I've been lucky enough in my schooling to have been taught by t profs and instructors. I started in 1997. They all pretty much all of them had use mainframes, and other legacy systems. So, when I had my luck to be able to work at a data center for ACS (this was several years before they merged with Xerox), I got the chance to work with mainframes, servers with OS/2, tape systems...it was like a dream come true for me.

At the university I've been working on my B.S at, for the CS, Comp. Eng, the math requirements are 5 and 6 classes respectively. For Comp Info Systems, they are lucky with only 3 math courses, stopping at Calculus III...that sucks BIG TIME!

Agree with the comments of if the develop has to use math in whatever they are developing it is important. And I agree wholeheartedly having a math education helps with one of the major problems when it comes to today's developers; whether they are pure coding programmers or application developers (databases, etc), they need to understand LOGIC. Thinking in a logic mindset. I have several friends and colleagues who teach various math courses in the higher education level. And one of the problems see is the lack of not understanding the logic of math. And the question my friends get is..."(WHY DO WE NEED MATH?" or "WE WON'T BE USING MATH IN OUR MAJOR!". This question about needing to know math goes far beyond us; it goes to all of the sciences, pure and the non-science majors.

At one past job I had, while I hired to manage an academic computer lab at one of the local colleges, the first day I started work, I found out that I had a new job title, database manager. But, there was more to it. I had to develop a major database system and also develop a way to allow for faculty to access. And to add to it, I had to gather all of the data myself to go into the database. And along with storing faculty data, student academic data from start to finish to post-graduation, I also had to add testing data from ETS (the Education Testing Service) to the database. Oh yeah..I forget the last main part, all of the data mentioned, I had to analyze it and create reports-daily, weekly and monthly reports. At that point, I had not taken the Stats class required for my CS major, so I had to learn on the fly about statistics. What helped me The Social Sciences dept is located in the same building as the computer. And because of the faculty in the dept being impressed
with my computer knowledge a wide familiarity with academic computer applications, they asked me to help them with assisting their students using certain statistical packages and the usual desktop applications. And the statistical packages they used, I was lucky enough to be asked to join in on the training faculty and staff had on the packages. it was easy enough for me to pick up using the software, because it was like a combination of using Visual Studio, Access and Excel. Setting up the stats analysis was the easy part; knowing what statistical functions was ..not too bad. I knew what my supervisor and others wanted in plain English, just needed someone to help to translate it into "statistical-speak" to run the analyses.

Even though I had no knowledge in statistics, I had Algebra, Pre-Calculus and Calculus under my belt...and several courses in programming logic. Math is important development. Whether you actually have to create functions to calculate Fournier Transformations or to setup a logical command, math is important.