Computer Science vs Electrical Engineering?

<p>Hey guys c:! I'm a senior in high school, and I'm having a hard time deciding on a major. My heart is set on computer science, but i'm not sure if I will be able to excel in it. I really admire computer programmers and I would love to be one someday ((they're like wizards!)). Anyway, a few things are holding me back.</p>

<p>Academically, I'm at the top of my class. Many people at school think i'm a genius because I get straight A's and I took Calculus as a sophomore, but that isn't true. I just study a lot and I have been doing math my entire life ((my dad was a math teacher and I used to spend every summer at his school when I was a kid)). Bottom line, I spent a lot of time doing math, so I became good at it! I'm not a genius. I'm emphasizing the fact that i'm not a genius because it seems like computer science majors are incredibly smart! When I hear people talk about computer science, I often hear, "You either get it, or you don't." I'm afraid I'm going to be one of the people who "doesn't get it." Is computer science something that a person just has a knack for, or if I work hard enough, will I still be able to excel? Throughout high school, my teachers have shown me how to do a problem, and I've done it. But in my AP CS class this year, I am having to come up with the equations instead of just solving for them. It's fun, but it's also a lot more difficult, and I'm seeing that some guys in my class are spitting out programs that would take me at least an hour in five minutes! I'm willing to work hard, but will that be enough to be at the top? Do you need a certain mind to be the best, or at least "up there" in computer science? </p>

<p>I'm considering Electrical Engineering because it is closely related to CS, and if I just don't understand CS, I can pursue a job in electrical engineering. ((for example, my brother goes to UCLA and he spent countless hours on projects for his CS class and he ended up with a C in the class. This worries me. Because he worked so hard... and we are very similar)) If I take this route, I will still get to program, just not as much... </p>

<p>Next! Hahaha, last bit, I'm a Mexican Female. Being a female, I always felt that I had to be much better than the boys, especially in math and science, to be respected. I don't want to major in CS and get B's and C's and have people think, oh... she shouldn't be in here. </p>

<p>I love Math and Physics, and i've been enamored with my nintendo games and computer since I was a child. I'm a bit of a nerd, but to an outsiders perspective I'm a normal girl. I'm semi-introverted, but I don't have a hard time making friends. Would I fit in with the rest of the CS kids? </p>

<p>So whaddya think? c: Thanks in advance!</p>

<p>Oh yeah! I’m applying to UC Berkeley, UCLA, UCSD, University of Washington, Stanford, Cornell, and UC Davis. Do you guys recommend any schools for Electrical Engineering or Computer Science?</p>

<ol>
<li><p>Yes, you will probably do fine. You say that it takes you a long time to get the math, but eventually it just clicks, and this is normal. As long as the math clicks, then you will be alright. It’s the people that sit down all day and study and the math, and still don’t get it…those are the people that need to forget the CS field </p></li>
<li><p>To decide what major to pick, tell me, what is it that interests you, and what do you see yourself doing? I know that you mentioned video games, and if you want to design video games then you should definitely go with CS.</p></li>
</ol>

<p>@Jnelsonmarka Well I have always been fascinated with video games and how it was possible that code could output such beautiful graphics that the user could control, honestly, it’s still a mystery to me. I love the program Adobe Photoshop, and I think it would be cool to be able to be a part of the team that programmed that someday, or maybe help program for google’s autonomous car! I just see programming in the heart of everything I admire, so I thought it would be a neat field to go into. Are you a computer programmer? If you are, could you tell me specifically what you do? The way I think of it is, I can work in pretty much any technical area, whether it be at a video game company or a submarine company! Something needs to be programmed. Also thanks for answering ^^</p>

<p>Also, math actually comes easy to me. High school math that is, but the math we do in CS class, like coming up with the algorithms on our own, is proving to be more difficult. I can do it, but I really have to think about it.</p>

<p>You can apply to EECS and take more EE if you prefer. MIT is another good school for this program. Honestly I didn’t latch on to CS when I first took programming at MIT, but now I’m loving it. I have to work hard but pulling A+ in my midterm is giving me confidence in my ability to pursuing CS as a major.</p>

<p>@AirforceWuhm So you think I should major in EECS then? That’s what my parents have been encouraging and also what I have been contemplating. Thanks for you input!</p>

<p>This may seem like an obvious question, but what kind of job do you want to do when you get out of school?</p>

<p>This may seem like an obvious suggestion, but if you already know what you want to get out of school, you should pick a major subject that best situates you to achieve your goals.</p>

<p>Example answers and suggestions below:</p>

<p>Goal: I want to be a software developer at a software company.
Suggestion: CS is the way to go; other subjects may be interesting, but are less likely to be blatantly “useful” on the job. I’m all for studying things that you find interesting, but don’t go into it thinking that by studying EE you’re somehow going to be more attractive as a software developer.</p>

<p>Goal: I don’t know what I want to do, but I like computers.
Suggestion: EECS or Computer Engineering should give you more time to decide what your focus will be. You are leaning towards CS now, but how much about CS and EE do you really know? CS isn’t all programming - far from it - and there are specialties in EE that involve plenty of programming.</p>

<p>All of these majors are hard, and involve lots of (albeit different kinds of) math, some of which will probably take significant effort to wrap your head around. Stick with either one and you should be fine, especially if you’ve already got some confidence and seem to be good at it.</p>

<p>I wouldn’t rule out CS just yet. Sounds as though your are experiencing a new way of problem solving. You may find college level engineering classes challenge you in a similar way.</p>

<p>30 years ago it would have been CS, period.</p>

<p>Today many of the interesting coding gigs involve some embedded gadget or another, from a tablet to a cellphone to a Furby to a nuclear plant and everything in between. Much of the coding may involve board level stuff, device drivers, et. al. An EECS degree with heavy emphasis on the CS (lots of CS, not 4-5 classes) should make you golden.</p>

<p>A lot of stuff is abstracted anyway. I’m working on some kind of Mickey Mouse embedded system with an uber-processor, but my stuff is all user interface (Qt). I use a virtual machine and as far as I know it’s all Ubuntu. Then once I’m done they take my code and build it for the uber-processor. So one COULD argue that hardware is a commodity, but it really ain’t so. You limit yourself more by knowing less hardware.</p>

<p>Also EECS people may be a bit more focused. As a card carrying CS major I am asked to do stuff that EECS people don’t usually deal with (user experience, database work, etc which is what I love). EECS stuff is probably more challenging than what I’m doing, say, a wifi driver versus a bunch of screens and code, but their stuff is also a bit more low level than what I do, what I do is really visible to anyone using our products.</p>

<p>Enough ramblin’, I’d say go the EECS route and stock up on CS classes.</p>

<p>@Koopaqueen</p>

<p>No I am not a programmer. I started with comp sci and it was just too much math, so I dropped it. I am an IT major and I’m specializing in networking. However, in regards to your question, I believe that EECS is the best degree that you could get. If they don’t have that, then you should probably do a CS major if you wanted to design video games. I noticed that you tend to really be interested in designing video game graphics, and this is what you learn in CS. I believe that you have to understand calculus and physics or something in order to do graphics, and I think that you can only learn that in EE and CS. I don’t think that Information systems or IT can teach you that. So stick with Electrical Engineering or Computer Science.</p>

<p>I also suggest the EECS route. It allows you to explore your options in both fields to see which one you like more.</p>

<p>how about ee major and cs minor?</p>

<p>i think alot of credits may be reused so it not gonna be that bad.</p>

<p>EECS may closed a few doors down the road if you suddenly decided computers are not for you (eg. power, communication etc). That being said i am not too familiar with the eecs degree…</p>

<p>You need to figure out how deep the particular EECS program goes with software - in my days it was like 3-4 classes max, a couple programming courses, data structures and assembly language or architecture. I’d say you need at least twice as many… </p>

<p>EECS is more of a systems approach where many black box things are integrated into one bigger product, while pure EE may be more about the individual black box designs and so on. </p>

<p>Best way is to use Excel and write down the course requirements for EE, CS, and EECS/ECE. See how much more commonality in the curriculums is there as mentioned.</p>

<p>@koopaqueen,</p>

<p>I got my MSCS from UCLA, so perhaps I can give some perspective. In general, it sounds like you are excited about CS and you enjoy it, but are finding some things more challenging than you expected. This is not uncommon. Try not to be intimidated by other people who may develop solutions faster than you.</p>

<p>That said, there may very well be times when you will struggle with certain concepts, especially when you get to upper division subjects in either EE or CS. So, in a sense, a lot depends on you. How hard are you willing to work towards your goals? If you’re not one of the top students, would that cause you to enjoy either EE or CS less?</p>

<p>All of the schools you mentioned have good EE and CS programs, IMO.</p>

<p>¡Buena suerte!</p>

<p>My nephew was in the same boat with an almost identical list of schools - not quite sure of his desire to be a CS major. What he found is you don’t need to pick EE or CS yet - just apply to EE and the decision will come to you at some point during freshman year. The typical beginning EE curriculum has engineering and programming elements first semester that will help you decide.</p>

<p>He’s now a sophomore CS major at UCLA and loving it. The one other school he applied to, maybe worth a consideration, was Harvey Mudd.</p>

<p>Nobody fits in with the rest of the CS kids as it is such a mixed bag. Just be confident in yourself and you will be fine.</p>

<p>@Koopaqueen</p>

<p>If it comes down to a situation where you have to choose between EE and CS, I would choose CS though.</p>

<p>I completed two EE degrees at Stanford, one of the schools that was mentioned by the original poster. I also took a lot of courses in CS and considered that major. Stanford has open enrollment between majors/schools, so you do not need to decide your major in HS. You can take a few classes in both areas and see what appeals most, then declare your major later, after you have good exposure in both areas, as well as various other fields. A good portion of classes are cross-listed in both EE & CS and can count towards either degree. I’d expect several other schools on your list to have similar policies.</p>

<p>

Many typical students pursue CS, complete the major, and go on to be quite successful in the field. After your first job (sometimes before), it’s rare for anyone to care if you were “at the top” or not.</p>

<p>That said, yes some persons do have an innate ability for programming, just as some pick up languages, art, music, athletics, or just about any field more easily than others. For example, when I took accelerated intro CS (CS106x) in college, I didn’t own a computer and found it awkward to use the shared computing resources, so I probably put in far less time than most. Nevertheless, I had a final average of over 100% (over due to winning final project game programming competition), which was the highest grade in the class. I found it to be one of the easiest classes I’ve ever taken, even though it has a reputation for being a difficult class and major. This related to the programming being deterministic, with a predictable outcome and natural flow from basic rules, like math. I’d find something like writing a story to be far more difficult since there is no deterministic method to figure out the story or way to evaluate it is quality work or not. EE courses often had more of a math emphasis than CS ones and also had a deterministic nature.</p>

<p>I don’t think you need to decide yet between the two, given that you are still in high school. Attend a University that offers both programs. Try to take both a CS class and a EE class your first year in college, and then see what you think.</p>

<p>Speaking of Stanford’s CS106x, the Stanford CS department has a webpage that gives some information to people who are considering majoring in CS at Stanford. There is some discussion of the CS106 options and how they fit in with the overall program.</p>

<p>[Considering</a> CS?](<a href=“http://cs.stanford.edu/degrees/undergrad/Considering.shtml]Considering”>Stanford University Undergraduate Major in Computer Science)</p>