Robert Klemme
5/11/2007 7:04:00 AM
On 11.05.2007 06:06, darren kirby wrote:
> quoth the Daniel Waite:
>> Hi all. First off, be gentle. I imagine what I'm about to present is
>> pretty amateur, but I've been a programmer for about 6 years and up
>> until now have gotten away with knowing little about math (real math --
>> the kind with few numbers and lots of letters and symbols).
>>
>> But as my interest grows beyond the world of web-based applications, I
>> find my lack of math is hurting me -- I know a given problem can be
>> solved with math, but I can't do it with math because I don't know it.
>> So what I DO do is tell it like a story with objects (which I will
>> present below). In fact, most of my non-trivial algos read like stories.
>> They're longer than an equivalent solution in math would be, but I
>> understand it.
>>
>> I've observed that most "real" algorithms are heavy with the stuff, and
>> my eyes glaze over when I see something as simple as solutions to the
>> Tower of Hanoi.
>
> Very interesting. I find myself in exactly the same boat. I fell into my love
> of computers/programming late in life (ie: after college), and I also have a
> very weak background in math. I have found it had held me back a great deal.
> Everytime I try to improve my math skills, I find myself having to backtrack
> more and more because I am coming across concepts I just don't understand,
> until I find myself all the way back at the high school level<shudder>.
>
> I find myself often writing code by "mashing it around" until I get the output
> I am looking for, with no real understanding or concept of a decent
> algorithm.
>
> You can see this manifested in all my submissions to the Ruby Quiz, which
> always run waaaaaaaay slower than everyone else's ;)
>
> I am trying though, I have some '...for dummies' books on algebra and
> calculus, and I am working through SICP and the 6.001 tutor at MIT Open
> Courseware, so perhaps there may be hope for me someday...
While it is certainly a good thing to improve your knowledge of algebra,
I suggest you also read a decent book on data structures and algorithms
(Knut, Sedgewick or the like). It's not so much mathematics you will
learn from them but to analyze problems and find proper algorithms and
data structures. You'll learn why it is more efficient to use a Hash
for lookups than traversing an array with key value pairs. Things like
that. Hope that helps.
Kind regards
robert