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

In summary, the conversation discussed the differences between Computer Engineering (CE) and Computer Science (CS) degrees and their potential benefits for individuals interested in becoming a software engineer. CE was seen as an advantage for jobs that require lower level programming and working with hardware, while CS was seen as advantageous for larger projects and working with existing platforms. The conversation also touched on the importance of considering one's interests and potential career changes in the long term, as well as the impact of economic factors on the job market for each degree.
  • #1
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
  • #2
Can you post the classes for each? That might help.
 
  • #3
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
 
  • #4
Hmmm looks like the best option is CS after all. Well, guess I solved that problem!Jordan Joab
 
  • #5
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
 
  • #6
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...
 
  • #7
I think that would be programming language paradigms.
 
  • #8
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.
 
  • #9
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
 

1. What is the most common degree for a career in Software Engineering?

The most common degree for a career in Software Engineering is a Bachelor's degree in Computer Science or a related field. This provides a strong foundation in programming, algorithms, and data structures, which are essential skills for software engineering.

2. Can I pursue a career in Software Engineering with a degree in a different field?

While a degree in Computer Science is the most common path, it is possible to pursue a career in Software Engineering with a degree in a different field. Many software engineers come from backgrounds in mathematics, engineering, or even the humanities. However, it is important to have a strong understanding of programming and computer science concepts in order to be successful in this field.

3. Is it better to get a graduate degree for a career in Software Engineering?

While a graduate degree can provide more in-depth knowledge and specialization, it is not necessary for a career in Software Engineering. Many successful software engineers have only a Bachelor's degree. However, a graduate degree can be beneficial for those who want to pursue higher-level positions or specialize in a certain area of software engineering.

4. Are there any specific courses I should take for a career in Software Engineering?

Some common courses that can be beneficial for a career in Software Engineering include programming languages, data structures and algorithms, databases, software engineering principles, and computer architecture. However, the specific courses you take may vary depending on your chosen degree program and career goals.

5. Is it necessary to have a degree for a career in Software Engineering?

While a degree can provide a strong foundation and make it easier to enter the field, it is not always necessary for a career in Software Engineering. Many employers value practical skills and experience more than formal education. However, having a degree can open up more opportunities and make it easier to advance in your career.

Similar threads

  • STEM Academic Advising
Replies
17
Views
2K
  • STEM Academic Advising
Replies
1
Views
443
  • STEM Academic Advising
Replies
8
Views
1K
Replies
3
Views
820
  • STEM Academic Advising
Replies
17
Views
1K
  • STEM Academic Advising
Replies
3
Views
409
  • STEM Academic Advising
Replies
4
Views
974
  • STEM Academic Advising
Replies
2
Views
839
  • STEM Academic Advising
Replies
3
Views
1K
  • STEM Academic Advising
Replies
12
Views
938
Back
Top