Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


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


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
18 replies to this topic

#1 Shaquil   Members   -  Reputation: 815

Posted 27 September 2012 - 07:51 PM

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

Sponsor:

#2 Toothpix   Crossbones+   -  Reputation: 810

Posted 27 September 2012 - 08:33 PM

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.


#3 tstrimple   Prime Members   -  Reputation: 1724

Posted 27 September 2012 - 08:50 PM

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.

#4 Nypyren   Crossbones+   -  Reputation: 4498

Posted 27 September 2012 - 08:59 PM

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.

Edited by Nypyren, 27 September 2012 - 09:01 PM.


#5 slicer4ever   Crossbones+   -  Reputation: 3946

Posted 27 September 2012 - 09:02 PM

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.

#6 ISDCaptain01   Members   -  Reputation: 1434

Posted 28 September 2012 - 01:52 AM

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.

#7 Shaquil   Members   -  Reputation: 815

Posted 28 September 2012 - 05:53 AM

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?

#8 slayemin   Members   -  Reputation: 2796

Posted 28 September 2012 - 09:49 AM

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 Posted Image

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.

Edited by slayemin, 28 September 2012 - 09:50 AM.

Eric Nevala

Indie Developer | Dev blog


#9 Bregma   Crossbones+   -  Reputation: 5248

Posted 28 September 2012 - 10:45 AM

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

#10 way2lazy2care   Members   -  Reputation: 782

Posted 28 September 2012 - 12:48 PM

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.

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?"

#11 tstrimple   Prime Members   -  Reputation: 1724

Posted 28 September 2012 - 12:56 PM

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.

#12 Shaquil   Members   -  Reputation: 815

Posted 28 September 2012 - 03:19 PM

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 Posted Image

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.

Edited by Shaquil, 28 September 2012 - 03:22 PM.


#13 vrok137   Members   -  Reputation: 241

Posted 28 September 2012 - 09:14 PM

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.

#14 Shaquil   Members   -  Reputation: 815

Posted 28 September 2012 - 09:34 PM

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.

#15 slayemin   Members   -  Reputation: 2796

Posted 29 September 2012 - 07:59 AM

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.

Eric Nevala

Indie Developer | Dev blog


#16 Oberon_Command   Crossbones+   -  Reputation: 1936

Posted 29 September 2012 - 01:35 PM

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.

#17 way2lazy2care   Members   -  Reputation: 782

Posted 29 September 2012 - 04:36 PM

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.

#18 Bregma   Crossbones+   -  Reputation: 5248

Posted 29 September 2012 - 06:32 PM

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

#19 DevLiquidKnight   Members   -  Reputation: 834

Posted 30 September 2012 - 05:46 PM

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 .




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS