<p>I understand that majoring in Comp Sci or Software Engineering will lead you to be a software engineer. How about CpE? The reason I rather not just do CS or SE is because I rather have hardware knowledge as well as software. if not CpE alone, would a Cpe with a minor in CS do? Double major?</p>
<p>I remembered this CCer who said he was a SE for many years once said it didn’t matter in the end. I agree.</p>
<p>In theory computer science seems like the ideal path to software engineering. I felt the same way you did so I chose CpE over CS. I would do CS master if I decide to further my knowledge in computer science. </p>
<p>Literally software engineering is just a course we take in CS. It’s the organization of software development. CpE touches on both hardware and software (at the level software and hardware interacts, as well as computer architecture design).</p>
<p>The 3000+ levels for CS are pretty much electives. You can choose whatever interest you. You can choose a set of electives that looks like “specialization” (concentration) in computer science. Certainly there are some courses CpE do not take at 1000 and 2000 level, which sucks </p>
<p>When you go for an interview, just make sure you know your stuff well. In the end it all comes down to your skill. CS doesn’t teach you everything, and so the same way CpE can do what a CS does as long as the CpE guy has the knowledge, or is willing to learn.</p>
<p>This guy from Google who came to an engineering lecture @ my school said he was a C++ developer for many years but he had to learn Python when he moved to Google. He was actually B.S. in Applied Math. He just studied C++ after he graduated. </p>
<p>I have a friend in eletrical and computer science which makes sense. Computer engineering and science is still good. Our school does not allow it at all. The problem is that there are so many overlapping so they felt it is not fair to earn it that way. Well, if you decide to do both, you probably can’t graduate in 4 years unless you take summer class because CpE is requires EE, CS courses lol</p>
<p>I would only do CpE + CS if you really want to. I wouldn’t, even if I am allowed.</p>
<p>Conclusion:
YES AND NO. If you want to take the so-called “ideal path”, please do so. If you still feel the same way I do, take CpE, at least you have two skillzzzzz man. </p>
<p>Let me bring my quote again!!!</p>
<p>How you write your life is up to you. </p>
<p>Life is a maze: there is an infinite number of paths to get to the same point, including our death. Hence, life is a series that converges absolutely to the point of death, eventually.</p>
<p>Moreover, you have to excel your talent at full potential outside of your classroom. In other words, do stuff! REALLY!</p>
<p>
</p>
<p>No need for a double major. In fact, you probably would not even have to minor in CS. Keep in mind that the “typical” CS curriculum is not all programming courses. A “typical” BSCS program is like the following:</p>
<ul>
<li>Programming I (could be called Computer Science I or Java or C++)</li>
<li>Programming II (could be called Computer Science II with more Java or C++)</li>
<li>Computer Organization</li>
<li>Discrete Structures</li>
<li>Data Structures (may be part of a Data Structures & Algorithms combo course)</li>
<li>Algorithms (may be part of a Data Structures & Algorithms combo course)</li>
<li>Programming Languages (kind of teaches you how all languages work in general)</li>
<li>Operating Systems (kind of teaches you how all operating systems work in general)</li>
<li>CS electives</li>
</ul>
<p>Now more likely your CompE program already required the Programming I & II, Computer Organization and possibly the Discrete Structures course. The CS electives would include Computer Architecture and Computer Networks and your CompE program probably required those also (at least the hardware side of networks), so you would have to take no more than 4 to 5 extra CS courses to solidify your software background.</p>
<p>I might add on a course in Software Engineering (just the one all-around course, NOT each stage broken up into different courses) to tie up loose ends for software development.</p>
<p>^ To add</p>
<p>
OS is covered in CpE as well, so you are safe.
Programming Languages you don’t cover in CpE.</p>
<p>Computer organization lab is covered in both.
Software engineering is not covered in CpE, but software design lab is.</p>
<p>CS:
<a href=“http://www1.ccny.cuny.edu/prospective/gsoe/OUA/upload/CscO-v4-Fall09-Spring10-010810.pdf[/url]”>http://www1.ccny.cuny.edu/prospective/gsoe/OUA/upload/CscO-v4-Fall09-Spring10-010810.pdf</a></p>
<p>CPE:
<a href=“http://www1.ccny.cuny.edu/prospective/gsoe/computer_engr/upload/CpEOv6-Fall09-Spring10-010810.pdf[/url]”>http://www1.ccny.cuny.edu/prospective/gsoe/computer_engr/upload/CpEOv6-Fall09-Spring10-010810.pdf</a></p>
<p>Notice the title of the courses vary from school to school.
And yes like global said, you can add courses if you want, even if they don’t count into minor. You can take whatever course you want as long as (1) you meet the pre-req, and (2) you like it.</p>
<p>Sorry guys, my question does not belong to this topic, but I see lots of CS pros here, so plz help me:</p>
<p>I’m going to take Data Structures & Algorithms class which requires C++ knowledge. I have never touched C++ before, but I have intermediate Java background (up to inheritance’s stuff). Will it be a big obstacle when taking this class? Should I take a course of C++ before this?</p>
<p>Thanks!</p>
<p>DarkValentine,</p>
<p>On the net, there are several websites that discuss the transition from Java to C++. Just Google a few and they will tell you the similarities and differences.</p>
<p>I don’t think you will need a separate course.</p>
<p>Big obstacle? Yes and no.
The syntax is obviously different between Java and C++. I didn’t touch Java so check out what Global said.
Some habits are hard to get rid off. It takes time. It’s hard for me to write in C++ again after taking Python, and now it’s hard for me to write Python again because I have been using C++ for a long time already.</p>
<p>Hahahaha.</p>
<p>The best way to get familar with C++, espeically for transition, is to rewrite your Java code using C++. I mean it. From the easiest (most basic) to where you stopped. </p>
<p>C++ beginning is quite simple. You don’t use standard template library until you are very good at C++. I didn’t get into a lot of STL anyway. </p>
<p>Not a big obstacle. You still have a few weeks left. Try.</p>
<p>I program a lot and I have an EE major. I did not come anywhere close to earning a CS minor, I didn’t even take extra programming classes. In fact, I use languages now that I had never even touched in school.</p>
<p>I guess programs can really vary across schools, because at my school our CE plan requires that we take all of these courses (if “Programming Languages” is equivalent to “Organization of Programming Languages”):</p>
<p>
</p>
<p>What’s up with everyone saying that CS is not all programming (which is like hinting that it was at least a little in the first place). I don’t know about other schools but at my school you learn programming on your own time, its like a pre-req. CS is so much more than that, any non-degree person can learn how to program but it takes more than that to learn all the CS stuff by yourself. If I were you I would stick with CE if it has a good emphasis on Software and Hardware integration. I switched to CS while still taking CE classes because my CE curriculum was pretty much exactyly like the EE curriculum and no CS emphasis. Good luck.</p>
<p>Computer engineers can and do get hired as software engineers all of the time. The reverse is not often true, as software engineers rarely have the knowledge of electrical engineering and circuit design, etc., that CompEs have.</p>
<p>Consider going for CSE, Computer Science and Engineering. Combines CS and compE. More CS than you’d get with a compE degree, but less EE than you’d get with a compE degree.</p>