Computer Engineering

What is computer engineering?

Computer engineering, in a broad sense, deals with the body of knowledge that forms the theoretical and practical basis for the storage, retrieval, processing, analysis, recognition and display of information. This area also includes the design and implementation of computer systems and peripheral devices for information handling and engineering applications.

In the hardware courses, students study the functional behavior of integrated circuit components and the design of complex digital systems. In the software system courses, students receive hands-on operating experience in different aspects of system software and their relations to hardware facilities. Courses in computer engineering also deal with pattern processing, machine intelligence and information system design and evaluation.

What are the differences between computer engineering and computer science?

A common misconception is:  "Computer engineers mainly do hardware, computer scientists mainly do software."

In fact, there is a good deal of overlap between computer engineering and computer science. Consider these facts:

  • Computer engineers routinely write software
  • Computer engineers and computer scientists often do the same types of jobs in the workplace
  • Some universities have programs and departments in Computer Science and Engineering!

There are fundamental differences in the way computer engineers and computer scientists are trained.  In the first two years at university, the computer engineer receives a unique form of training that a computer scientist would not experience.  This training enables the computer engineer to think and act like an engineer.  Besides the obvious grounding in math, physics, and chemistry, engineering students are trained in design, teamwork, and communication skills.  An engineer needs to be broadly skilled, because he/she will be called upon to design components of large-scale complex systems, such as transportation systems or communication systems such as the Internet.

Computer engineers need to know about hardware and software.  They need to know computer architecture, how microprocessor chips works and how to program them using low level "machine code".  Computer engineers can work on just about any type of job associated with computers and computing.

Computer scientists do not need to know as much about how computers work at the chip level.  They tend to specialize in programming, languages, and operating systems, and lack the broader background of engineers.

Generally speaking, it is easier for people with computer engineering degrees to get jobs in the computer science field than the other way around.

Here at the University of Florida, computer engineering majors choose from two areas of emphasis: harware and software. The base curriculum is identical, but technical electives vary depending on the emphasis you select.


© 2006 University of Florida College of Engineering.