General discussion

Locked

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

By DanLM ·
http://www.oreillynet.com/onlamp/blog/2007/05/i_just_want_to_program_dont_ma.html

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.

473 total posts (Page 6 of 48)   Prev   04 | 05 | 06 | 07 | 08   Next
Thread display: Collapse - | Expand +

All Comments

Collapse -

Not A Question Of Higher Mathematics But Of Mathematics

by Joules Ampere In reply to Programming Does Not Requ ...

Quite often it is enough to use a formula or algorithm that can solve a real world problem without knowing how it was derived this is useful and saves a lot of time even if you have a PhD in mathematics, why reinvent the wheel? If an algorithm or formula already exist to model the problem and there is no accuracy or performance problems you should use it.
Unfortunately we are not in control of the problems we are going to encounter and from time to time a new situation crops up that you need to model yourself, this is where mathematical knowledge becomes indispensable, if you are a programmer without mathematical skills I can assure you that you are going to feel inadequate, I challenge you to find every solution in ?Numerical recipes in C? , ?Numerical recipes in Fortran?, or any other book or the Internet for that matter, it won?t happen, you will be surprised to know how many seemingly small problems can result in mathematical knowledge requirements. While this knowledge is not necessary sometimes, it can be a powerful friend to have when the time comes. I would not say you have to be a genius at tensors and calculus but a little college mathematics can go a far way in any type of programming. The universe is a mathematical entity and the problems therein. You cannot escape from using or knowing mathematics if you want to become an independent first class programmer. The objective of every teacher is to prepare the student to reach the top. If you do not grasp mathematical concepts, modeling a situation becomes more difficult and you will remain at the bottom of the programming heap using snippets of code that may not be optimal and sometimes scouring the internet in vain for that special solution, this is far from enjoyable. As an Engineer I find myself not using some branches of mathematics I learnt for quite some time now but should I had skipped learning those branches of mathematics that I knew I would not likely use? Of course not, I do not know when the requirement for them will come up, the argument posed here is not whether higher mathematics will be used or how often it will be used in programming but if a programmer should be taught mathematics, I would certainly believe so.

Collapse -

The universe is a mathematical entity ?

by Tony Hopkinson In reply to Not A Question Of Higher ...



Proof please

This should be interesting

Given U = The universe

LMAO

Prepare the student to reach the top of what?

If it's the profession of programming they are failing horribly.

Collapse -

Yes the universe is mathematical (Space-Time) Remember?

by Joules Ampere In reply to The universe is a mathema ...

You are missing the point, we have not yet discovered that one formula that governs all the forces in the universe, Einstein died trying, (See The unified field theory),or a Theory of Everything but even without these we have gathered enough knowledge to realize that mathematics is at the centre of understanding celestial mechanics, the behavior of atoms and subatomic particles, electromagnetism and so on, if you read something on astronomy or cosmology you will realize that our galaxy and others like it cannot be understood without mathematical treatment. The Plastic that makes your keyboard, the food you eat and any other material on this earth all have chemical models that can be understood by mathematics. As far as humans are concerned what we know now suggest that the universe is mathematical in so far as we need mathematics to properly describe it or at least the observable part, this should not be the point of focus, it is a little mischievous to ask for such proof, this argument was only used to illustrate how many problems in this world we find ourselves demand mathematical solutions, be it a gaming, scientific or business system, which takes us back to the core of the discussion as outlined by this analogy: There are some auto mechanics working without being taught the basic physics of the automobile, yes they can grind your valves and know enough symptoms to effect a repair on your car, they may even know how to use a dwell meter to adjust the timing and so on but if they understand a little of the physics along with their experience and rules of thumb they would be far more equipped to deal with new situations, that is what we mean by being at the top, you have a serious edge over your competitors, I am not saying the mechanic should be able to explain the Carnot cycle or the Otto cycle but if he can I would be more inclined to give that mechanic more business than the one who knows not, all else being equal. Therefore if you are running a school on automotive repair you would have as a part of your curriculum basic automotive physics it can only help. God forbid even a little mathematics may help him, maybe he will run into a velocity ratio calculation problem with a gear train. There is no good reason not to apply this same thinking to teaching programming, based on the simple fact that some problems may require an original mathematical solution. Nobody is going to tell me that a game programmer that has a good grasp of linear algebra won?t be better off than if he does not. How do you know what problems you are going to face as a programmer? You may be able to seek a solution from outside but would it not be smoother if you could solve your problem yourself? You can ride a motorcycle without a helmet for years without a problem you may even walk away from quite a few accidents without serious injury without this protection but by law in most countries you are required to wear a helmet, for a good reason, it may very well save your life, there has been no known cases where a helmet causes death. The statistics that suggest that you can become a motorcycle rider without head protection for years without harm is not used to determine whether or not you should be required to wear one, rather it is the statistics that suggest that when the cyclist is in an accident the helmet more often than not saves his life. Yes there are many who break the law and are happy riders but are they on a sound footing? I think not. The same applies to programmers that have the protection of mathematical understanding; it can be a life saver or maybe a job saver.

Collapse -

I'm missing the point ???

by Tony Hopkinson In reply to Yes the universe is mathe ...

The universe is an entity that has some properties that can be abstracted through mathematics.

The map is not the territory.
Other than that I fail to see how my disagreement with you one that isue, got me painted as a mathematical luddite.

How do I know the problems, I've been doing it for thirty years.
Number of times used calculus, none.
Numbers of times got messed up by, global variables, memory corruption, memory leaks, side effects, bad comments, ambiguous logic, compile depenadant logic, poor exception management, races, deadlocks, livelocks..
Too many to count.

Collapse -

Misunderstanding, Take Another Look

by Joules Ampere In reply to I'm missing the point ???

<p class="MsoNormal">Oh no my friend I am not for one
minute suggesting that you
are a mathematical luddite, I read what you said and I could not
conclude from
that any such thing, I am not like that, I respect what you are saying
I was
just hoping that we could just find some common ground, for your
argument is
not by any means baseless, if I thought you were a novice I would not
even
bother to reply.</p>
<p class="MsoNormal">The map is not the territory that is
for sure but you can
reason that the whole territory can be mapped and that it obeys the
laws of
that already mapped. This is a priori reasoning that has to be used
countless
times in science. <span style=""> </span>It
is then safe to say
the territory is mappable, similarly I did not say mathematics is the
universe;
I said the universe is mathematical. All the major strides we have made
in
science and technology over many years come from mathematical
understanding of
our surroundings.</p>
<p class="MsoNormal">Please <span style=""> </span>let
us focus
on the core of the argument, even the original discussion that triggers
this
one suggest what I am saying, here is a quote from the original
article; ?Occasionally
I do feel the lack of higher calculus or linear algebra or graph
theory? I have
already admitted that you do not have to learn advanced mathematics to
be a
programmer , however, mathematics is such a useful tool to use for
abstracting
our ideas, a technical communication language if you will, that I
believe it
should be taught with any high quality programming course you should
not
indulge too much in the statistics of your own experience, mine is
different.
Once I was developing an Excel spreadsheet using VBA this application
was used
to program some communications receivers and transmitters that requires
as part
of the synthesizer calculation to convert some number to binary
Excel?s
engineering add-in has a DEC2BIN function for this purpose but to my
surprise anything
over 511 causes a #NUM! error and the calculations were coming out
quite often
greater than 511 the solution was needed quickly and could not wait too
long, since
the input number is not going to be negative and all the zeros need to
be
retained I came up with this function to solve the problem; note; error
traps
left out here.</p>
<p class="MsoNormal"><span
style="font-size: 10pt; line-height: 115%; font-family: "Courier New";">Function
Deci_to_Bin(n As Double) <o></o><br>
Dim bitval() As Integer<o></o><br>
ReDim bitval(0 To 15)<o></o><br>
For a = 0 To 15 Step 1<o></o><br>
bitval(a) = (Int(n / (2 ^ a)) Mod 2)<o></o><br>
Deci = bitval(a) & Deci<o></o><br>
Next a<o></o><br>
Deci_to_Bin = Deci<o></o><br>
End Function<o></o></span></p>
<br>
<p class="MsoNormal">Now you may have a more clever
solution to this problem but
it did not take long for me to come up with this mathematical solution <span
style="font-size: 10pt; line-height: 115%; font-family: "Courier New";">(Int(n
/ (2
^ a)) Mod 2)</span>and fit it right into the for next loop</p>
<p class="MsoNormal">While there may be none mathematical
ways to solve this simple
problem, a search on the internet turned up nothing at the time, even
recently I
noticed someone at this<a
href="http://www.dailydoseofexcel.com/archives/2005/12/02/decimal-to-binary/">
link</a> that has a similar problem and having a hard time
finding a solution on the internet. This is just a simple example of
what I am
trying to illustrate, just a question of being armed with the right
weapon when
the time comes.</p>

Collapse -

Nope , not having that

by Tony Hopkinson In reply to I'm missing the point ???

I don't care how good your model is , it's a model.

That's the sort of nonsense that says I can manipulate a point on a line therefore I can travel back in time.

Or gived you Dark Energy, the multiverse and phlogiston.

Collapse -

Off topic, but please look up how to use paragraphs

by daveo2000 In reply to Yes the universe is mathe ...

I expect that what you wrote is quite enlightened. You may well have well thought out points that would amaze us with their brilliance.

Without spaces between logical groupings (paragraphs) it is really annoying to try to read.

I know that this will appear picky to you as your text is way above such trivial matters but it is a small request and I hope you can take it to heart.

We now return you to the regularly scheduled deep ponderings.

Collapse -

Interesting point.

by Absolutely In reply to Yes the universe is mathe ...

I also prefer to understand how things work at the level of the underlying math. Most folks prefer to understand how things work at the minimum level required to make them "go". They won't be persuaded.

Collapse -

This would depend on whose definition of "first class programmer" you use.

by daveo2000 In reply to Not A Question Of Higher ...

In some circles it is defined as the person that can make the computer do exactly what you want it to do. If what you want involves little to no math skills then the math skills may well get in the way. I can see a Monty Python skit work it's way out of this scenario.

Also, the Universe is made up (again, depending on whose definition you use) of stars, planetary systems, dust and people.

The jury is still out on whether or not you can define people using a function. And with that in mind, I am sure that there are a lot of folks out there that will be perfectly happy being the programmer equivelent of a french fry cook.

Collapse -

My definition of a first class programmer

by Tony Hopkinson In reply to This would depend on whos ...

is one who writes code that does what it is supposed to and can be changed at minimal cost.

Sometimes math lends itself to this, sometimes it doesn't.

Math can help you program, just as domain knowledge, psychology, communication and language skills can.

However if you come out of a CS course still writing code that can't be read, therefore can't be understood, therefore can't be tested, maintained or enhanced, a qualified developer is going to rip you a new one, until you pick up what's important.

The annoying thing is 'french fry' programmers have the most tools to do it well, yet in general seem to make the poorest use of them, most of them have CS degrees as well.

Back to Software Forum
473 total posts (Page 6 of 48)   Prev   04 | 05 | 06 | 07 | 08   Next

Related Discussions

Related Forums