Q1: What is computer engineering?
Since engineering is the application of the principles of basic science to the solving of problems within constraints (that is, building things!), computer engineering is engineering applied to computers and computer-based systems. In other words, computer engineers build computers such as PCs, workstations, and supercomputers. They also build computer-based systems such as those found in cars, planes, appliances, electronics, phones, communication networks, and many, many other products. Computer engineers typically design not only the hardware, but also much of the software in computer-based systems.
Q2: What set of skills do I need to be a computer engineer?
All scientists and engineers need a firm foundation in basic science and math. They also need to be able to work in teams and to communicate their ideas both verbally and in writing. Computer engineers specifically are comfortable with both hardware and software. Depending on where your interests lie, either one can be emphasized.
Q3: What job opportunities are there for computer engineers?
Computer engineers work for computer companies such as Intel, HP, and Texas Instruments, and also in industries that build or use computer-based systems, such as telecommunications, automotive, aerospace, etc. Many computer engineers also get jobs as programmers. While they have less programming experience than computer science graduates, their understanding of hardware gives them an advantage in dealing with overall systems.
Q4: What degree plans are there for computer engineers at the University of Houston?
There are two ways to become a computer engineer at the University of Houston. One way is to be an electrical engineering major with emphasis in computer engineering. With this plan you get a Bachelor of Science in Electrical Engineering (BSEE) degree. We call this the computer engineering OPTION within electrical engineering. The other way is to be a computer engineering MAJOR. In this case you receive Bachelor of Science in Computer Engineering (BSCPE) degree. (Why BSCPE and not BSCE? Civil Engineering already had BSCE!.)
Q5: Why are there two different computer engineering plans?
Computer engineering is a very broad field. For example, computer engineers who build high-speed circuits within the latest microprocessors are basically electrical engineers with some knowledge of computers. On the other hand, computer engineers who build, say, data acquisition systems, need to know much more about the design of software systems but less about low-level circuit analysis. The BSEE with the computer engineering option is for those more interested in the first kind of project, the BSCPE is for those more interested in the second.
Q6: Which computer engineering plan is better?
The job markets have been—and are expected to continue to be—excellent for both types of computer engineers. Both can lead to very interesting and rewarding careers. You should choose according to your preference.
Q7: What courses does a BSCPE student take? BSEE with a computer option?
BSCPE: BSCPE students take one or more courses in the following areas, please see the flowchart for details.
BSEE with a computer option: In the BSEE with the computer engineering option, students take more electrical engineering and fewer computer courses. Please see the flowchart for details.
Q8: Why is computer engineering in the same department as electrical engineering?
As long as computers are built out of electronic circuits, computer and electrical engineering will be closely related. As to why computer engineering and computer science are typically in two different departments (and often in two different colleges as here at U of H) can be attributed to accidents of history and to opinions held by some that the disciplines are broad enough that you have to separate them somewhere.
Q9: What's the difference between computer engineering and computer science?
Q10: Can I get a double major with a BSCPE and a BS in computer science? How about a BSEE and a BSCPE?
First of all, it is POSSIBLE do a wide variety of combinations. However, I would strongly recommend that you only do one initially, and wait until graduate school to diversify. But first, a technical point. Because of the way engineering degrees are set up, you can't double major; you have to actually get two different undergraduate degrees. A much more important point is that in the extra time it would take to get the two undergraduate degrees, you could do a single degree and a good chunk of a masters! In other words, I believe graduate school is a better use of education time, either immediately after you get your degree or after you've been working for a while and really know what you want to do.
Q11: I can't decide whether to do computer science, computer engineering, or electrical engineering with a computer option!
If you don't much care how computers work, then the computer science program is for you. Also, if you are interested in the nature of programs and languages rather than just writing programs, that's computer science, too. If you are interested in hardware, or in the way computers work, or in building systems with computers in them, then that's computer engineering. If you are mostly interested in programming, the choice could depend on the types of programs; however, there's a lot of overlap. The decision between BSCPE or BSEE with the computer option is mostly just a matter of which you like more, hardware or software.
Q12: What if I change my mind?
If you are REALLY undecided, I would recommend learning as much about hardware as you can as an undergraduate. I don't know why it is, but certain things just seem to be much more difficult to learn after you graduate than others. This is certainly true of math and also seems to be true of circuits and electronics. Also, it is generally easier to get a master's in computer science with an undergraduate degree in electrical or computer engineering than the other way around.
Q13: I've used computers and written simple programs, but I still really don't know what a computer engineer does. How do I know it's for me?
This is a tough question: you really won't know until you try. However, we DO have an informal one credit course (ECE 1100) that provides an excellent introduction to electrical and computer engineering. Faculty give presentations about what they do, you get to meet some of your fellow students, and there are some basic projects that give you the feel for what you will be doing over the next several years.
Q14: I don't see too many women engineers. Are women successful in computer engineering?
To be sure, women are underrepresented in most technical fields, but we see a greater proportion in computer engineering and computer science than elsewhere. As far as women being successful I can answer an emphatic yes! Typically, our women students get higher GPAs than men students and appear disproportionately more often on Dean's Lists, Outstanding Seniors lists and membership rolls of honor societies. Their job opportunities after graduation are usually outstanding.
Q15: I have some other concerns about being an engineer:
Engineers have an undeserved reputation of not being "people friendly." Nothing could be further from the truth: engineers almost always work in teams and must interact with each other constantly. People skills are essential to being a successful engineer. To expand on this idea—the internet, that ubiquitous communication mechanism, was invented by engineers and scientists so that they could discuss their work with each other cheaply and conveniently. Also, many engineers leave the day-to-day technical aspects after about five to ten years and become managers, or go into marketing and even sales, the most people-oriented of all jobs. There they find their engineering backgrounds to be a huge advantage. In fact, many CEOs and entrepreneurs began as engineers.
Q16: I see there is a computer engineering technology program offered by the college of technology. What's the difference between their program and yours?
This is difficult to answer briefly, and you should definitely talk to people in the college of technology to get their views. Also there is some overlap in function and much overlap in training which can make the distinction confusing. A good place to start is that engineers typically work on unsolved problems while technologists work on problems that are better understood. As an example, a technician fixes or troubleshoots computer network, while an engineer would be the one to design a new one. Another example: technologists are typically certified to administer computer systems, networks, etc., while computer scientists/engineers are typically involved with creating computer systems, networks, etc. A consequence of this difference in functions is that technology training is directed more toward "here and now" technology, whereas engineering training involves more math, basic science and fundamental engineering principles in preparation for creating the systems of the future. Careers of technologists and engineers sometimes parallel each other in their first exposures to their jobs. However, the technologist will typically continue to gain experience in specific currently used systems, while an engineer will generally move on to a broader base dealing with design, management, planning new systems, etc. Starting salaries for technology graduates are usually slightly lower than for engineers, but in both cases experience or special expertise can command salaries well above entry level.
Q17: How do job prospects compare for the various computer related degrees?
Let me start with a universal warning about career advice: job markets can change radically in just a few years, so there are never any guarantees. That being said, all computer related majors are very much in demand and have been for a long time. I can't think of any other field with equally good prospects, except telecommunications (for which, by the way, CS/CPE/EE are good preparation) and, of course, medicine.
Q18: What are the starting salaries for computer engineers?
Of the students in our department who did well (not necessarily great, just well) everyone we know of who wanted to get a job immediately did so. Many had multiple offers. The average starting salary was slightly higher than the national average for starting computer engineers. For current information, contact the Engineering Career Center (career.egr.uh.edu).The students who do really well tend to get recruited months before graduation, get higher starting salaries, and are long gone by the time the statistics are collected. On the other hand, students who just squeak by often take longer to find jobs and tend to get lower salaries. But it should be noted that employers don't look only at GPA; they generally put a great deal of weight on enthusiasm and communication skills.
Q19: What are career salary prospects for computer engineers?
Longer term, if you were to become a typical successful engineer, you could expect your salary to increase steadily at in the ten plus years after you begin working. After that, your salary will very much depend on how much your expertise is in demand and whether you go into the business related aspects of your company, say management or marketing, or not. Of course, keeping up with your field is absolutely essential to advancing, or even remaining employable.
Q20: What haven't I asked?
About work experience while you are studying. Many universities, including the University of Houston, have 'o-op' programs where you spend summers or even semesters working at local companies. These tend to be fantastic opportunities. If you do reasonably well and the company is still doing OK when you graduate, they are very likely to offer you a full-time job and at a higher salary than you would have gotten otherwise. The Engineering Career Center mentioned above is the place for more information on these programs as well.