What degree should I pursue for a career in Software Engineering?

AI Thread Summary
The discussion centers on choosing between a Computer Engineering (CE) and a Computer Science (CS) degree for a career in Software Engineering. While both degrees share similarities, the CE degree may be better for jobs requiring lower-level programming, particularly in hardware-related companies, whereas the CS degree is advantageous for large software projects and game development. Participants noted that interests in fields like AI, cryptography, and quantum computing could slightly favor a CE degree, but the differences are minimal and depend on specific program details. The conversation also highlights the evolving nature of careers in tech, suggesting that long-term job security may lean towards CE due to its specialized focus. Ultimately, either degree can lead to successful careers in software engineering, depending on individual goals and interests.
Jordan Joab
This thread is aimed mainly at individuals holding Computer Engineering, Computer Science, and Software Engineering degrees however even if you do not hold one of these feel free to add your .02 Thank you.

Hello all. I am interested in becoming a Software Engineer. I want to design, plan, build and program software. My interest in hardware does not go beyond basic knowledge. The institution I plan to attend offers a CS and CE degree. Both programs are very similar, they are administered by the same Departments, and either one would get me to my destination. The logical option would be pursuing a CE degree. However, I am worried that a CE degree might skip important aspects about SoftEng that a CS degree wouldn't skip and vice versa.

In short, for a SoftEng. what path would be more beneficial to take? Thanks for your time.



Jordan Joab.
 
Physics news on Phys.org
Can you post the classes for each? That might help.
 
Computer Engineering

Math and Science
General Chemistry I (or General Chemistry for Engineers)
Calculus I, II, III
Methods of Differential Equations
Linear Algebra and Vector Analysis for Engineers
General Physics

Engineering
Engineering Design I
Computer-Aided Analysis Tools for Electrical Engineers
Electrical Circuits

Computer Science
Introduction to Computing
Discrete Mathematical Structures
Computers and Assembly Langauge Programming
Data Structures
Algorithms
Software Design Laboratory
Software Engineering
Operating Systems
Computer Organization and Laboratory

Electrical Engineering
Linear Systems Analysis I
Switching Systems
Electrical Engineering Laboratory I
Electronics I
Linear Systems Analysis II
Probability and Statistics
Communication Theory
Electrical Engineering Laboratory II
Electromagnetics
Computer Engineering Laboratory
Digital Integrated Circuits
Computer Communication Systems


Computer Science


Mathematics & Science
Calculus I, II, III
Elements of Linear Algebra
Biological Foundations
General Chemistry
General Physics

Computer Science
New Freshman Seminar
Introduction to Computing
Discrete Mathematical Structures
Computers and Assembly Langauge Programming
Data Structures
Introduction to Simulation Science
Algorithms
Software Design Laboratory
Numerical Issues in Scientific Programming
Introduction to Theoretical Computer Science
Software Engineering
Operating Systems
Programming Langauge Paradigms
Computer Organization
Computer Systems Design Laboratory
Senior Project I
Senior Project II

Ethics and Social Issues
Social Issues in Computing
Philosophy of Artificial Intelligence
Applied Ethics: Computer Ethics
Applied Ethics: Engineering Ethics


Electives Shared by both Programs

Computability
Image Processing
Computer Vision
Computer Graphics
Artificial Intelligence
XML Technologies
Real-Time Computing Systems
Computer Networks
Introduction to Theoretical Computer Science
Concurrency in Operating Systems
Introduction to Database Systems

This is a short list. For a better detailed one you can look up City College of New York's undergraduate bulletin (PDF pgs 223 - 231). Also, you can google the Grover School of Engineering for more specific information. Thanks for your time.



Jordan Joab
 
Hmmm looks like the best option is CS after all. Well, guess I solved that problem!Jordan Joab
 
The CE degree would be an advantage for some jobs that require more lower level programming, and the CS degree would be an advantage for jobs that entail very large projects. I worked as an engineer for Cisco Systems for 7 years, and the CE degree would probably be a better choice for most jobs there. In contrast, at MicroSoft, the CS degree would serve you better. At most companies with hardware products the CE would probably serve better.

Michael Courtney
 
Jordan Joab said:
Hmmm looks like the best option is CS after all. Well, guess I solved that problem!

Glad that you're getting closer to a decision. I agree with Dr. Courtney's assessment, BTW.

How come there is no Compiler class in either major? (Maybe I'm missing seeing it) Heck, even I wrote a compiler in undergrad...
 
I think that would be programming language paradigms.
 
Vid said:
I think that would be programming language paradigms.

Yeah, I think you are probably right. Sure hope that they actually get to write a compiler or an interpreter or something in that class, and not just study them. That was such a great learning experience -- very non-intuitive how compilers and such are written.
 
berkeman said:
Glad that you're getting closer to a decision. I agree with Dr. Courtney's assessment, BTW.

How come there is no Compiler class in either major? (Maybe I'm missing seeing it) Heck, even I wrote a compiler in undergrad...

Dr. Courtney said:
The CE degree would be an advantage for some jobs that require more lower level programming, and the CS degree would be an advantage for jobs that entail very large projects. I worked as an engineer for Cisco Systems for 7 years, and the CE degree would probably be a better choice for most jobs there. In contrast, at MicroSoft, the CS degree would serve you better. At most companies with hardware products the CE would probably serve better.

Michael Courtney

Thanks to both of you for your time. I'll certainly take Dr. Courtney's advice in consideration. I guess I should mention that at the moment I see myself creating video games; I grew up on Mario, Sonic, Doom, etc. and even today at 24 I am still a gamer (more casual nowadays). However, cryptography, quantum computing, and AI do interest me so I'll have to evaluate what subfield I will really enjoy 30 years down the road. Once again, thanks for your replies.



Jordan Joab.
 
  • #10
In the game world, a CE degree would be the ticket if working for a company that makes the game hardware, but a CS is a better bet if you are writing games for existing platforms. Of course, if you really are a good programmer, either degree will work in either situation.

In my opinion, AI, cryptography and quantum computing probably favor the CE degree, but the edge is smaller and will depend on the program details.

In a 30-40 year long career, your interests and job description will probably change a number of times. Economic factors will also effect the relative marketability of each degree. You might also want to consider that it is probably slightly easier to farm out work to other countries that requires a CS degree than work that requires a CE degree. In other words, a CE degree might have a slight advantage in terms of long term job security. On the other hand, the CS degree has the advantage in working from home.

Michael Courtney
 
Back
Top