Frequently Asked Questions About Computer Science and Software Engineering

1. What's the difference between Computer Science, Computer Engineering, and Software Engineering?
2. What other skills are necessary in these fields?
3. Why study Computer Science at Embry-Riddle?
4. What do Embry-Riddle Computer Science grads do after they graduate?
5. What are the requirements for graduation?
6. How do I apply for admission?
7. What programming languages does ERAU/Prescott offer?
8. Do I need to know how to program before I start my freshman year?
9. Do I need my own PC or laptop? What type?
10. Can I get credit for computer-related experience or classes?
11. Can ROTC courses be counted as part of the CS major?
12. Is flight training required as part of the CS major?
13. Is flight training available to CS majors if they want it?
14. What are starting salaries like for new Computer Science/Software Engineering graduates?


1. What's the difference between Computer Science, Computer Engineering, and Software Engineering?

The first distinction that's relevant is between science and engineering in general. The basic difference is that the focus of engineering is on the practical application of the theory developed by the sciences. Now as undergraduate majors, the names can be slightly misleading, since a good engineer should understand the basic theory of the relevant sciences and a university is where he or she starts learning those basics. The result, of course, is that at a good university there will be a large common core of courses for all three fields — computer science, computer engineering, and software engineering. But that said, computer engineering will focus more intently on the hardware aspects of modern computation and software engineering on the techniques required to design and implement good software. (Modern software engineering certainly includes what we used to call programming, but goes far beyond it today.) Computer science provides the underlying theory for both; but as a major, computer science might include courses such as basics of AI or theory of compilation, for example, that a computer or software engineer might not have room to take in a crowded curriculum. But many theory courses, such as our (ERAU's) CS315, data structures and analysis of algorithms, for example, are relevant across the boards since they influence the design of both hardware and software, as well as being theoretically fascinating in their own right.

In practical terms, industry, tends to treat all three undergraduate degrees as adequate preparation for entry-level positions in the software field (I disagree, but then, I'm not a vice president in industry); but if you already know you intend to specialize in hardware design, computer engineering would be the major of choice. For those of you going on to graduate school, the distinctions are not of practical import. All other factors being equal (grades, GRE's, those sorts of things), any graduate school will admit you to a graduate program in any of the three areas with an undergraduate degree in either of the other two.


2. What other skills are necessary in these fields?

All engineering and science require mathematics. The better developed your mathematical skills, the better engineer you'll be — not just in terms of specific mathematics of obvious practical utility, but in terms of a disciplined, analytic approach to problem solving. The more comfortable you are with mathematics, the better, as far as I'm concerned — and comfort comes from exposure. Next, modern engineering is likely to be a collaborative effort so communications skills remain extremely important — particularly writing skills. Almost all engineers need the ability to write well. In addition, good engineers must constantly seek out the information they need, both to remain generally up-to-date in their rapidly evolving field and to solve specific problems at hand. Thus basic library skills and a commitment to using them are important.

Finally, I would note that industry constantly tells us that the more broadly educated our engineers are, the better. While knowledge of baroque opera may not solve any specific engineering design problem, the sort of person who maintains and indulges a general intellectual curiosity will, over the long run, prove to be a better engineer than one too narrowly focused over long periods of time. Broadly educated people are happier than less well educated ones. You might not think that modern corporate-engineering America cares about your happiness; but, in the sense that it impacts your productivity and hence their profitability, they do. When really good, productive, senior engineers have mid-life crises and go off for years to study zen in Tibet, the corporation that employed them suffers. Had those engineers been studying Zen, baroque opera, or whatever all along, they would have been happier, more productive and less likely to leave, taking with them experience that the corporation paid to develop. The point?  In addition to knowledge and skills focused purely on your current perception of your future technological utility in the marketplace, pick up subjects for yourself, because they interest you. In the long run, they'll help make you a better engineer anyway.


3. Why study Computer or Software Engineering at Embry-Riddle?

I'm interpreting this question as meaning you're already interested in studying one of these two fields but are trying to figure out why you should spend the money to come to Embry-Riddle as opposed to your other possible choices. Several reasons come to mind:

I could go on, but I think I've hit the high points.


4. What do Embry-Riddle Computer Science grads do after they graduate?

Whatever they want? ;-) Three major parts to this question, I think:
  1. How employable is the ERAU CS degree? For the last several years, the employment rate of our good graduates (GPA > 3.0) has still been either 100% or very close to it.
      
  2. Is the ERAU CS degree more limiting than others? Since the full name of ERAU is Embry-Riddle Aeronautical University, some potential students might worry that they'll be limited to working in the aerospace industry. Not so. Our curriculum is broad based and meets the educational objectives of the various relevant Computer Science standardization bodies. Faculty here often put an aerospace perspective in their lectures since most of us come from an aerospace background and the majority of the students here will in fact go out, at least initially, into aerospace, but the technical baseline here is universal. We've had fresh new graduates go off to work on animation for movies like Jurassic Park up at the Dreamworks in Northern California. Some go to independent network/web based businesses; one of my favorite students from a few years back went to work on software for state-of-the-art medical diagnostic equipment for a local startup company.
      
  3. Are there geographic limitations? No, our reputation is nationwide. Recent graduates are employed all over the United States.

5. What are the requirements for graduation?

See our interactive web page showing the required courses; see also the University Catalog.


6. How do I apply for admission?

See http://www.embryriddle.edu/apply/


7. What programming languages does ERAU/Prescott offer?

CS118 starts freshmen out with Python, CS125 then introduces C, CS225 moves into C++; CS325 (an elective) introduces Ada, a language more suited to safety-critical software.

Other languages are introduced as necessary as part of other courses. You can pick up some LISP in an AI elective (CS455), MODSIM in an introduction to modeling and simulation (CS350), and SQL in an introduction to theory of databases (CS305 or CS317).


8. Do I need to know how to program before I start my freshman year?

No. We intend any motivated student with no prior programming experience to be able to succeed here. If you have no prior experience at all, we'll start you off with an easy language called Python in CS118. If you've already programmed a bit in Basic or Java, you should probably skip CS118 and go right into CS125. If you have done some prior work in C (the language we teach in CS125) talk to the instructor or the department chair about possible advanced standing/credit and proceeding directly to CS225, or even beyond, if you've got prior university or industrial level programming experience.


9. Do I need my own PC or laptop? What type?

Answer to the first question: No; we have computer labs all over the campus that contain all the computers and software you'll need. That said, many students obviously find it convenient to have a PC or laptop of their own so they can work at home in the wee small hours without coming to a campus lab. So:
  
Answer to the second question: It really doesn't matter, since much of your use of a personal computer will be for word processing and the like, where the eternal debate about Mac vs Windows vs Linux doesn't really matter at all. Furthermore, the campus programming environment is available on campus servers accessible from any type of machine anywhere in the world, on or off campus. All that said, if you haven't bought a computer for yourself yet and want to know the most common one here, it's Windows. All the lab computers here are Windows 10, with Linux available via secure shell or tunneled X connection to the campus mainframes. (If secure shell or tunneled X is not something you're already familiar with, don't worry — we'll make you comfortable with them quickly enough. If you knew everything before you got here, you wouldn't need us, right? ;-)


10. Can I get credit for previous computer-related experience or classes?

Yes, there are two types of credit to consider:
  1. Met credit. Met credit means that you have met the intent and objectives of some required course here and no purpose would be served by making you enroll in it. Met credit can be granted by the program chair (me) — it's less formal than the alternative, below, but you don't get the academic credits for it that are required for graduation; you just don't have to take some required course before you go on to whatever is required next. The effect is to convert the required units into elective units — you can take something else that would benefit you more instead.

  2. Advanced standing. This one actually gives you credits towards graduation. Three ways to get it:

    1. For credit for Computer Science I (CS125): Pass the Computer Science Advanced Placement exam with a score of 3 or higher.
        
    2. Transfer units from some other college or university. We'll need an official transcript and either the course's catalog description or a syllabus for us to evaluate. We don't typically give advanced standing for military or vocational course work (including most certificates) — most certificate courses are a little too light on theory to provide the basic knowledge that we (or any modern university) are trying to teach. But if you know your stuff the way we want you to in an area we have a course in (regardless of how you learned it), I'll be happy to grant met credit.
        
    3. You can always "challenge" any course here. You pay a fee to the registrar's office and then we make up a typical final exam for you to take on a "Pass/Fail" basis (that's what's recorded on your transcript — just "Pass" or "Fail"). Informally, we'll have you talk to an instructor first so that you don't waste your time and money only to wind up having a "Fail" show up on your transcript — you can't back out once you pay the fee.
        

11. Can ROTC courses be counted as part of the SE major?

Partially. There are two completely open electives in the SE major, and upper division ROTC courses (courses numbered at the 300 or 400 level in the catalog) can serve as open electives. Lower division ROTC courses will not be counted towards a CS degree, however; sorry.


12. Is flight training required as part of the SE major?

No.


13. Is flight training available to SE majors if they want it?

Yes; a flight minor is available consisting of FA 110, FA 208, FA 251, FA 304, FA 325, and an upper division elective, for a total of 18 units. The FA course descriptions are available in the catalog. Notes:


14. What are starting salaries like for new Computer Science/Software Engineering graduates?

Here's some data from the National Association of Colleges & Employers


This page last modified 30 June 2016 by M.S. Jaffe