Now, I have just read this article on the Orielly web site. And I have to say, I disagree. And for several reasons.

As my post to the article states, in the business world Math is a requirement. Everything from knowing various accounting principles(its math) to being able to understand the equations of some statistical requirement(insurance). Continuing this further, when working for a workers compensation state agency. We calculated the amount we would pay on any medical procedures based on a percentage of Medicare with this figure being worked off the last years percentage if I remember correctly.

In my experience, if you could not understand various equations. You could not fulfill the requirements of the task. This does not take into account where a person may come out of school and go into various other programming backgrounds(science, graphical).

I don't understand how math should not be a requirement. A schools job is to broadly prepare you for as many possible work environment as possible. If they do not provide a math background to your education, they severely limit your possibilities in what backgrounds you may want to choose.

Edited to add: If you read any of georges columns, you will notice he does statistics constantly on the various hardware/software that he tests. I don't know how reliant it is anymore, but I use to read application dumps when being on call at 3am. Not being able to convert hex to decimal and vice versa would have been an issue. I have also seen db admins use math to find the position of a record within a database when their was integrity problems. How can a Computer science major not have a math background>

Dan

This conversation is currently closed to new comments.

How much programming do you want to be able to do?

Thanks to the "astronomical" number of clock cycles, and resulting abstraction layers, there are some "development" environments that allow math un-enthusiasts to do about as much as "programmers" as they want to.

The opening post implies, and several of the comments after it imply more strongly, that "the problem" with the classes in which they struggle is the pedagogy. Those of you who have read some of my other posts can guess how much sympathy I have for that stance.

But I'm feeling grouchy, so I'm going to say it anyway. What a pathetic, transparent cop-out! If you're really worthy of the subject you claim you "want" to understand, you'll get over the pedagogy and figure out how to figure it out. If you can't learn the subject without changing the teacher, you aren't cut out for ______. It's that simple.

Collapse -

"How can a Computer science major not have a math background?"

If they're just training people to use an IDE & prepackaged function libraries, then little to none. Of course, I don't call those with such limited skills "programmers," & I certainly won't trust their work unless someone with math skills verified the results of any calculations performed by their works.

As for the real Comp. Sci. major, I don't see how he could even pass many of the required courses without a good handle on various math skills.

Ok, I'll use insurance as an example. Oi, your job as a programmer is to take historical loss and premium information over a 20 year period(I've seen this requested), crunch the numbers to come up with the growth that has occurred in specific demographic area's(large cities versus rural), and to project the loss's for the next 10 years. This information will be used to calculate the amount of reserve that you wish to maintain. And if the loss's are high enough, wither you wish to continue offering coverage in specific area's. I mean, this is the type of information that is asked for ALL THE TIME. ****, they may use this information to modify their rate teirs.

And thats only in my small area of expertise where mathematical formula's are a must. ****, that's not even touching the medical arena of statistics. I work in a publishing company right now. They still are going to crunch numbers of the cost factor of the raw materials to create phone books along with the cost's for their artist's and sales to determine rates they will charge based on the population of a specific area.

What kind of programming do these people do????

Dan

Collapse -

Which is why I stipulated independent validation be required.

I'm no stranger to the mathematics involved in the insurance industry; although it's been a while, and I'm no longer as quick at the task as I once was, I can still do the really esoteric stuff, like actuarial calculations.

I've seen "real" programmers choke when tasked with developing an application which included a requirement that net present values of life policies be calculated. This despite that fact that such calculations are not unique to such contracts, but have general application in a myriad financial contracts or transactions.

Hence my stipulation re. independent validation of a programmer's work.

Unfortunately, this situation has been further complicated by the position of systems analyst having been in great part replaced by the programmer/analyst. Duh. Talk about the blind leading the blind!

Wonderful point on the passing away of the 'true' systems analysts.

Couldn't agree more.

Having someone who just performs testing and analysis of function / interface / etc. without attempting to consider the code can make a huge difference to the quality of the finished product.

Yet another example of 'efficiency' (low cost) being the prime driver with quality work being seen as an unsustainable 'cost' instead of an investment.

Funny how we never have time or funds to do things right from the 'get go' but we (almost) always find the greater amount of time and money to fix the mistakes later.

Bring back technical writers to build help files, FAQs etc.

Bring back 'real' system analysts.

Bring back respect for specialists and what they bring to the table.

Team work where the goal keeper isn't expected to also wear the 'striker' hat just works so much better (most of the time).

I know I'm dreaming and that time has past. I just think that, just maybe, if enough heretics chant this maybe it will get tried again and let's see what the real cost/benefit outcome is.

Collapse -

While it may be a dream, it's still one worthy of fulfillment.

The vast majority of programming involves data entry and state transitions. I am sure there are specific problem domains that require the implementation of mathematical equations, but even here it is rare that the equation will be derived by the programmer. Equations of any business significance will have typically been derived by others and validated through manual use. It is the role of the programmer, in this area, to be able to recognize the symbols and translate them into computer code.

In many ways, computers bypass the need for mathematics by allowing people to apply brute force approaches to determine an answer rather than deriving an equation to model the situation.

There is plenty of knowledge to be learned about computer programming. There is no need to envy mathematics and hope it will convey some sense of higher purpose on programming.

Who are you programming for and who do you expect to program for over the course of your career? You may be surprised by the hats you have to wear. Over my 30+ year career I moved people from section to section, from project to project as they were needed. Those who could adapt survived. Thos who couldn't didn't.

I have yet to terminate anyone for lack of core competence in their chosen discipline, but I have terminated more than a few for inability to work and communicate with their internal and external clients. Those without strong competencies in math, english, a smattering of other disciplines, and STRONG PEOPLE SKILLS were usually the ones I had to let go.

I thoroughly agree on communications skills and I have seen how a lack in this area limits the effectiveness of the programmer and the quality of his work. I have also observed, however, that higher mathematics skills (anything beyond basic arithmetic) do not contribute to general industry programming.

The most common mathematical concept in programming is equivalence; we are constantly comparing values. The necessary understanding of this concept for programmers, however, occurs when learning basic addition and subtraction.

The next most common concept is incrementing or the counting of integers.

Next we might find operations such as counting the rows in a table or summing the values in a column.

Less frequently, a programmer may have an arithmetic computation. Do not confuse applying values to an equation with algebra where we learn the ways to manipulate equations.

In more specialized applications, complex equations are used. These equations may be difficult or even impossible to solve mathematically, so the computer is used to find an answer by repeatedly plugging in values (Monte Carlo simulations, etc.).

I respect mathematics and I respect computer programming, however, beyond a few very specialized applications, computer programmers do not require any mathematical skills beyond basic arithmetic.

I disagree. While a number of routine coding tasks require no more knowledge of mathematics than a 10 year old has, programming is more than just writing lines of code.

I think a lot of people are confusing writing code that does mathematical calculations with the need to use mathematical reasoning in order to write effective code of any kind. When they make you study logic, graph theory, set theory and other topics in discrete maths, the intention is to shape the way you think about programming problems and how to construct solutions.

Nowadays this is probably not as obvious as it used to be, since current fads center on different approaches to modelling complex systems of pre-built components. But if you ever have to do something a bit more complicated than RAD (say, invent an algorithm), those mathematical tools become invaluable. And even if you do not, the kind of analytical thinking fostered by such mathematical instruction will probably make you a better coder.

If you're asking for technical help, please be sure to include all your system info, including operating system, model number, and any other specifics related to the problem. Also please exercise your best judgment when posting in the forums--revealing personal information such as your e-mail address, telephone number, and address is not recommended.

## I Just Want to Program! Don't Make Me Learn Math!

Now, I have just read this article on the Orielly web site. And I have to say, I disagree. And for several reasons.

As my post to the article states, in the business world Math is a requirement. Everything from knowing various accounting principles(its math) to being able to understand the equations of some statistical requirement(insurance). Continuing this further, when working for a workers compensation state agency. We calculated the amount we would pay on any medical procedures based on a percentage of Medicare with this figure being worked off the last years percentage if I remember correctly.

In my experience, if you could not understand various equations. You could not fulfill the requirements of the task. This does not take into account where a person may come out of school and go into various other programming backgrounds(science, graphical).

I don't understand how math should not be a requirement. A schools job is to broadly prepare you for as many possible work environment as possible. If they do not provide a math background to your education, they severely limit your possibilities in what backgrounds you may want to choose.

Edited to add:If you read any of georges columns, you will notice he does statistics constantly on the various hardware/software that he tests. I don't know how reliant it is anymore, but I use to read application dumps when being on call at 3am. Not being able to convert hex to decimal and vice versa would have been an issue. I have also seen db admins use math to find the position of a record within a database when their was integrity problems. How can a Computer science major not have a math background>Dan