Computer engineering is a branch of engineering that brings together numerous fields of computer science and electronics to create computer hardware and software.
Instead of only software engineering or electronic engineering, computer engineers typically have expertise in electronic engineering (or electrical engineering), software design, and hardware-software integration. From the design of individual microcontrollers, microprocessors, personal computers, and supercomputers to circuit design, computer engineers are involved in many hardware and software elements of computing. This branch of engineering is concerned not only with the operation of computers, but also with how they fit into the greater picture.
Writing software and firmware for embedded microcontrollers, developing VLSI chips, building analog sensors, designing mixed signal circuit boards, and designing operating systems are all common responsibilities for computer engineers. Computer engineers are also well-suited to robotics research, which significantly relies on the use of digital systems to control and monitor electrical systems such as motors, communications, and sensors.
Because the whole breadth of information utilized in the design and implementation of computers is beyond the scope of an undergraduate degree, many institutions of higher learning allow computer engineering students to choose areas of in-depth study in their junior and senior years.