Quote Originally Posted by Dr Unne
CS is more integrated with mathematics than many people realize. After a certain point it's all number theory. Theory of computation, the Church-Turing thesis etc. "The computable functions are exactly the functions which can be calculated by a mechanical calculation device." That has some rather profound consequences. Also you can study encryption, which is 100% math. And there are P vs. NP problems. "Given a number X, is X prime?" As X gets bigger, the question either becomes exponentially harder to solve (in which case for a sufficiently large X, we're pretty much screwed), or else we just haven't found the right algorithm to solve it yet. No one knows which is the answer. There are problems that it's mathematically provable that no computer could solve, even with a billion years to attempt it. The logic of computers is directly applicable to everything. Studying computers often turns into studying the nature of knowledge itself. I'm not sure where to draw the line between computer science and philosophy, for example.

So far as the programming aspect of it, I find it enjoyable. Programming demands perfectionism, and that fits right in with my personality. It also demands an attention span that borders upon mental disease. Prolonged concentration for 8 or 10 hours at a time. Not everyone is going to find that kind of thing enjoyable. But it also lets you be creative, and it lets you create something useful. Programming is not an art, to me, but more like a craft; like a blacksmith, who fashions some tool by hand out of raw materials, and can take pride in the craftsmanship. (But without all the sweating.)

There is no such thing as a "hardest" major. Some things are easy for some people, some are easier for others. I find biology to be a very difficult subject. My roommates were in med school, and they memorized names and positions of body parts and chemical formulas and molecule structures 4 hours a night. I could never, ever have succeeded in that, because I can't stand constant memorization of random facts.
Yeah, one of my math advisors told me that once I took some 400 level math classes, I'll see where this all relates to my teaching. Programming requires perfection just like math does, much like a missing semicolon can make a program unusuable, a missing minus sign in a problem can throw your answer completely off base. I actually think math is more like an art, except that the art is already created, it's figuring out the art that's the "art". That sounds wacky, but I'm a bit drowsy now.

As for "hardest" major, it's what U.S. News World lists as the toughest major according to polls. I only know they ranked Physics as the #1 toughest major. Like statistics, although it is a branch of mathematics, I cannot imagine myself keeping track of numbers...I've taken Biostatistics and did pretty well, but I had a lot more struggles in it than I thought. It's not really that I'm struggling in programming, it's more that I take far too long to think of a proper solution/algorithm to a program, and that takes away from my studies of other subjects. Because it takes me so long to think of a solution, I tend to struggle at it sometimes, but not too much so that I'm failing. I'll be glad if I get a B in this class, even though I had high hopes for an A.