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

Started by
17 comments, last by DevLiquidKnight 11 years, 7 months ago
Today I took my first test for a CS class ever. I started programming about a year and a half ago, and I was able to skip CS 1 and start at CS 2. 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, when I could be at home actually coding something far more advanced. When I finished the test today, 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. A writer will write whether he/she has a paper due or not; and so will a programmer program.

Well, if you follow that logic, then maybe you'll also come to the conclusion that you should flip that idea of college on its head. 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. I can do some Trig, and Calculus doesn't scare me away, but I'm certainly no mathematician. And between programming, classes and other hobbies, there's little time to crack open an old Math textbook and start practicing.

So maybe that would be the wiser choice? Don't get me wrong: I love math. It's cool and exciting and it blows me away. I'm not treating it like the lesser of two evils. The idea is that since the Programming and Computer Science will come naturally anyway, why shouldn't a programmer major in something else entirely? Other majors of interest: Art History, Philosophy, Economics, Physics (most of all), Media Production.

If your knee-jerk response is "You probably just go to a shitty school," then just assume it is one. The other instant response I respect is "The computer science won't come naturally. You need someone to teach it to you." If you feel that way, I hope you flesh out your point, but ultimately we'll have to agree to disagree on that one. Now that that's out of the way, I'm hoping for some honest, critical thoughts on this, even if you think it's dumb.

Thanks
Advertisement
The important thing is you have to do something with your life/career that fits three criteria:
1. You don't hate it, and are content with it being somewhere you go every working day during your working years.
2. You make enough money or garner enough resources to support yourself (and your family, if you are married and/or have kids) and live comfortably enough.
3. You aren't engaging in shady, illegal, and/or wrong practices.
Will a math degree satisfy these criteria? You had better believe it. Mathematics in programming is like a Blitzkrieg to solving your problem. Programming with no formal mathematical direction and/or experience is like navigating every single nook, cranny, inlet, and outlet and eventually solving your problem, the entire thing being one big kludge.

By the way, you sure use a lot of bad language and stupid slurs for someone who claims to be intelligent enough to program complex software and skip computer science. I am just pointing that out...

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.


Programming with no formal mathematical direction and/or experience is like navigating every single nook, cranny, inlet, and outlet and eventually solving your problem, the entire thing being one big kludge.


This depends entirely on the type of programming you do. Very few branches of software development benefit from a formal mathematical background. You could have a very successful career as a software developer with only basic arithmetic skills.

That being said, math rocks! I would be much more interested in a mathematics degree than a computer science degree.
You should try two things:

- Ask the CS professors if it's possible to advance further than just CS2.
- Minor in math.

My college experience started out like yours - I skipped the CS1 equivalent class and started in CS2 which was laughably easy. Things continued like that until I got into junior year, when they no longer needed to focus on rudimentary "how to program" and went into much more detail about software architecture, database architecture, etc.

It also turned out that the credit I missed by skipping CS1 needed to be fulfilled by some other kind of qualifying course; At my school, the math courses qualified. I might have been able to skip my entire first year of software courses and filled them with math (if I had wanted to; my school didn't have any courses that covered the subfields of math that I find interesting).

Depending on how your school works, you may be able to mix and match your major fairly liberally to suit your taste.

Today I took my first test for a CS class ever. I started programming about a year and a half ago, and I was able to skip CS 1 and start at CS 2. 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, when I could be at home actually coding something far more advanced. When I finished the test today, 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. A writer will write whether he/she has a paper due or not; and so will a programmer program.

Well, if you follow that logic, then maybe you'll also come to the conclusion that you should flip that idea of college on its head. 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. I can do some Trig, and Calculus doesn't scare me away, but I'm certainly no mathematician. And between programming, classes and other hobbies, there's little time to crack open an old Math textbook and start practicing.

So maybe that would be the wiser choice? Don't get me wrong: I love math. It's cool and exciting and it blows me away. I'm not treating it like the lesser of two evils. The idea is that since the Programming and Computer Science will come naturally anyway, why shouldn't a programmer major in something else entirely? Other majors of interest: Art History, Philosophy, Economics, Physics (most of all), Media Production.

If your knee-jerk response is "You probably just go to a shitty school," then just assume it is one. The other instant response I respect is "The computer science won't come naturally. You need someone to teach it to you." If you feel that way, I hope you flesh out your point, but ultimately we'll have to agree to disagree on that one. Now that that's out of the way, I'm hoping for some honest, critical thoughts on this, even if you think it's dumb.

Thanks

considering this is your first class, and first test, it's going to be incredibly easy, I had been programming for 3 years before i went to college, and the CS classes were generally easy enough, it wasn't until near the end of the class that we began touching on information that i hadn't learned very well from my own studying, or were things that i generally kept away from because I felt they weren't necessary for what I was doing. Just remember that their's no way you know everything, so just go in with an open mind, but if your allowed to bring computers(we were), then you can probably sit in the back and work on some project, until you hear a subject that might peak your interest.

you've got to remember that the professors have to assume that most of the students don't know what the hell their doing(CS 1/2 are pretty much introduction classes).

at the moment, if you looked at the first year program for the math degree, i'd imagine your probably taking most of the classes anyway, since CS/math is tied pretty closely, i wouldn't switch until probably semester 3/4, when the two might require really different path's to get the degree in a particular field..
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.
I wouldnt switch if I were you. If its easy, than whats the big deal? More power to you. As a math major you wont be able to delve into topics such as operating systems, databases, software engineering, networking, computer architecture. Instead you'll be doing stuff like real time analysis or numerical modeling or something like that.

I wouldnt switch if I were you. If its easy, than whats the big deal? More power to you. As a math major you wont be able to delve into topics such as operating systems, databases, software engineering, networking, computer architecture. Instead you'll be doing stuff like real time analysis or numerical modeling or something like that.


On the contrary, with books/textbooks, online explanations/videos and freely available MIT lectures, that information is not exclusive to a University setting. There's another post in this same section of the forum on passion. That's what it's more about than anything. I like learning. I don't like getting A's. If I get an A as a consequence of learning, great. But if I attend a class and all I got out of it was another bump in my GPA, then to me that's completely worthless.

I guess the concept doesn't apply if you just see school as a means to an end, which is reasonable and respectable. I do too in many ways. But it'd be nice if that could change, wouldn't it?
It shouldn't a surprise to you that the introductory courses are easy. These are usually designed to get everyone onto the same page so that your instructors have a baseline of experience to work off of. If you're already at the baseline, then your time would be well spent studying either mathematics or philosophy (logic, elementary logic, morality and ethics, philosophy of science, etc).
The 300 level CS courses are still going to feel like pre-requisite courses for the CS major. The fun is really in the 400 level and above courses because that's when you really get to learn the hard stuff.
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.
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).

Stephen M. Webb
Professional Free Software Developer

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

The problem, as I see it, is that you're doing classes way under your skill level. I don't see why changing the subject would solve that particular problem.

On the contrary, with books/textbooks, online explanations/videos and freely available MIT lectures, that information is not exclusive to a University setting. [/quote]
I'm not sure I agree. There's a big difference between having information available and what you experience in university. Having professors and peers who know your learning style around to critique your work and learn with you has a bigger impact than you give it credit for.

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

This topic is closed to new replies.

Advertisement