Am I crazy for wanting to switch my major to Math?

Started by
17 comments, last by DevLiquidKnight 11 years, 6 months ago

A similar argument could be made for, "Why go to university instead of just using the textbooks the university uses?"


The piece of paper you receive at the end and the fantastic networking opportunities that you have on campus.
Advertisement

Here's test, then.

(1) What is the big-oh of Dijkstra's algorithm?

(2) When would you use Prim's algorithm over Kruskal's algorithm?

(3) Write a brief synposis of Goedel's Result using Cantor diagonalization. Use no more than a single page of your exam book.

(4) Demonstrate why integer multiplication can never be more efficient than O(log n) on a von Neumann architecture.

(5) Why 5 philosophers, not 4?

You have 30 minutes. Begin now.

(I have used the answer to 4 of 5 of those question in real life programming situations).


You seem to have assumed that I claimed to know everything already. I figured by now that it was clear that all I'm saying is I can learn the answers to all of those questions, whether I'm a Computer Science major or not, and probably just as well as if a professor taught me.


Why do you think a math degree would be any better without testing out to your skill level?


Well, as I said, the math would be a challenging subject that I probably wouldn't have time to teach myself. On the other hand, I'm already on track to learn most of the things my school's CS courses offer. It has nothing to do with skill. It's about knowing the material. The skill comes from the doing. The knowledge comes from the learning. I'm saying that I'm taking care of the learning, so CS might not be worth my time as much as something else that I'm not taking care of the learning for, because I have limited time.


From what I hear about majoring in math, the trig and calculus are still building the foundation/basics (much like intro to programming in CS). The math major gets into the more esoteric theorems or something(?), sort of how after you learn the basics of programming, you move into datastructures and architecture. Having a strong grasp of mathematics and developing an analytical mind will strongly benefit you when you go to design and write code smile.png

Edit: Also, be very wary of arrogance and ego! It can falsely tell you that you're better than you really are which will disservice you.


I'm sure a math major would get into some pretty esoteric stuff, but that doesn't make any difference. I don't expect 100% of the things I learn in school to be very obviously useful at work.

And about the ego thing, I'm not worried about that. One of the reasons I'm so turned off by studying Computer Science at my current school in particular is because professors who have seen my code have mostly only had good things to say. Not the cautiously encouraging "good" things to say, but more honest. I was offered a job to help them maintain their servers (whatever that entails) and an internship helping to code the university website. But I know that as a beginner, there's no way my code would be remotely good, let alone useful to anyone, even if I gave it away for free. That's sort of a mini red flag for me to worry about the school I'm at, though.

But, that's beside the point. I just wanted to cut the "you might be too cocky" nonsense off before it gets any further.

Back on topic, I think this is being unnecessarily construed as a message that "Computer Science" is worthless, or "College is pointless." I'm also not tied too tightly to the idea of math. I'd like to hear if any of you guys were ever thinking of a major aside from CS, and why you eventually went with whatever decision you chose. That's much more worthwhile than some argument about which major is better.

So far, I've felt like the course is a complete waste of time. I have to sit in class and listen to the Professor teach the other kids about two-dimensional arrays, etc,


In my spare time, I enjoy reading beginner books on a variety of technical subjects. Why? Because in every primer I read, I always learn something new that I did not know before. If you want master something, you should always be in a beginner's mindset.


I started to come to the conclusion that perhaps a Computer Science degree is about as useful to a programmer as an English degree is to a writer: It helps, but it isn't even remotely essential.


An education is what you make of it. If don't think it's essential or useful, then it won't be....


Instead of majoring in the subject you love, and therefore know a lot about, maybe you should major in a subject that you're excited about and not very well-informed of. For me, that subject is Math.


If Math is your honest passion, then you should pursue it. If you're so torn between CS and Math, why not major/minor or double major in these subjects? These combinations are quite common in universities, and there are tons of viable career options in these fields, only you are holding yourself back.


why shouldn't a programmer major in something else entirely? Other majors of interest: Art History, Philosophy, Economics, Physics (most of all), Media Production.


The core classes you take at a university should touch upon most of these subjects; and if not, having the Internet & an open mind will more than suffice.

In my spare time, I enjoy reading beginner books on a variety of technical subjects. Why? Because in every primer I read, I always learn something new that I did not know before. If you want master something, you should always be in a beginner's mindset.


There's a difference between reading a book in your spare time and having to drop everything to sit through two and a half hours of a lecture. If you want to experience a similar situation, try to sit through an entire beginner video tutorial on C++, from the first episode to the last. Should be a couple hours of fun.


An education is what you make of it. If don't think it's essential or useful, then it won't be....


Well again we're starting to get off point. I never said education isn't essential, which seems to be something people think I'm implying. I said that a CS degree, to a programmer, is not essential. It may be useful (note that I never said it wasn't useful), because you can learn quite a bit, but it's definitely not essential. You don't even have to teach most of it to yourself. There are other forms of education outside of a university. But if you're going with a university, what I'm supposing is, it might be interesting to study something you'd like to know more about, rather than a subject that you will definitely know more about. If you're programming, and studying on your own, you don't necessarily need classes on it. However, you probably do need classes on statistical analysis, or maybe psychology, or maybe physics, all things that are touched in a CS program, and core courses, but, let's not joke around here. A Touch is all that happens.

Anyway, it's fine. I don't think the thread is going anywhere anymore.
I minored in Philosophy. I found I really liked the subject after taking some introductory courses, so I wanted more. I would have considered majoring in it, but computers and code is a greater passion ...and much more employable than a philosophy degree.

I get what you're saying. You should really talk to the dean or head of your department about skipping some of the boringly easy courses. They'd be able to give you better guidance and a better assessment of what's best for you. Beware of the small competing interest to get money out of you by making you take the classes anyways, or their inability to accurately & precisely assess your abilities.

I mainly emphasised the arrogance bit because I myself fell into that trap. I took a 300 level class on datastructures and algorithms and thought I knew all of the material because I already took a similar class at the 200 level. When the material changed and suddenly got hard, I was in for a rude awakening. I had to buckle down and get serious and managed to pass ... but don't do what I did. It's always good to periodically to check yourself for craziness.

I mainly emphasised the arrogance bit because I myself fell into that trap. I took a 300 level class on datastructures and algorithms and thought I knew all of the material because I already took a similar class at the 200 level. When the material changed and suddenly got hard, I was in for a rude awakening. I had to buckle down and get serious and managed to pass ... but don't do what I did. It's always good to periodically to check yourself for craziness.


This. I had something similar happen to me when I was in my first year. I did the International Baccalaureate in high school, and a brief glance at my first-year chemistry and calculus courses showed little that I didn't already know/had been taught in that program. Or so I thought; in actual fact, I knew the material much less well than I thought I did, and went on to fail (and then retake, having been suitably humbled by) both courses. I almost had something similar happen when I took an "earth and ocean sciences" course that I decided would be easy since the highest level of math required (so disclaimed by the professor) was a simple polynomial equation. Turns out the course involved lots of memorization, and since I had already decided that the course was easy, I didn't study as hard as I should have, so I only got something like 67% - disappointing for a course that I thought would be a GPA booster.

Well, as I said, the math would be a challenging subject that I probably wouldn't have time to teach myself. On the other hand, I'm already on track to learn most of the things my school's CS courses offer. It has nothing to do with skill. It's about knowing the material. The skill comes from the doing. The knowledge comes from the learning. I'm saying that I'm taking care of the learning, so CS might not be worth my time as much as something else that I'm not taking care of the learning for, because I have limited time.

I was just saying don't be so quick to judge CS when you've barely scratched the surface. I didn't really think much of CS until my final project of CS 2, and that was still relatively uninteresting compared to the stuff that came up later in the program. If I were you I'd just make sure I took at least one class that's not under your level before switching majors.

And really, don't underestimate your professors. There are some subjects that are much more difficult to learn on your own. I know assembly and computer architecture I had a really hard time wrapping my head around before talking to someone about them.

You seem to have assumed that I claimed to know everything already. I figured by now that it was clear that all I'm saying is I can learn the answers to all of those questions, whether I'm a Computer Science major or not, and probably just as well as if a professor taught me.

Ah.

It sounds like you're a first year university student, and you're about to learn one of the first and most important lesson of tertiary education: you have to teach yourself.

Unlike high school, you don't really get taught in university, excepting what you teach yourself. Instead, you immerse yourself in an academic world, where there are recognized experts in the field (you professors, whose primary job is to do research and publish it, thereby extending the universe of human knowledge -- ever think about the meaning of the word 'university'?), libraries full of stored knowledge and wisdom in almost any field into which you might care to enquire, and peers with which you can discuss abstract notions and theoretical constructs late into the wee hours. If you learn anything at all, it's because you have taught it to yourself, not because you were taught it by someone else.

Oh, another one of the things you need to learn is self discipline. Attending lectures even though you are contemptuous of their content or the obvious inferiority of your fellow students. Doing the assignments even though you might already know how to solve the problems in the problem set. Buckling down and finishing that thesis (the song of the grad student: "I really need to go work on my thesis"). This knowledge is the main reason may employers look for someone who has completed an undergraduate degree: the ability to discipline yourself to sit through boring meetings where you already know the subject and are contemptuous of your coworkers, and the established ability to buckle down and finish an assignment even when a keg party is going down next door are skills employers value highly. See: the 'real world' is an awful lot like the academic world.

People who are still expecting their professors to teach them by the end of first year are usually called "university dropouts".

Stephen M. Webb
Professional Free Software Developer

Mathematics is a great way to go and is insanely more useful and more applicable then a degree in just computer science. If you ever intend to do true computer science as opposed to software engineering, areas like theoretical computer science mathematics is the only way to get there. This is also true if you intend to do anything research orientated, I am sure you can probably do research with only a CS degree but you'd be missing so many tools.

I suggest you check out these links: http://weusemath.org/?q=careers , http://www.siam.org/careers/thinking/pdf/brochure.pdf .

This topic is closed to new replies.

Advertisement