Comp Sci(+ mayble Math) or Comp Eng

<p>I am having trouble choosing between the two majors, I am a high school senior now.</p>

<p>I originally thought about doing a Computer Science and Math double major, but I heard that Computer Engineering is much more useful. I know the debate between Comp Sci and Comp Eng is a long and tedious one, but I still can not decide. Here are some facts about me and please tell me, in your opinion, which you think I am more suited for.</p>

<p>I like computer programming (but I only know Java)
I really like Calculus (5 on Calc BC and I am taking Calc III at community college)
I am alright at Stat (4 on AP exam)
I am taking AP Chem now and I pretty good at it (800 SAT II because of Sparknotes)
I am NOT taking AP Physics (the physics teachers at our school aren't good)
I am NOT very computer savvy (I can't even pretend I know what is inside the computer)</p>

<p>Basically, my fear is that if I do Comp Sci/Math (or just Comp Sci) I will steer away from integrals and derivatives and the stuff I like about calculus. But I fear my lack of computer knowledge will seriously cripple me if I do Comp Eng; my computer knowledge is pretty much limited to what has been taught to me at public schools. So please give me your advice. The colleges that I am most likely to go to (University of Maryland College Park and Carnegie Mellon) have different schools for comp sci and comp eng, so please don't say "most colleges have both at the same school, so just take classes in both and see what you like."</p>

<p>Also, if you think I would do better at Comp Sci, can you tell me if there are any benefits to having a Math double major, a different double major, or no other major at all? I like Math and at UMD, if you do your schedule right, you only have to take Calc III to double major in both and Carnegie requires you to have a minor at the School of Computer Science anyway.</p>

<p>Thanks again.</p>

<p>Judging by your “I” statements, I’d say you are more geared to Computer Science (eg: You sound like more of a math and software guy)…I’m thinking of Computer Engineering in a couple years (Jr now). I think it focuses more on computer hardware as opposed to software.</p>

<p>It seems to me that you’d like comp sci better. I could easily be wrong though. Comp sci (seems to me , although I’m a high school senior) is more or less like an "applied " math and logic major. Also, computer science in essence (despite of the name) has nothing to do with computers. While as computer engineering is a fusion btwn electrical engineering and comp science (probably does lean more on the hardware side, although you can tailor you classes to fit your needs).</p>

<p>Oh and trust me you will have plenty of math in a comp sci major , plus you can take math electives to fill you your schedule . Honestly, I wouldn’t even bother with a double math/ comp sci major , as there are hardly any benefits because they are so similar ( plus double majors are shown to not have much future job benefits). So unless you really feel the need to double major , I wouldn’t do it. </p>

<p>And hey if you decide you like computer engineering , despite being in different colleges, it shouldn’t be too hard ( if you maintain a decent gpa) to transfer into it . As , particularly the first + second year, the classes do tend to overlap. </p>

<p>And if you do decide on computer engineering, I really wouldn’t worry about having no background knowledge jumping in the field , as a lot of people will be in your same boat. That’s what college is for after all, learning.</p>

<p>BTW if you want to look up more compsci vs compE there are a lot of threads on this website that can help you make the right decision ( I personally plan on majoring in computer engineering . ) Hope I helped you make the right choice.</p>

<p>In CS, you have your calc 1-3, statistics and discrete math. You may have linear algebra and differential equations too. You may need additional math courses for specific projects. Then you get the CS math theory courses which are probably unlike anything you’ve taken before. There’s plenty of math, traditional, applied and theoretical in CS.</p>

<p>“but I heard that Computer Engineering is much more useful. I know the debate between Comp Sci and Comp Eng is a long and tedious one,”</p>

<p>I don’t know where you would get ideas like this, except on this forum, and trust me, you should be using better judgment than letting ideas like this get into your head when reading things on this forum.</p>

<p>Perhaps a useful way to look at it is the following. A computer is a tool like any other. It serves the needs of people who need to use it for a task.</p>

<p>Computer engineers are specialists in the tool itself. This would include how it works electrically, how its architecture is designed, and what the specific capabilities and limitations of the tool are. If you’re interested in how a computer works, and how to make computers better, this is the field for you.</p>

<p>Software engineers (and programmers) are specialists in solving specific computational problems using the computer as a tool. So they use the tool rather than worrying about how the tool works, except inasmuch as it affects how they use it. If you’re interested in taking a problem and coming up with a solution - usually, a solution using known methods and proven techniques - that satisfies constraints - including user requirements and hardware requirements - this is your field.</p>

<p>Computer scientists are specialists in a specific niche of mathematics - mathematics involving discrete structures which are manipulated and transformed in a finite number of steps. The objects of computer scientists’ discussions - algorithms, languages, logic, data structures, protocols, etc - are treated formally, and as such properties of these objects can be proven or disproven. Computers are to the computer scientist what a laboratory is to a physicist - a means of testing theories, exploring hypotheses, developing proofs of concept, etc. If you prefer knowing what’s true than what’s useful, CS is your field.</p>

<p>Aside: at the undergraduate level, there’s going to be significant overlap between the three fields. I would imagine that (Comp.Eng. union Soft.Eng. union Comp.Sci.) = {digital logic circuits, calculus I - III, linear algebra, computer organization & assembly language programming, intro. to programming I - II, operating systems}, at the least.</p>

<p>I wouldn’t worry about a lack of computer knowledge. You’ll learn what you need to in your classes.
I would also look at descriptions of the classes in the two majors and then make a decision. Choose the major that sounds most interesting to you. As was stated earlier there is a lot of overlap between them, with those classes he listed and also depending on your chosen electives.</p>

<p>Knowing only JAVA isn’t a huge problem. In fact, most schools teach with JAVA from the beginning, but the skills there will transition to any other object oriented language fairly easily. The only difference being syntax. </p>

<p>Computer engineering approaches the computer from a very low level perspective. You care about the stuff like memory, signals, power, logic circuits, clock pulses. Literally down to the bit level of computers. You’ll end up taking some classes in circuit analysis, electronics, physics, etc. You’d do a bit of wiring, maybe even some soldering. You WILL do a lot of coding though, likely with C++/C languages.
It’s a very ‘realistic’ approach to computers. </p>

<p>Computer science is the opposite, a lot of algorithm analysis, optimization, etc. So you’ll look at a bit of code and see how efficient it is to do something. How efficient is it when sorting? How efficient is it at finding things? Most of the time you’re going to be coding, but some classes you might not code at all, it’s all math. </p>

<p>You sorta sound like a CS person though. If you’re just going into industry right out of school, you could go with either degree and end up with a good job. They’re similar enough that a CpE could go into a job that a CS person fills and do it. </p>

<p>Either way, I’d heavily suggest starting to read up on computers at least in terms of where the world is today, it’ll help you relate what you learn in your classes. </p>

<p>tomshardware.com, anandtech.com, arstechnica.com are good places. They can take some pretty complex topics and break it down into easier to understand bits. </p>

<p>Good luck and work hard!</p>