<p>I am really interested in computer programming and not so much in hardware and math. I want to work at companies like Facebook, Google etc. I understand competition is really tough and scores really do matter. But assuming all that is well and good, which major should I pursue?</p>
<p>Each college/university has its own special curriculum for each program. So the best thing you can do is to decide which one is the best while you’re in college. Your college’s Academic Advising Centers or Career Center can definitely help you with these stuff.</p>
<p>However, if you have to decide right now, I’d say “Computer Science”. In most colleges, CS is the one that has the most focus on programming. However, CS also has more math related courses. CS is mostly being offered in the Faculties of Science and so there is more science courses on it…</p>
<p>Computer Engineering: If you’re the kind of person who likes to sit in front of the computer and just program; don’t major in CE. CE has many similarities with EE and you probably will end up taking courses like Circuit Analysis, Signals and Systems, Electromagnetics etc. (more hardware related courses)</p>
<p>Software Engineering: SE is one of those majors that each college has a different kind of attitude toward it. Sometimes it’s something between CS and CE, sometimes it’s not a major and its just a concentration for CS/CE, and sometimes it’s just not!!! (Seriously, many colleges don’t have this major at all!)</p>
<p>Final words: As I said few times, each college has its own computer programs and if you really have to decide right now, you should have a look on each one’s curriculum. These majors have a lot in common and the core computer courses, which matter most, can be taken through each path. If you think, you can’t decide which one is for you, just take courses that you’re better at + that common core and fulfill any of those degree’s requirements. Degree’s title is not really that important.</p>
<p>Just for thought for you most job openings at a major tech company like Google require a PhD in a computing area such as computer science, if you have just a bachelors degree the chances of you getting into a major tech company like Google are slim to none.</p>
<p>Software engineering majors often resemble computer science majors, but include more than one course in software engineering process and methodology, reducing the number of computer science topics courses one can take. A computer science major with one software engineering overview course or one or more project courses using software engineering processes and methodology is likely a better choice, although in some schools, the software engineering major is less selective and can be used as a back door into a major that resembles computer science.</p>
<p>Computer software development and QA.
Computer hardware design and QA.</p>
<p>Note that these jobs exist in many kinds of companies (not just computer companies), since computers and computer software are found in lots of different kinds of things and are used in lots of different kinds of services.</p>
<p>Yes, you can work as a software engineer in a number of industries, tech, financial, health, science, government, manufacturing and more.</p>
<p>
</p>
<p>fyi, my daughter interned there as a software engineer not so long ago and told me they said they have 1/3 BA, 1/3 MS 1/3 PhD. So advanced degrees are valued yes, but not quite as slim a chance as stated. </p>
<p>@BrownParent makes a solid point.
Jobs like software engineering, or pretty much every job related to computer, require specific kind of skills (e.g. programming) and more importantly experience in those skill.
Google and Facebook don’t hire someone just because they know programming or they have a PhD. You have to earn that level of proficiency somehow, either by working on extracurricular projects during college or working on an advanced project in the grad school or… .
It is not because of BS/BA’s degree title that these students have less chance of getting high-paying Valley jobs; it is actually because of their experience, skills and etc.
What really matters now is that you have to work hard. Also, try to get some solid internships during summers.</p>
<p>If programming is what you want to do, CS is your game, and as mentioned SE if you find the right program.</p>
<p>Programming and math are very closely tied. Most good programmers have good math skills not our of academic necessity, but for problem solving in programming. You can avoid hardware for the most part, but you will need a solid base in math. If you find you like programming, and are actively learning / teaching / working yourself, you are probably developing problem solving skills as is! Math in CS is not about the classic high school academic math as much as real world problem solving mixed in with some of the academic math.</p>