Is Computer Science the right major for me?

<p>In high school, I loved taking computer classes. I always got the best grades in these courses and I took just about all the ones that were offered. I knew since high school that I wanted to major in something computer related. People always come to me with any issues they have with their computers and I can usually fix them right up.</p>

<p>I am currently a freshman and need to decide my major. I have never done any programming and I do not know much about it to be honest. How can I know if I will like something like this? How difficult is all the math related coursework? I know I will need up to Calculus 3 and Physics 2 along with Engineering Statistics.</p>

<p>Is this a tough major for someone who is working part time(20 hours)? I just can't decide what computer major to choose. Is Computer Science all about programming? I have been going back and forth between Comp Sci and Comp Engineering because they make good money. I hear majoring in IT doesn't net you much money.</p>

<p>What do you guys think? Thanks for all your help!</p>

<p>If you like working with computers and doing calculus, computer engineering is going to be a better fit for you. Computer science deals more with applications and theory than with hardware, and the only (well, the main) thing you need calculus and physics for is an understanding of the hardware (by a historical accident, computers run on electricity).</p>

<p>You’re going to be doing a lot of programming in either major. CompE will be lower-level hardware interfacing stuff and CompSci will be higher-level control logic stuff. Pick your poison.</p>

<p>I just always hear most people who major in CS have a strong background of coding in high school or from elsewhere. I have no clue how to program and what it consists of. I can’t even list all the languages. </p>

<p>I just know I love working with computers. Is Engineering right for me if I don’t have this strong background or am I going to be lost? At first I was interested in majoring in Information Technology, but is it easy to find a job and make good money with that degree? I have VERY little time to decide (before fall semester) and its stressing the hell out of me. :(</p>

<p>If they expected you to know coding before you got there, they wouldn’t have a handful of classes specifically to teach you how to code.</p>

<p>If you’re drawn to IT, do that and forget the statistics. You’ll be best off studying what you want to study. And you can do a lot worse than IT for job prospects.</p>

<p>I just meant with my background. Is that the right “mindset” for a CS/CE major? I just hope I am not getting in too over my head with this major and not be able to handle it. I would think most people pursuing a CS/CE major would know some jargon of programming and what not. Know what the different languages are and such. I have been deciding on those 2 majors just because I like computers and that’s what I excelled at in high school. I always found those courses the most interesting as well. Although they were basic courses like A+,Web Design, etc.</p>

<p>Is there anything online I can do to see if I will even like programming? That would be a great start to see if this is a field I want to major in.</p>

<p>Sure. You can look up programming challenges (there are a lot of sites for this) or just look up famous algorithms on wikipedia and try to implement a few of them in your language of choice. I’d recommend C++ or Java. You can get free IDEs for C++ and Java… Visual Studio Express is pretty good, and my institution makes a nice learning IDE for Java (jGRASP). Both free.</p>

<p>Programming is like elementary algebra… simple, but best learned by doing over and over again. Just get a good IDE and maybe rent an introductory book from the library (or buy a nice one at the store… ~$20 should buy you a decent new beginner’s programming book). Do the exercises, read the examples. Anybody who knows how to program can give you a cute list of exercises, and such lists exist online. Once you solve a problem, move on to new problems, but remember your solutions as you go. Then you build up experience and a mental (and real, too) code repository of solutions.</p>

<p>Summary: Learn by doing. Get a book, get a free IDE, and start doing as many exercises as you can (a) find or (b) invent.</p>

<p>Just for the record, I…</p>

<ul>
<li>Did not have any programming experience before college</li>
<li>Went only as far as Analytic Geometry in high school…did not have a single AP credit of anything</li>
</ul>

<p>…and ended up a math major with enough CS credits to be a dual-major at many colleges…and then went another route and did an M.S. program in systems engineering.</p>

<p>No need to worry…you will find your niche in college.</p>

<p>Hehe, you sound just like me! Except I’m a Junior in HS. I have wanted a career/major based in Computers forever! I love working with them and fixing them, but the only “programming” knowledge I have is markup languages like HTML and CSS. I’m thinking I’d like Computer Engineering more because it’s more Math and Physics oriented than CS, but we’ll see what happens when I actually get to college.</p>

<p>A useful way to think of it is this… if you like the idea of being good at <em>using/fixing</em> computers, IT is ideal. If you want to be good at <em>making/designing</em> computers, CompE is best. If you want to be good at <em>understanding/exploiting</em> computers, CS is for you.</p>

<p>A lot of people major in CS without realizing that the only reason it has anything to do with electrical stuff is because modern computers happen to be electronic. Astronomers are not in the business of designing and constructing telescopes, and they’re not experts in the use and maintenance of them either… at least not primarily. They exploit telescopes to understand things. Very similar situation with CS.</p>

<p>First I wanted to mention that IT makes a very comparable starting salary to CS, and has significantly more job openings from what I’ve seen. On the other hand, IT has less opportunity for salary increases, so the mid career salary is significantly less then CS. Computer Engineering is comparable to CS at both the starting salary and mid career salary.</p>

<p>I know quite a few people who started CS and ended up IT because they don’t have the math background. At least where I go, IT, CS, and CE have the same courses for the first 3 semesters(basic programming and logic are requirements for both), and it would probably help you decide.</p>

<p>Personally, I think computer engineering is more boring, but I like being able to see what I’ve made come to life and be usable instead of work on the AND/OR/XOR level(A very biased opinion).</p>

<p>Auburn, what are some good sites to do programming exercises? I found this site called ProjectEuler.net, but I have no clue where to even begin to solve those. Is there an introduction site you can recommend?</p>

<p>[CodingBat[/url</a>] has some good intro exercises.
[url=<a href=“http://www.youtube.com/watch?v=hE7l6Adoiiw&feature=channel]YouTube”>http://www.youtube.com/watch?v=hE7l6Adoiiw&feature=channel]YouTube</a> - Lecture 1: Higher Computing - Richard Buckland UNSW 2008](<a href=“http://codingbat.com/]CodingBat[/url”>http://codingbat.com/)
That’s some lecture of some English professor, who makes CS so much more interesting than any of my professors. His lectures are very generic, and not too intensive into one particular subject, but I think it should give you a good idea of your ability to understand the concepts.</p>

<p>You and i have a similar story. I started off having no experience in any programming language when I declared myself as a CS major. When I started off, I was super intimidated because it seemed like everyone knew what they were doing. But I eventually caught up with them, even surpassing some of those with strong programming backgrounds because anyone in those classes with you, no matter how much coding experience, probably didnt have formal training. Some of the ugliest code Ive ever seen was written by these same people. It’s like you have to work so much harder in the beginning because they understand the concept of it and you dont, but in the end, you’ll catch up because of all the formality, like naming convention, that comp sci now consists of.</p>

<p>I’m still a noob no doubt, Ive only taken 2 language classes and comp architecture, and I’m def not the top of the class in either of the classes, but I don’t feel like I can’t be a CS major because i don’t have previous experience.</p>

<p>^ Good point and good links. It can almost be beneficial <em>not</em> to have had too much experience programming, since some of the things you teach yourself will invariably need to be forgotten. Hot shot teen coders do well the first semester or so but (often, but not always) hit a wall by sophomore year when <em>how</em> they write their code is the point of the course… anybody can hack together a program, but to do it right takes training.</p>

<p>I am finding the exercises on codingbat.com to be very interesting! I just don’t know exactly what all the symbols mean for coding? Its hard for me to do the exercises because I don’t know what each symbol justifies. After looking at the solution though, I completely understand how it is correct.</p>

<p>What do CS majors think about courses such as Calculus and Physics? I’m wrapping up my first year and I like to think I’ve done wonderfully in my CS (programming) classes, but I’m really struggling with Calculus and Physics doesn’t sound like it’ll be very fun.</p>

<p>Personally, I enjoyed calculus and physics. Both subjects are utterly useless for the majority of what you will do in CS. In fact, the only notions you will need from calculus for 99% of your CS coursework will be limits, sequences/series, and the mathematical maturity you get from it.</p>

<p>Also, how hard are these majors (attending full-time) if you work part time 20-25 hours? Is it a huge struggle or is it doable?</p>

<p>I agree. For computer sci, you will not be starting on equal footing with the rest of the class. While we’re here chatting on CC or playing neopets, your classmates could be doing advanced code already. So on paper, it sounds tough to catch up.</p>

<p>I know a guy who, before entering Stanford, coded the gateway to PayPal for a new online company. The company guys told me he was a super intern. Wow.</p>

<p>I did most of my CS degree working 20 hrs part-time, or more. It can get to be tough, but it is doable. I mean, there were a few months where I was leaving at 6:00 AM and getting back at 8:00 PM and I would cry in the pillow a little before going to sleep, but I would say it was all worth it. Stress - tastes like happy.</p>