Computer engineering is a discipline that integrates several fields of Electrical engineering and computer science required to develop computer hardware and software. Computer engineers usually have training in electronic engineering (or electrical engineering), software design, and hardware-software integration instead of only software engineering or electronic engineering. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also how they integrate into the larger picture.
Usual tasks involving computer engineers include writing software and firmware for embedded microcontrollers, designing VLSI chips, designing analog sensors, designing mixed signal circuit boards, and designing operating systems. Computer engineers are also suited for robotics research, which relies heavily on using digital systems to control and monitor electrical systems like motors, communications, and sensors.
In many institutions, computer engineering students are allowed to choose areas of in-depth study in their junior and senior year, because the full breadth of knowledge used in the design and application of computers is beyond the scope of an undergraduate degree. Other institutions may require engineering students to complete one year of General Engineering before declaring computer engineering as their primary focus.
The first computer engineering degree program in the United States was established at Case Western Reserve University in 1972. As of October 2004[update], there were 170 ABET-accredited computer engineering programs in the US. In Europe, accreditation of computer engineering schools is done by a variety of agencies part of the EQANIE network. Due to increasing job requirements for engineers, who can concurrently design hardware, software, firmware, and manage all forms of computer systems used in industry, some tertiary institutions around the world offer a bachelor's degree generally called computer engineering. Both computer engineering and electronic engineering programs include analog and digital circuit design in their curriculum. As with most engineering disciplines, having a sound knowledge of mathematics and science is necessary for computer engineers.
There are two major specialties in computer engineering: software and hardware.
Computer Software Engineering 
Computer software engineers develop, design, and test software. Some software engineers design, construct, and maintain computer programs for companies. Some set up networks such as "intranets" for companies. Others make or install new software or upgrade computer systems. Computer software engineers can also work in application design. This involves designing or coding new programs and applications to meet the needs of a business or individual.
Computer Hardware Engineering 
Most computer hardware engineers research, develop, design, and test various computer equipment. This can range from circuit boards and microprocessors to routers. Some update existing computer equipment to be more efficient and work with newer software. Most computer hardware engineers work in research laboratories and high-tech manufacturing firms. Some also work for the federal government. According to BLS, 95% of computer hardware engineers work in metropolitan areas. They generally work full-time. Approximately 25% of their work requires more than 40 hours a week. The median salary for employed qualified computer hardware engineers (2010) was $98,810.00 per year or $47.50 per hour. Computer hardware engineers held 70,000 jobs in 2010.
Specialty Areas 
There are many specialty areas in the field of computer engineering.
Coding, Cryptography, and Information Protection 
According to the Sloan Career Cornerstone Center, Computer engineers working in this area develop new methods for protecting various information, such as digital images and music, fragmentation, copyright infringement and other forms of tampering. Examples include work on wireless communications, multi-antenna systems, optical transmission, and digital watermarking.
Communications and Wireless Networks 
Those focusing on communications and wireless networks work advancements in communications systems and networks (especially wireless networks), modulation and error-control coding, and information theory. High-speed network design, interference suppression and modulation, design and analysis of fault-tolerant system, and storage and transmission schemes are all a part of this specialty.
Compilers and Operating Systems 
This specialty focuses on compilers and operating systems design and development. Engineers in this field develop new operating system architecture, program analysis techniques, and new techniques to assure quality. Examples of work in this field includes post-link-time code transformation algorithm development and new operating system development.
Computational Science and Engineering 
Computational Science and Engineering is a relatively new discipline. According to Sloan Career Cornerstone Center, individuals working in this area, "computational methods are applied to formulate and solve complex mathematical problems in engineering and the physical and the social sciences. Examples include aircraft design, the plasma processing of nanometer features on semiconductor wafers, VLSI circuit design, radar detection systems, ion transport through biological channels, and much more".
Computer Networks, Mobile Computing, and Distributed Systems 
In this specialty, engineers build integrated environments for computing, communications, and information access. Examples include shared-channel wireless networks, adaptive resource management in various systems, and improving the quality of service in mobile and ATM environments. Some other examples include work on wireless network systems and fast Ethernet cluster wired systems.
Computer Systems: Architecture, Parallel Processing, and Dependability 
Engineers working in computer systems work on research projects that allow for reliable, secure, and high-performance computer systems. Projects such as designing processors for multi-threading and parallel processing are included in this field. Other examples of work in this field include development of new theories, algorithms, and other tools that add performance to computer systems.
Computer Vision and Robotics 
In this specialty, computer engineers focus on developing visual sensing technology to sense an environment, representation of an environment, and manipulation of the environment. The gathered three-dimensional information is then implemented to perform a variety of tasks. These include, improved human modeling, image communication, and human-computer interfaces, as well as devices such as special-purpose cameras with versatile vision sensors.
Embedded Systems 
Individuals working in this area design technology for enhancing the speed, reliability, and performance of systems. Embedded systems are found in many devices from a small FM radio to the space shuttle. According to the Sloan Cornerstone Career Center, on going developments in embedded systems include "automated vehicles and equipment to conduct search and rescue, automated transportation systems, and human-robot coordination to repair equipment in space."
Integrated Circuits, VLSI Design, Testing, and CAD 
This specialty of computer engineering requires adequate knowledge of electronics and electrical systems. Engineers working in this area work on enhancing the speed, reliability, and energy efficiency of next-generation Very Large-Scale Integration (VLSI) circuits and microsystems. An example of this specialty is work done on reducing the power consumption of VLSI algorithms and architecture.
Signal, Image, and Speech Processing 
Computer engineers in this area develop improvements in human-computer interaction, including speech recognition and synthesis, medical and scientific imaging, or communications systems. Other work in this area includes computer vision development such as recognition of human facial features.
Most entry-level computer engineering jobs have require at least a bachelor's degree in computer engineering. Sometimes a degree in electrical engineering is accepted, due to the similarity of the two fields. According to BLS, "a computer engineering major is similar to electrical engineering but with some computer science courses added to the curriculum". Some large firms or specialized jobs require a master's degree. It is also important for Computer Engineers to keep up with rapid advances in technology. Therefore, many continue learning throughout their careers.
Job Outlook 
Computer Software Engineering 
According to BLS, "computer applications software engineers and computer systems software engineers are projected to be among the fastest growing occupations from 2008 to 2018". BLS reports an expected growth of 30% for software developers from 2010 to 2020. In addition, growing concerns over cyber security add up to put computer software engineering high above the average rate of increase for all fields. However, some of the work will be outsourced in foreign countries. Due to this, job growth will not be as fast as during the last decade[how?].
Computer Hardware Engineering 
According to the BLS, "employment of computer hardware engineers is expected to increase 9 percent from 2010 to 2020." Today, computer hardware is somehow equal to Electronic and Computer Engineering(ECE) and has divided to many subcategories, the most significant of them is Embedded system design. 
Similar Occupations and Fields 
- Aerospace Engineering
- Computer Programming
- Database Administration
- Electrical Engineering
- Software Development
- Systems Analyst
- IEEE Computer Society; ACM (12 December 2004). Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. p. iii. Retrieved 2012-12-17. "Computer System engineering has traditionally been viewed as a combination of both electronic engineering (EE) and computer science (CS)."
- Trinity College Dublin. "What is Computer System Engineering". Retrieved 2006-04-21., "Computer engineers need not only to understand how computer systems themselves work, but also how they integrate into the larger picture. Consider the car. A modern car contains many separate computer systems for controlling such things as the engine timing, the brakes and the air bags. To be able to design and implement such a car, the computer engineer needs a broad theoretical understanding of all these various subsystems & how they interact.
- "Changing Majors @ Clemson". http://www.registrar.clemson.edu/html/changeMjr_Curr.htm. Clemson University.
- "Declaring a College of Engineering Major". http://freshmanengineering.uark.edu/2040.php. University of Arkansas.
- "Degree Requirements". http://www.cmu.edu/me/undergraduate/degree-requirements.html. Carnegie Mellon University.
- IEEE Computer Society; ACM (12 December 2004). Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering. p. 7. Retrieved 2006-04-21. "In the United States, the first computer engineering program accredited by ABET (formerly the Accreditation Board for Engineering and Technology) was at Case Western Reserve University in 1972. As of October 2004, ABET has accredited over 170 computer engineering or similarly named programs."
- "Computer Software Engineer." Published by Bureau of Labor Statistics. Retrieved 20 July 2012. <http://www.bls.gov/k12/computers04.htm>
- Computer Hardware Engineers." Published by Bureau of Labor Statistics. Retrieved 20 July 2012. <http://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm>
- "Computer Engineering Overview." Published by Sloan Career Cornerstone Center. Retrieved 20 July 2012. <http://www.careercornerstone.org/pdf/compeng/compeng.pdf>
- "Software Developers." Published by Bureau of Labor Statistics. Retrieved 21 July 2012. <http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm>