1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Software Engineering

  1. Apr 10, 2008 #1
    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.
     
  2. jcsd
  3. Apr 10, 2008 #2

    berkeman

    User Avatar

    Staff: Mentor

    Can you post the classes for each? That might help.
     
  4. Apr 10, 2008 #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 Language 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 Language 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 Language 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
     
  5. Apr 11, 2008 #4
    Hmmm looks like the best option is CS after all. Well, guess I solved that problem!


    Jordan Joab
     
  6. Apr 11, 2008 #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
     
  7. Apr 11, 2008 #6

    berkeman

    User Avatar

    Staff: Mentor

    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....
     
  8. Apr 11, 2008 #7

    Vid

    User Avatar

    I think that would be programming language paradigms.
     
  9. Apr 11, 2008 #8

    berkeman

    User Avatar

    Staff: Mentor

    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.
     
  10. Apr 11, 2008 #9
    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.
     
  11. Apr 11, 2008 #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
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?