Imagining Numbers
Much of modern mathematical literature is structured with crisp, scripted precision. First there is theorem one, then theorem two, which leads to theorem three, which could only be followed by theorem four, and so on until we reach theorem n. If you want to learn the mathematics of complex numbers (a +bi), then classic texts (this or this) will get you there.
Some may like this logical progression, but it leaves others cold in the same way that crisp, modern architecture by Mies van de Rohe leaves some craving a more layered, fractured, ornate, organic and just plain fun place to live and work. Less isn't more, as Robert Venturi said, less is a bore.
If you happen to feel a chill when churning through an assembly line of theorems, you might enjoy the treatment of Mazur, a professor at Harvard who seems to spend as much time reading poets like Rilke or Stevens as he does examining old mathematical texts. Mazur is not the kind of machine that turns coffee into theorems-- he's too busy stopping to smell the rhetorical flourishes.
The book isn't aimed at mathematicians per se. The publisher, Farrar, Strauss and Giroux specializes in mainstream literature and that's probably the best pigeonhole for this book. Mazur wants the reader to understand how to think about imaginary numbers, not evaluate some integrals -- and that reader could really be anyone with the desire to think about mathematical things. The book is simple enough to be accessible to most who will be interested in it.
In many ways, Mazur attempted a much harder task than just teaching complex analysis. It's one thing to learn how to find the roots of polynomials, but it's another thing to try to help people get a feeling or an intuition for the square root of minus fifteen. Integers are easy to understand and even feel by counting out things, but imaginary numbers don't seem to exist. Mathematicians have spent many years trying to find the best metaphors and structures to understand how to find answers for all polynomials and it's never been an easy struggle.
The best part of the book is, without doubt, the historical treatment of how other mathematicians confronted the question of irrational and complex numbers. These ideas have always been hard to grasp and it took time to evolve the most compact and consistent nomenclature.
If you're interested in mathematics as more than just a mechanism that churns out answers, you'll probably enjoy the book. It's a light, friendly, philosophical expedition looking for a way to make imaginary numbers work in our minds.
Peter Wayner is the author of Translucent Databases , a book on how to imagine databases that hold no information yet still do useful work. You can purchase Imagining Numbers from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
... is a very famous number theorist.
His results have had a key role in Wiles's proof of Fermat's last theorem.
He's at Harvard - see his homepage.
War doesn't prove who's right, just who's left.
<sarcasm>
Yes, somehow there is something concrete and real about programming, but math is just way out there and totally wierd, with no correlation at all with reality.
</sarcasm>
Dude, math, programming, physics, and almost any form of engineering are all abstract arts. We deal with invisible quantities that do magical things that have no correlation with reality. Heck, even music can fall into this arena of abstract arts.
Abstract thinkers make grade A programmers, mathematicians, physicists, chemists, engineers, etc...
The radical sect of Islam would either see you dead or "reverted" to Islam.
"IMHO, assuming you have access in school to the resources: the best way to understand concepts like imaginary numbers is through hands on lab work."
Spoken like a physicist. To a mathematican, the best way to understand imaginary numbers is to say something like, "It annoyed people that the equation 'x^2 = -1' didn't have a solution. They just made up an answer to give them something to play with. Oh it also turns out that this models real world stuff for some reason, but that's not very important."
Frankly, I'm about halfway though this book and at times, it's all I can do to keep from tossing it in the trash bin in disgust.
The author seems to be incapable just getting to the subject and explaining himself in a clear and consise manner. Instead, he embarks on these long, florid poetry-filled diatribes about the imagination, and a yellow tulip.
In the few places where he's actually able to keep himself on topic for more than a page, the historical description of the search for imaginary numbers is actually an interesting story in and of itself.
Why he feels the need to expound on it with inapropriate references to poetry and half-baked philosophies on the nature of imagination is beyond me. I'm not against the poetry per se, it's just that there are many occasions where I'll read a passage, hit the poetry, sit back and think, "What the hell does that have to do with the subject?" Even when there is a conceptual link, most of the time, it's very weak. (Of the I'm talking about imagination, and the word imagine is in the poem level)
Frankly, it's been a very dissapointing read. If you're looking for an interesting math book (some people would consider that an oxymoron), I'd recommend David Berlinski's "A Tour of the Calculus" or either of Simon Singh's excellent books ("Fermat's Enigma" and "The Code Book").
I just want to take over the world...Why does that automatically make me EVIL?
Bad news... *you* are the idiot.
For real.
You seem to have confused the SCIENCE (note that word... "science"...) of computer science with the TRADE SKILL of programming.
If you went to university just to learn how to code a front-end for accounts payable... then you are as seriously misguided as a plumber who enrolls in course on continuum mechanics to learn his trade.
Most plumbers I know are smart enough to understand the difference... on the other hand, a shocking number of CS students I see... aren't.
Bottom line: Please drop out of university immediately... you don't even understand what you are taking. You'd be much happier at the DeVry school of Football, Truckin' and Codin'.
Computer programming doesn't involve math in the same sense that economics doesn't involve math. You can do both of them with only very simple math skills, but you're going to understand what you're doing a lot better if you do know some math.
I think people studying software in school (CS majors, that is) should continue to be required to take calculus. And this is coming from someone who failed second semester calculus four times in a row, took it at a community college, dropped it, then took it again, and got an "A".
So to get to my point: sure, a web browser doesn't require any math. But if the people who wrote them understood more about the mathematics of the efficiency of algorithms, perhaps there'd be a chance that they wouldn't be so damnably slow. I mean really, I have this computer that's multiple hundreds of megahertz, and the blasted thing should be able to render any web page (minus network delays) in tiny fractions of a second, but instead it sometimes takes several seconds. It's possible that it just has so many features that it's going to be that, but I think perhaps instead somebody out there just didn't understand the difference between O(n) and O(n^2), or they didn't care.
Basically, I think a software professional ought to have enough general math ability that when writing any algorithm, they're just automatically aware of what category it falls into (O(n), O(n^2), O(n log n), etc.) without really consciously thinking about it.
As an example, if I write code that dynamically resizes an array when it runs out of space, and it does this by adding 5 extra elements each time, I should be aware when doing this that it will take O(n^2) time to put n elements in that array (if I work from the beginning). Whereas if I do what Perl does and double the size each time, I will waste a little memory, but in return the running time becomes O(n) again. They didn't teach me that factoid in school, but they taught me enough math to figure it out on my own. And that's a good thing if software isn't going to be complete crap.
Having said that, many math textbooks and math courses are complete crap, because teaching math is about like anything else, which is to say that you can do it if you don't have any communication skills and don't even care about being able to communicate, but if you don't have those skills then you'll make lots of people miserable.
So, IMHO, computer science students should be required to take advanced math, and advanced math students should be required to take creative writing. :-)
I highly recommend http://mathworld.wolfram.com for all your math reference needs. You may be referring to the greek alphabet, which is used extensively in math as a source of extra variable names. You can google for that. And I assume you're familiar with the differential symbol (a backwards 6 or a d), the integral symbol (a stretched out S), and the sum symbol (a capital sigma). If you don't know what those are, check mathworld.