The field of computer development has multiple branches, each branch corresponding to a different theoretical or practical focus. Computer engineering borrows from electrical engineering and computer programming to focus on building different computer configurations for various applications. To understand how this happens, it is important to understand the basics of computer hardware and software, hardware abstraction and how computer engineering borrows from both of these to build computer systems such as embedded devices.
Software Engineering and Hardware Engineering
In computer design, there are two general categories of concern: the creation of hardware and the creation of software. Hardware (or electrical) engineers create the physical pieces of the computer, including chips and circuits. Software engineers build applications that run on the computer hardware. Software engineers are not just computer programmers. Instead, software engineers work on making large software projects function properly across different platforms.
Computer Engineering and Hardware/Software
Computer engineering borrows from both software and hardware engineering. Computer engineers concern themselves with the building of computers from component parts and how those computers will function within larger systems. This means that computer engineers work more on computer "systems" and how different computer components will work in those systems. Furthermore, a computer engineer will study how different situations will call for specific implementations of computer hardware and software. This can include systems for traffic control or sensors in robotics.
Abstraction and Hardware
One way a computer engineer can focus on these problems in through the concept of "abstraction." While hardware engineers develop specific parts for specific purposes, these parts can be put to a variety of uses by "abstracting" their internal workings. This means that the computer engineer only needs to know specific things about the hardware to use it, like what it does or what it works with. Then the computer engineer can implement that hardware in appropriate systems.
Many computer engineers work in the realm of embedded systems. "Embedded" systems are computer systems that do not take the form of a traditional computer, but instead function within another device to perform a particular task. Embedded systems are found in traffic light systems, televisions, radios and even kitchen appliances. The computer engineer figures out how what computer hardware can be put in a device to perform a specific duty, such as keeping time or storing configuration values. Then, he or she figures out how to implement that setup within the device.
- International Journal of Multimedia and Ubiquitous Engineering: Analysis and Design of Unified Hardware Abstraction Layer To Support Various Multimedia SoC with Android Platform
- California Polytechnic Institute: Difference Between Programmers and Software Engineers
- Virginia Technical Institute: EE/CPE - What's the DIfference?
- Europa Information Society Technologies: Welcome to Embedded Systems
- Thinkstock Images/Comstock/Getty Images