What made you choose CS as your major?
Do you find CS difficult? If you do, how can you enjoy CS when its so hard.
Do you think CS is a “if you want it you just have to work for it” major or a “CS is only for certain types of people” kind of major?
Does GPA matter for CS internships and careers as long as you pass?
I really liked solving puzzles/logic growing up and saw that directly translate to computer science when I took it in high school. I’m also a math major, and plan to go into cryptography, which draws from both.
I don’t find CS particularly difficult. The coding/programming part came easy to me. Some of the more theory based classes have been difficult for me though (algorithms, computer architecture, operating systems). Even if it’s a hard topic, the classes are interesting so I still enjoy it.
I think most people can succeed in CS if they work for it. However, some may have to work much, much harder.
GPA does matter for internships, generally, but not as much for your career. As long as you have a 3.0, you should be fine (although my current internship required a 3.5). Once you get your first job, though, no one cares what your GPA was.
I always liked systems of organization and processing. I didn’t have internet as a kid so I would create complicated Excel spreadsheets to play around with the numbers on my baseball cards. Grew up, translated well to CS, liked it, etc.
More or less same story as @guineagirl96
I’m gonna try to read between the lines here and answer the questions you want to ask - please let me know where I’m wrong.
It’s okay to find CS difficult. What’s much more important is that you enjoy it. If you power through schools for the money, you still have to work the rest of your life in a field you don’t enjoy. I do not recommend that. Anyone can “work for it”, but you can’t really work yourself into enjoying it in all cases. In that way, I do think it’s a “certain types of people” job, but so is everything else. You can’t make yourself enjoy something you dislike for preferential reasons, at least not without some extreme effort that would verge on brainwashing.
You could struggle through CS, get C’s, not enjoy it, and graduate into a decent job, sure. But I doubt you’ll be happy with the rest of your career after, and your lack of interest/enjoyment will show in your work. Other developers don’t like haveing people like that on their team. You don’t have to be coding all the time 24/7, but you need to be competent and enjoy your day job to some extent. If you can’t do that, try some other fields until you find one you do enjoy.
I always liked pure (proof) mathematics and programming (since 3rd grade when I decided to head to Barnes and Nobles and pick up an “intro” flash programming game book which was at the time, way too advanced for me).
Having then been exposed to robotics and programming courses (before college), I was … WAIT FOR IT… not planning on majoring in CS.
Then one day in 11th grade, suddenly my brain saw the beauty in Calculus. Now, this to me was a surprise but considering I learnt Calculus 1/2 in the summer of 7th grade. I guess this is what happens when you revisit a course after a long time (since my family did not know at the time that one could take college courses early, I pretty much re-did the entire math curricula up to Calc BC by 12th grade).
So … I considered becoming a math professor.
Then the following year, I saw discrete math. And there I could not help but enjoy the beauty of math. So I wanted to major in PURE discrete side of math.
I loved programming but the puzzle side of it.
I up until high school thought Computer Science was
[QUOTE=""]
For expert artists who design computer games.
I planned in college to also take Computer Electrical Engineering to learn about software while following my dream to 'grad school in math'.
It was during college I retook Discrete Math first semester and learnt that it was part of the CS department! Now, here was an issue. I also loved pure theoretical math heavily (but I am super slow with proofs in learning them).
[/QUOTE]
So I decided to double major in Math and CS. But for some reasons or another, my school does not let me have pure math with CS (it’s either CS or Math or CS/Applied Math) so I decided to ditch the ‘Math’ part of my degree for CS.
Fortunately, I lucked out and I learnt Real Analysis, Modern Algebra, Complex Analysis, Numerical Methods, Number Theory, Cryptography, and so much more math in my CS degree (in fact, I know more math than most math majors in the country).
I learnt in college that:
- CS != game character designing. In fact, that’s in the art department side!
- CS != programming. Programming is just a subset of CS. A ‘proper subset’ if I was to make an even lower bound to this generalization.
- CS has LOTS of math. As CS is not programming, at a top notch CS school, you will come to learn that many complex algorithms take math topics such as Calculus (1~3/ODE/PDE),Modern Algebra, Complex Analysis, Real Analysis, Stochastic Analysis, etc. as a GIVEN from third year. However, this does not seem to be the norm because many CS friends I know from different schools claim that they did not need more than Discrete Math for their degree.
That said, it does seem to be the case that at least in the algorithmic side of CS, one should be expected to learn all of mathematics taught in the math department (from undergraduate level to graduate) if one wants to pursue a career in it (and also lots of research papers on top since just college graduate courses are nowhere near enough).
- CS is a relatively new field still. Almost all my work since the end of second year has NOT been in the Internet. People claim many times “Why attend college? You can self learn anything in the library, etc.”. Well… the thing is, many topics of CS are so obscure (and relatively new) that if you try googling the terms, those very terms won’t even come up in the search engine. Plus, you can’t know what you are missing out if such are not available in the first place.
- If you want a career, then your goal is to learn programming yourself outside school. CS does not teach programming. You self teach that during school after your first or second semester. I wish people told this earlier but CS majors tend to have to work very hard in class and outside class (during summer/spring/winter breaks) as colleges do not teach much programming but very selective companies more or less require LOTS of work outside class.
CS takes a certain type of person to enjoy it. For sure. But CS != software development which many (including myself will go to). So as a career, I cannot say much but claim that the most math one would need to know is addition and multiplication.
And for the ‘GPA’ part. In the software world, no one, I mean “no one”, cares about your GPA. From Google to your local firm, no one asks your GPA in CS. It’s either “can you pass the interviews or not”. Pretty egalitarian field in that mindset.
I chose CS because I heard you could “write your own ticket” when it came to jobs, and I was hoping I could get involved in some interesting scientific applications. Ultimately, some jobs were fascinating, but most became monotonous after awhile. That’s why I’ve contracted for the great majority of my career. I didn’t want anyone else controlling my career, and I wanted the freedom to leave if I got bored.
As for “CS != software development”, the reality is that if you get a CS degree, you’re going to be doing software development. Your first few CS classes will be teaching you how to program, although not in the large group environment that you’ll run into if you get a job with a tech company. All those things you learn in your CS classes are meant to be applied while you’re doing software development. So I don’t think there’s any point to making a distinction between the two.
@simba9
Ya.
I guess I wasn’t explicit enough then.
I hoped the message I wanted to send was:
as a career, one will be programming. But the degree itself in college doesn’t really entail much (if any programming) depending on the CS courses one takes.
So what I hoped to get across was:
CS != programming as in college, one probably would be learning about algorithms, operating systems, etc.
and nothing much that goes into ‘programming’ itself. It isn’t uncommon to never touch the computer in some CS courses.
That said, graduates of CS will like you have claimed be going into software.
Sorry for not being explicit.
@AccCreate I read through everything you wrote because I am sort of in the same boat. I don’t know if I want to go into CS because I’m not sure if I like discrete math all that much.
I LOVE pure mathematics, so much that I want to double major in math and some other engineering in collage (which I know is really hard, so I most likely won’t be able to.) I was in the CS/math double major thought for a while, and then I realized that discrete math might not be my cup of tea. Take everything with a grain of salt though, because I am still in HS and have not taken any college math yet. The CS classes I’ve taken have mostly been programming. And I DO NOT want to sit at a desk job all day programming. If I were major in CS, it would be so I could use it as a tool, or so I can get into the theoretical mathematics of CS.
Having not taken a college level discrete math course, I’m not sure how much I REALLY like it. But from the CS classes I’ve taken, I don’t like the math all that much. I prefer calculus, proofs, ECT. I want to possibly do math research, but I know that’s a hard field to get into. Could you offer me some insight?
I do love programming to make things, though.
@equationlover
First of all, double majoring is all hype (and not worth it. Heck, even a minor is a waste of time ‘financially’).
Many companies only ask to fill one ‘major’ in the online recruiting site. So all these double major/concentration nonsense doesn’t help much at all in a career except for one’s own intellectual pursuit (coming from someone doing the this ‘hype’).
The great part of being a ‘math major’ start is that the curricula is transferable to other similar science fields (physics, engineering, computer science) within the first 2.5 years.
Most math majors I know figure out ‘I want grad school’ or ‘I don’t want grad school’ after both Real Analysis AND Modern Algebra. One of my friends went Real Analysis 1 then Modern Algebra 1 to figure out what she liked more and branched out to Modern Algebra/Abstract Topology from there.
<and another="" 2="" friends="" who="" did="" both="" analysis="" and="" modern="" algebra="" decided="" academia="" was="" not="" for="" them="" despite="" being="" good="" at="" math.="" their="" academics="" would="" put="" competitive="" top="" math="" grad="" anywhere="" but="" they="" preferred="" the="" industry="" in="" software.="" so="" don’t="" feel="" obligated="" to="" go="" school="" if="" you="" are="" ‘good’="" there="" plenty="" of="" near-geniuses="" that="" have="" no="" thoughts="" school.="" as="" after="" college,="" world="" generally="" doesn’t="" care="" anymore="" finally="" realize="" academic="" body="" undergrad="" is="" very="" similar="" many="" times.="">
So… it’s completely normal to not know what to major in. After all, most students (pretty much everyone) change their major in college at least once AND pretty much the majority get jobs completely irrelevant to their majors anyway. Less than 27% of college jobs start out with jobs related to their major and I’m sure even that number is somewhat artificially high.
As long as you have at LEAST AP Calc BC credit before college and can place out of Calc 1 and 2, you can ‘major in math’ for ~2.5 years and still transfer to another major and graduate in time (4 years).
After all, college is generally 15~18 credits a semester for a full time student meaning 5~6 classes a semester. Let’s say 1 of them is Calc 3. What’s the other 4 or 5 gonna be? Your general education including Physics 1 and 1 or 2 other science courses.
So ya, don’t fret. Math majors are in an enviable position cause they can switch out to any major within engineering/physics/computer science/economics/finance/pre-med/bio-math and still graduate in 4 years with no real disadvantages.
Of course, you might be studying a bit more than your friends for these gains but it’s really nothing much.
So ya, don’t fret much. Math majors unlike most majors have a really easy time branching out without having to worry about graduation or grad school requirement.
Heck, even Harvard Med School implies math oriented students get an upper hand with “HST candidates should take courses that include upper-level mathematics (through differential equations and linear algebra)”
and even Harvard econ grad school with “Increasingly, successful applicants will have taken more mathematics. In particular, most successful applicants now take real analysis, although that is not a requirement.”
… and pretty much the same for almost every field
Basically, being good at math generally means you can branch anywhere unlike other majors. The stigma of ‘math being for the super-smart people’ which is completely untrue does… give advantages for those starting out as a math major over most other majors as it’s pretty easy to transfer out overall from math major but really difficult the other way.