Proofs in Math Class

This is a discussion on Proofs in Math Class within the A Brief History of Cprogramming.com forums, part of the Community Boards category; AAAAARRRRRRRRGGGGGGGGHHHHHHH!!!!!!!!!!!
Proofs in math are dumb and sensles, thought up only to anoy the hell out of the students!!!!!
All ...

Proofs in Math Class

AAAAARRRRRRRRGGGGGGGGHHHHHHH!!!!!!!!!!!
Proofs in math are dumb and sensles, thought up only to anoy the hell out of the students!!!!!
All they are are common sense!!!!
#### them, #### on them
im already tearing my hair out, and i got the rest of the friggen year of them!!!!!!

The only good thing about freezing beyond feeling in the final Nordic ski race was that I couldn't feel that tumble I did going about 30 mph, maybe more.
On the other hand, not feeling any part of my body for 30 minutes was scary, especialy for my manhood.

Windoze: XP, hate it, though its more stable than my old 98SE
Dream: linux, mandrake, then slackware.

I took a Modern Algebra class in college that I ended up hating. I thought to myself, "Where's the math? I don't see any math!" It was all about things called "groups" and "rings" and proving whether or not crap was "abellian" or "non-abellian"(?). I was completely lost in that class. My multivariable calculus class was a breeze compared to that.

"Owners of dogs will have noticed that, if you provide them with food and water and shelter and affection, they will think you are god. Whereas owners of cats are compelled to realize that, if you provide them with food and water and shelter and affection, they draw the conclusion that they are gods."
-Christopher Hitchens

Math is purely logical, and proofs are needed to make sure we don't just assume something crazy. If you can't prove something, it's possible that it's wrong somewhere.

For instance, take Fermat's Last Theorem. It's a pretty simple statement:
a^z + b^z != c^z for any z > 2, for any integers a, b, and c

I can prove for one value that the Last Theorem is true.
3^3 + 4^3 != 5^3

Actually, I can do that for any value. The trick is finding a way to say this in a way which is completely true for all cases. It took people 300+ years to prove this statement, including some large amounts of money promised by foundations, and left in wills. It was finally proven, in 800 pages, by Wiles, a math professor, in the mid 1990s.

The stuff you're doing in geometry is simple, but it's meant to prepare you for the much more complicated stuff of later on.

Math can be boring if you don't have an application for it, but mathematical tools are used a lot in programming.

Using tools from discrete mathematics and logic you can proof the correctness of your code. For example, the correctness of a recursive function can be proven by using induction. Also for non-recursive functions there are a lot of methods for proving the correctness.

If you are going to work later on software which must work in critical environments, you will need your knowledge mathematics. Software which must keep people alive, like in medical systems, must be proven for correctness. Software which must be extremely reliable, like in planes or controlling nuclear plants, must also proven.

Also math can be used to analyze the performance of algorithms and to compare the performance of, for example, a number of sorting algorithms in a certain situation.

And, ofcourse, the applications itself my require mathematics. If you are going to develop software for processing speech, music or images, you will need the mathematical tools from digital signal processing. Like the Fourier Transform, Z Transform and the theory of digital filters.

In my work, I don't use mathematics that often anymore, I used to when I was working on digital audio systems. Recently I had to use discrete mathematics when doing a course on formal specification of software. Formal methods, formal specification is part of formal methods, are quite mathematical.

Proofs and mathematical induction are both very important in computer science. What if you had to create an algorithm for searching/sorting something. Well that might not be bad but you would have to prove that it is correct under all conditions. Also what if an employer had you write an algorithm that had to run in O( n lg n ) time? Without some sort of proof how would you prove it ran in that time? They have their places.