Computer engineering: Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>Wikideas1
{{Template:Engineering side bar}}
imported>Subtreen
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
{{Short description|Engineering discipline specializing in the design of computer hardware}}
{{Short description|Engineering discipline specializing in the design of computer hardware}}
{{Distinguish|Computational engineering}}
{{Distinguish|Computational engineering}}
{{Redirect|Hardware engineering|engineering other types of hardware|Mechanical engineering}}
{{Redirect|Hardware engineering|mechanical hardware engineering|Mechanical engineering|electrical hardware engineering|Electrical engineering}}


{{pp-pc1}}
{{pp-pc}}
{{Use mdy dates|date=September 2017}}
{{Use mdy dates|date=September 2017}}
{{Infobox occupation
{{Infobox occupation
Line 14: Line 14:
}}
}}


'''Computer engineering''' ('''CE''',{{efn|group="n"|Before the era of computers, C.E. could also mean "[[Chartered (professional)|Chartered]] Engineer"; "inst. CE" would have meant "[[Institution of Civil Engineers]]".}} '''CoE''', '''CpE''', or '''CompE''') is a branch of [[engineering]] specialized in developing [[computer hardware]] and [[software]].<ref>{{Cite book |date=15 December 2016 |title=Computer Engineering Curricula 2016: CE2016: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering |url=https://www.acm.org/binaries/content/assets/education/ce2016-final-report.pdf |last = IEEE Computer Society |author-link = IEEE Computer Society |author2 = ACM |author-link2 = Association for Computing Machinery |doi=10.1145/3025098|doi-broken-date=July 1, 2025 }}</ref><ref>{{Cite book
'''Computer engineering''' ('''CE''',{{efn|group="n"|C.E. can also mean "[[Chartered (professional)|Chartered]] Engineer"; "inst. CE" would have meant "[[Institution of Civil Engineers]]". It is also a common abbreviation for [[Civil Engineering]]}} '''CoE''', '''CpE''', or '''CompE''') is a branch of [[engineering]] specialized in developing [[computer hardware]] and [[software]].<ref>{{Cite book |date=15 December 2016 |title=Computer Engineering Curricula 2016: CE2016: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering |url=https://www.acm.org/binaries/content/assets/education/ce2016-final-report.pdf |last = IEEE Computer Society |author-link = IEEE Computer Society |author2 = ACM |author-link2 = Association for Computing Machinery |doi=10.1145/3025098|doi-broken-date=July 1, 2025 }}</ref><ref>{{Cite book
  |last        = IEEE Computer Society
  |last        = IEEE Computer Society
  |author-link  = IEEE Computer Society
  |author-link  = IEEE Computer Society
Line 28: Line 28:
  |archive-url  = https://web.archive.org/web/20190612130313/https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf
  |archive-url  = https://web.archive.org/web/20190612130313/https://www.acm.org/education/education/curric_vols/CE-Final-Report.pdf
}}</ref>  
}}</ref>  
{{Template:Engineering side bar}}
{{Engineering side bar}}
It integrates several fields of [[electrical engineering]], [[electronics engineering]] and [[computer science]]. Computer engineering may be referred to as ''Electrical and Computer Engineering'' or ''[[Computer Science and Engineering]]'' at some universities.
It integrates several fields of [[electrical engineering]], [[electronics engineering]] and [[computer science]]. Computer engineering may be referred to as ''Electrical and Computer Engineering'' or ''[[Computer Science and Engineering]]'' at some universities.


Computer engineers require training in hardware-software integration, [[software design]], and [[software engineering]]. It can encompass areas such as [[electromagnetism]], [[artificial intelligence|artificial intelligence (AI)]], [[robotics]], [[computer network|computer networks]], [[computer architecture]] and [[operating system]]s. Computer engineers are involved in many hardware and software aspects of [[computing]], from the design of individual [[microcontroller]]s, [[microprocessor]]s, [[personal computer]]s, and [[supercomputer]]s, to [[circuit design]]. This field of engineering not only focuses on how computer systems themselves work, but also on how to integrate them into the larger picture.<ref>{{Cite web
Computer engineers require training in hardware-software integration, [[software design]], and [[software engineering]]. It can encompass areas such as [[electromagnetism]], [[artificial intelligence|artificial intelligence (AI)]], [[robotics]], [[computer network]]s, [[computer architecture]] and [[operating system]]s. Computer engineers are involved in many hardware and software aspects of [[computing]], from the design of individual [[microcontroller]]s, [[microprocessor]]s, [[personal computer]]s, and [[supercomputer]]s, to [[circuit design]]. This field of engineering not only focuses on how computer systems themselves work, but also on how to integrate them into the larger picture.<ref>{{Cite web
  | last = Trinity College Dublin
  | last = Trinity College Dublin
  | url = http://www.tcd.ie/Engineering/about/what_is_eng/computer_eng_intro.html
  | url = http://www.tcd.ie/Engineering/about/what_is_eng/computer_eng_intro.html
  | title = What is Computer System Engineering
  | title = What is Computer System Engineering
  | access-date = April 21, 2006
  | access-date = April 21, 2006
}} "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 airbags. 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.</ref> [[Robotics]] are one of the applications of computer engineering.
}} "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 airbags. 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.</ref> [[File:STM32F100C4T6B-HD.jpg|thumb|A [[die shot]] of an [[STM32]] [[Microcontroller]]. This chip is both designed by computer engineers and is utilized by them to make other systems]]
 
Computer engineering usually deals with areas including [[software programming|writing software]] and [[firmware]] for [[embedded system|embedded]] [[microcontroller]]s, designing [[very-large-scale integration|VLSI]] [[integrated circuit|chips]], [[analog device|analog]] [[sensor]]s, [[mixed-signal integrated circuit|mixed signal]] [[circuit board]]s, [[thermodynamics]] and [[control engineering|control system]]s. Computer engineers are also suited for [[robotics]] research, which relies heavily on using [[digital systems]] to control and monitor [[electrical systems]] like [[electric motor|motor]]s, [[computer-mediated communication|communications]], and [[sensor]]s.
 
In many institutions of higher learning, computer engineering students are allowed to choose areas of in-depth study in their junior and senior years 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 student]]s to complete one or two years of [[Engineering|general engineering]] before declaring computer engineering as their primary focus.<ref>{{cite web|title=Changing Majors @ Clemson| url=http://www.registrar.clemson.edu/html/changeMjr_Curr.htm |publisher=Clemson University |access-date=September 20, 2011}}</ref><ref>{{cite web |title=Declaring a College of Engineering Major |url=http://freshmanengineering.uark.edu/2041.php |publisher=University of Arkansas |access-date=September 20, 2011 |archive-url=https://web.archive.org/web/20141012182736/http://freshmanengineering.uark.edu/2041.php |archive-date=October 12, 2014 |url-status=dead }}</ref><ref>{{cite web |title=Degree Requirements| url=http://www.cmu.edu/me/undergraduate/degree-requirements.html |publisher=Carnegie Mellon University |access-date=September 20, 2011}}</ref><ref>{{cite web | url=http://www.uca.edu.ar/index.php/site/index/es/uca/facultad-de-ciencias-fisicomatematicas-e-ingenieria/alumnos/programas-de-materias/cc1y2/ | title=Programas de Materias |language=es |publisher=Universidad Católica Argentina}}</ref>
[[File:STM32F100C4T6B-HD.jpg|thumb|A [[die shot]] of an [[STM32]] [[Microcontroller]]. This chip is both designed by computer engineers and is utilized by them to make other systems]]


==History==
==History==
Line 49: Line 44:
While the original ABC was dismantled and discarded in the 1940s, a tribute was made to the late inventors; a replica of the ABC was made in 1997, where it took a team of researchers and engineers four years and $350,000 to build.<ref>{{Cite web|url=https://www.news.iastate.edu/news/2009/dec/abc|title=Iowa State replica of first electronic digital computer going to Computer History Museum - News Service - Iowa State University|website=www.news.iastate.edu|language=en-us|access-date=2017-12-05}}</ref>
While the original ABC was dismantled and discarded in the 1940s, a tribute was made to the late inventors; a replica of the ABC was made in 1997, where it took a team of researchers and engineers four years and $350,000 to build.<ref>{{Cite web|url=https://www.news.iastate.edu/news/2009/dec/abc|title=Iowa State replica of first electronic digital computer going to Computer History Museum - News Service - Iowa State University|website=www.news.iastate.edu|language=en-us|access-date=2017-12-05}}</ref>


The modern [[personal computer]] emerged in the 1970s, after several breakthroughs in [[semiconductor]] technology. These include the first working [[transistor]] by [[William Shockley]], [[John Bardeen]] and [[Walter Brattain]] at [[Bell Labs]] in 1947,<ref>{{cite web |title=1947: Invention of the Point-Contact Transistor |url=https://www.computerhistory.org/siliconengine/invention-of-the-point-contact-transistor/ |website=The Silicon Engine |publisher=[[Computer History Museum]] |access-date=9 October 2019}}</ref> in 1955, silicon dioxide surface passivation by [[Carl Frosch]] and Lincoln Derick,<ref>{{Cite patent|number=US2802760A|title=Oxidation of semiconductive surfaces for controlled diffusion|gdate=1957-08-13|invent1=Lincoln|invent2=Frosch|inventor1-first=Derick|inventor2-first=Carl J.|url=https://patents.google.com/patent/US2802760A}}</ref> the first planar silicon dioxide transistors by Frosch and Derick in 1957,<ref>{{Cite journal |last1=Frosch |first1=C. J. |last2=Derick |first2=L |date=1957 |title=Surface Protection and Selective Masking during Diffusion in Silicon |url=https://iopscience.iop.org/article/10.1149/1.2428650 |journal=Journal of the Electrochemical Society |language=en |volume=104 |issue=9 |pages=547 |doi=10.1149/1.2428650|url-access=subscription }}</ref> [[planar process]] by [[Jean Hoerni]],<ref>{{cite book |last1=Lojek |first1=Bo |title=History of Semiconductor Engineering |date=2007 |publisher=[[Springer Science & Business Media]] |isbn=9783540342588 |pages=120 & 321–323}}</ref><ref name="Bassett46">{{cite book |last1=Bassett |first1=Ross Knox |title=To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology |date=2007 |publisher=[[Johns Hopkins University Press]] |isbn=9780801886393 |page=46 |url=https://books.google.com/books?id=UUbB3d2UnaAC&pg=PA46}}</ref><ref>{{patent|US|3025589|Hoerni, J. A.: "Method of Manufacturing Semiconductor Devices” filed May 1, 1959}}</ref> the [[monolithic integrated circuit]] chip by [[Robert Noyce]] at [[Fairchild Semiconductor]] in 1959,<ref name="Saxena140">{{cite book |last1=Saxena |first1=Arjun N. |title=Invention of Integrated Circuits: Untold Important Facts |date=2009 |publisher=[[World Scientific]] |isbn=9789812814456 |page=140 |url=https://books.google.com/books?id=-3lpDQAAQBAJ&pg=PA140}}</ref> the [[MOSFET|metal–oxide–semiconductor field-effect transistor]] (MOSFET, or MOS transistor) demonstrated by a team at Bell Labs in 1960<ref>{{Cite book |last=Lojek |first=Bo |title=History of Semiconductor Engineering |date=2007 |publisher=Springer-Verlag Berlin Heidelberg |isbn=978-3-540-34258-8 |location=Berlin, Heidelberg |page=321}}</ref> and the single-chip [[microprocessor]] ([[Intel 4004]]) by [[Federico Faggin]], [[Marcian Hoff]], [[Masatoshi Shima]] and [[Stanley Mazor]] at [[Intel]] in 1971.<ref name="computerhistory1971">{{cite web |title=1971: Microprocessor Integrates CPU Function onto a Single Chip |url=https://www.computerhistory.org/siliconengine/microprocessor-integrates-cpu-function-onto-a-single-chip/ |website=[[Computer History Museum]] |access-date=22 July 2019}}</ref>
The modern [[personal computer]] emerged in the 1970s, after several breakthroughs in [[semiconductor]] technology. These include the first working [[transistor]]s by [[William Shockley]], [[John Bardeen]] and [[Walter Brattain]] at [[Bell Labs]] in 1947,<ref>{{cite web |title=1947: Invention of the Point-Contact Transistor |url=https://www.computerhistory.org/siliconengine/invention-of-the-point-contact-transistor/ |website=The Silicon Engine |publisher=[[Computer History Museum]] |access-date=9 October 2019}}</ref> in 1955, silicon dioxide surface passivation by [[Carl Frosch]] and Lincoln Derick,<ref>{{Cite patent|number=US2802760A|title=Oxidation of semiconductive surfaces for controlled diffusion|gdate=1957-08-13|invent1=Lincoln|invent2=Frosch|inventor1-first=Derick|inventor2-first=Carl J.|url=https://patents.google.com/patent/US2802760A}}</ref> the first planar silicon dioxide transistors by Frosch and Derick in 1957,<ref>{{Cite journal |last1=Frosch |first1=C. J. |last2=Derick |first2=L |date=1957 |title=Surface Protection and Selective Masking during Diffusion in Silicon |url=https://iopscience.iop.org/article/10.1149/1.2428650 |journal=Journal of the Electrochemical Society |language=en |volume=104 |issue=9 |pages=547 |doi=10.1149/1.2428650|url-access=subscription }}</ref> [[planar process]] by [[Jean Hoerni]],<ref>{{cite book |last1=Lojek |first1=Bo |title=History of Semiconductor Engineering |date=2007 |publisher=[[Springer Science & Business Media]] |isbn=9783540342588 |pages=120 & 321–323}}</ref><ref name="Bassett46">{{cite book |last1=Bassett |first1=Ross Knox |title=To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology |date=2007 |publisher=[[Johns Hopkins University Press]] |isbn=9780801886393 |page=46 |url=https://books.google.com/books?id=UUbB3d2UnaAC&pg=PA46}}</ref><ref>{{patent|US|3025589|Hoerni, J. A.: "Method of Manufacturing Semiconductor Devices” filed May 1, 1959}}</ref> the [[monolithic integrated circuit]] chip by [[Robert Noyce]] at [[Fairchild Semiconductor]] in 1959,<ref name="Saxena140">{{cite book |last1=Saxena |first1=Arjun N. |title=Invention of Integrated Circuits: Untold Important Facts |date=2009 |publisher=[[World Scientific]] |isbn=9789812814456 |page=140 |url=https://books.google.com/books?id=-3lpDQAAQBAJ&pg=PA140}}</ref> the [[MOSFET|metal–oxide–semiconductor field-effect transistor]] (MOSFET, or MOS transistor) demonstrated by a team at Bell Labs in 1960<ref>{{Cite book |last=Lojek |first=Bo |title=History of Semiconductor Engineering |date=2007 |publisher=Springer-Verlag Berlin Heidelberg |isbn=978-3-540-34258-8 |location=Berlin, Heidelberg |page=321}}</ref> and the single-chip [[microprocessor]] ([[Intel 4004]]) by [[Federico Faggin]], [[Marcian Hoff]], [[Masatoshi Shima]] and [[Stanley Mazor]] at [[Intel]] in 1971.<ref name="computerhistory1971">{{cite web |title=1971: Microprocessor Integrates CPU Function onto a Single Chip |url=https://www.computerhistory.org/siliconengine/microprocessor-integrates-cpu-function-onto-a-single-chip/ |website=[[Computer History Museum]] |access-date=22 July 2019}}</ref>


===History of computer engineering education===
===History of computer engineering education===
Line 55: Line 50:


==Education==
==Education==
Computer engineering is referred to as [[computer science and engineering]] at some universities. Most entry-level computer engineering jobs require at least a bachelor's degree in computer engineering, electrical engineering or computer science. Typically one must learn an array of [[mathematics]] such as [[calculus]], [[linear algebra]] and [[differential equation]]s, along with [[computer science]].<ref>{{Cite web|url=https://engineering.utdallas.edu/academics/undergraduate-majors/undergrad-advising/current-students/|website=The University of Texas at Dallas|date=January 8, 2024|title=Erik Jonsson School of Engineering and Computer Science}}</ref> Degrees in [[electronic engineering|electronic]] or [[Electrical engineering|electric engineering]] also suffice due to the similarity of the two fields. Because hardware engineers commonly work with computer software systems, a strong background in computer programming is necessary. According to BLS, "''a computer engineering major is similar to electrical engineering but with some computer science courses added to the curriculum''".<ref name="CHE">{{cite web|url=http://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm|title=Computer Hardware Engineers|date=January 8, 2014|publisher=Bureau of Labor Statistics|access-date=July 20, 2012}}</ref> Some large firms or specialized jobs require a master's degree.
Computer engineering is referred to as [[computer science and engineering]] at some universities. Most entry-level computer engineering jobs require at least a bachelor's degree in computer engineering, electrical engineering or computer science. Typically one must learn an array of [[mathematics]] such as [[calculus]], [[linear algebra]], and [[differential equation]]s, along with [[computer science]].<ref>{{Cite web|url=https://engineering.utdallas.edu/academics/undergraduate-majors/undergrad-advising/current-students/|website=The University of Texas at Dallas|date=January 8, 2024|title=Erik Jonsson School of Engineering and Computer Science}}</ref> Degrees in [[electronic engineering|electronic]] or [[Electrical engineering|electric engineering]] also suffice due to the similarity of the two fields. Because hardware engineers commonly work with computer software systems, a strong background in computer programming is necessary. According to BLS, "''a computer engineering major is similar to electrical engineering but with some computer science courses added to the curriculum''".<ref name="CHE">{{cite web|url=http://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm|title=Computer Hardware Engineers|date=January 8, 2014|publisher=Bureau of Labor Statistics|access-date=July 20, 2012}}</ref> Some large firms or specialized jobs require a master's degree.
 
In many institutions of higher learning, computer engineering students are allowed to choose areas of in-depth study in their junior and senior years 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 student]]s to complete one or two years of [[Engineering|general engineering]] before declaring computer engineering as their primary focus.<ref>{{cite web|title=Changing Majors @ Clemson| url=http://www.registrar.clemson.edu/html/changeMjr_Curr.htm |publisher=Clemson University |access-date=September 20, 2011}}</ref><ref>{{cite web |title=Declaring a College of Engineering Major |url=http://freshmanengineering.uark.edu/2041.php |publisher=University of Arkansas |access-date=September 20, 2011 |archive-url=https://web.archive.org/web/20141012182736/http://freshmanengineering.uark.edu/2041.php |archive-date=October 12, 2014 |url-status=dead }}</ref><ref>{{cite web |title=Degree Requirements| url=http://www.cmu.edu/me/undergraduate/degree-requirements.html |publisher=Carnegie Mellon University |access-date=September 20, 2011}}</ref><ref>{{cite web | url=http://www.uca.edu.ar/index.php/site/index/es/uca/facultad-de-ciencias-fisicomatematicas-e-ingenieria/alumnos/programas-de-materias/cc1y2/ | title=Programas de Materias |language=es |publisher=Universidad Católica Argentina}}</ref>


It is also important for computer engineers to keep up with rapid advances in [[technology]]. Therefore, many continue learning throughout their careers. This can be helpful, especially when it comes to learning new skills or improving existing ones. For example, as the relative cost of fixing a [[Bug (programming)|bug]] increases the further along it is in the software development cycle, there can be greater cost savings attributed to developing and testing for quality code as soon as possible in the process, particularly before release.<ref name="The cost of fixing a bug">{{cite web|url=http://www.feabhas.com/sites/default/files/uploads/News/Feabhas_Infographic_FINAL.pdf|title=Feabhas_Infographic_FINAL|website=feabhas}}</ref>
It is also important for computer engineers to keep up with rapid advances in [[technology]]. Therefore, many continue learning throughout their careers. This can be helpful, especially when it comes to learning new skills or improving existing ones. For example, as the relative cost of fixing a [[Bug (programming)|bug]] increases the further along it is in the software development cycle, there can be greater cost savings attributed to developing and testing for quality code as soon as possible in the process, particularly before release.<ref name="The cost of fixing a bug">{{cite web|url=http://www.feabhas.com/sites/default/files/uploads/News/Feabhas_Infographic_FINAL.pdf|title=Feabhas_Infographic_FINAL|website=feabhas}}</ref>
Line 66: Line 63:
===Computer hardware engineering===
===Computer hardware engineering===
{{Main|Hardware architect}}
{{Main|Hardware architect}}
According to the United States [[Bureau of Labor Statistics|BLS]], the current job outlook employment for computer hardware engineers, the expected ten-year growth from 2024 to 2034 is 7%. However, 2019 to 2029 for computer hardware engineering was an estimated 2% and a total of 71,100 jobs. ("''Slower than average''" in their own words when compared to other occupations)".<ref name="hweng">{{cite web|url=http://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm|title=Computer Hardware Engineers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref><ref> https://futurism.com/computer-science-majors-high-unemployment-rate </ref> This is a decrease from the 2014 to 2024 BLS computer hardware engineering estimate of 3% and a total of 77,700 jobs; "''and is down from 7% for the 2012 to 2022 BLS estimate and is further down from 9% in the BLS 2010 to 2020 estimate.''"<ref name="hweng" /> Today, computer hardware is somewhat equal{{clarify|date=June 2019}} to electronic and computer engineering (ECE) and has been divided into many subcategories, the most significant{{citation needed|date=June 2019}} being [[Embedded system|embedded system design]].<ref name = "CHE" />
 
According to the United States [[Bureau of Labor Statistics|BLS]], the current job outlook employment for computer hardware engineers, the expected ten-year growth from 2024 to 2034 is 7% mostly to replace existing engineers that retire or leave the occupation for other fields.<ref>{{Cite web |title=Computer Hardware Engineers |url=https://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm |access-date=2026-06-30 |website=Bureau of Labor Statistics |language=en-us}}</ref> However, 2019 to 2029 for computer hardware engineering was an estimated 2% and a total of 71,100 jobs. ("''Slower than average''" in their own words when compared to other occupations)".<ref name="hweng">{{cite web|url=http://www.bls.gov/ooh/architecture-and-engineering/computer-hardware-engineers.htm|title=Computer Hardware Engineers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref><ref>{{cite web | title="Learn to Code" Backfires Spectacularly as Comp-Sci Majors Suddenly Have Sky-High Unemployment | date=May 31, 2025 | url=https://futurism.com/computer-science-majors-high-unemployment-rate }}</ref> This is a decrease from the 2014 to 2024 BLS computer hardware engineering estimate of 3% and a total of 77,700 jobs; "''and is down from 7% for the 2012 to 2022 BLS estimate and is further down from 9% in the BLS 2010 to 2020 estimate.''"<ref name="hweng" /> Today, computer hardware is somewhat equal{{clarify|date=June 2019}} to electronic and computer engineering (ECE) and has been divided into many subcategories, the most significant{{citation needed|date=June 2019}} being [[Embedded system|embedded system design]].<ref name = "CHE" />


===Computer software engineering===
===Computer software engineering===
According to the U.S. [[Bureau of Labor Statistics]] (BLS), "''computer applications software engineers and computer systems software engineers the current growth projections for 2024 to 2034 is 15%. This is close to the 2014 to 2024 growth for computer software engineering was an estimated 17% and there was a total of 1,114,000 jobs that same year.<ref name="softdev">{{cite web|url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm|title=Software Developers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref> This is down from the 2012 to 2022 BLS estimate of 22% for software developers.<ref name = "C.S.E.">{{cite web |title=Computer Software Engineer |url=http://www.bls.gov/k12/computers04.htm |publisher=Bureau of Labor Statistics |date=March 19, 2010 |access-date=July 20, 2012 |archive-url=https://web.archive.org/web/20130726002354/http://www.bls.gov/k12/computers04.htm |archive-date=July 26, 2013}}</ref><ref name="softdev" /> And, further down from the 30% 2010 to 2020 BLS estimate.<ref name = "CSE2">{{cite web |title=Software Developers |url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |date=January 8, 2014 |publisher=Bureau of Labor Statistics |access-date=July 21, 2012}}</ref> In addition, growing concerns over cybersecurity 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.<ref>{{Cite news|url=https://www.bloomberg.com/opinion/articles/2020-08-04/big-tech-wants-you-to-believe-america-has-a-skills-gap|title=Tech Companies Want You to Believe America Has a Skills Gap|newspaper=Bloomberg |date=August 4, 2020}}</ref> Due to this, job growth will not be as fast as during the last decade, as jobs that would have gone to computer software engineers in the United States would instead go to computer software engineers in countries such as India.<ref name="bls.gov">{{cite web|url=http://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm|title=Computer Programmers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref> In addition, the BLS job outlook for Computer Programmers, 2014–24 has an −8% (a decline, in their words),<ref name="bls.gov"/> then a job outlook, 2019-29 of -9% (Decline),<ref name="ReferenceA">{{Cite web|url=https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm|title=Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics|website=www.bls.gov}}</ref> then a 10% decline for 2021-2031<ref name="ReferenceA"/> and now an 11% decline for 2022-2032<ref name="ReferenceA"/> for those who program computers (i.e. embedded systems) who are not computer application developers.<ref>{{Cite web|url=https://www.bls.gov/opub/btn/archive/publication.htm#regional-reports|title=Archive By Publication : Beyond the Numbers: U.S. Bureau of Labor Statistics|website=www.bls.gov}}</ref><ref>{{Cite web|url=https://www.designnews.com/design-hardware-software/soon-be-extinct-embedded-software-engineer|title=The Soon-to-Be-Extinct Embedded Software Engineer|date=May 10, 2018|website=designnews.com}}</ref> Furthermore, women in software fields has been declining over the years even faster than other engineering fields.<ref>{{Cite web|url=https://developers.hp.com/public/blog/hp-international-womens-week-women-computer-science-dropping-1980s|title=hp's Developer Portal &#124; HP International Women's Week: Women in Computer Science dropping since 1980s|website=developers.hp.com}}</ref>
According to the U.S. [[Bureau of Labor Statistics]] (BLS), "computer applications software engineers and computer systems software engineers are projected to be among the faster than average growing occupations" due mostly to replenish the retiring and those who leave the field.<ref>{{Cite web |title=Software Developers, Quality Assurance Analysts, and Testers |url=https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |access-date=2026-06-30 |website=Bureau of Labor Statistics |language=en-us}}</ref> The expected ten-year growth {{as of|2025|lc=true}} for computer software engineering was an estimated 17% and there was a total of 1,114,000 jobs that same year.<ref name="softdev">{{cite web|url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm|title=Software Developers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref> This is down from the 2012 to 2022 BLS estimate of 22% for software developers.<ref name = "C.S.E.">{{cite web |title=Computer Software Engineer |url=http://www.bls.gov/k12/computers04.htm |publisher=Bureau of Labor Statistics |date=March 19, 2010 |access-date=July 20, 2012 |archive-url=https://web.archive.org/web/20130726002354/http://www.bls.gov/k12/computers04.htm |archive-date=July 26, 2013}}</ref><ref name="softdev" /> And, further down from the 30% 2010 to 2020 BLS estimate.<ref name = "CSE2">{{cite web |title=Software Developers |url=http://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm |date=January 8, 2014 |publisher=Bureau of Labor Statistics |access-date=July 21, 2012}}</ref> In addition, growing concerns over cybersecurity 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.<ref>{{Cite news|url=https://www.bloomberg.com/opinion/articles/2020-08-04/big-tech-wants-you-to-believe-america-has-a-skills-gap|title=Tech Companies Want You to Believe America Has a Skills Gap|newspaper=Bloomberg |date=August 4, 2020}}</ref> Due to this, job growth will not be as fast as during the last decade, as jobs that would have gone to computer software engineers in the United States would instead go to computer software engineers in countries such as India.<ref name="bls.gov">{{cite web|url=http://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm|title=Computer Programmers: Occupational Outlook Handbook|publisher=U.S. Bureau of Labor Statistics}}</ref> In addition, the BLS job outlook for Computer Programmers, 2014–24 has an −8% (a decline, in their words),<ref name="bls.gov"/> then a job outlook, 2019-29 of -9% (Decline),<ref name="ReferenceA">{{Cite web|url=https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm|title=Computer Programmers : Occupational Outlook Handbook: : U.S. Bureau of Labor Statistics|website=www.bls.gov}}</ref> then a 10% decline for 2021-2031<ref name="ReferenceA"/> and now an 11% decline for 2022-2032<ref name="ReferenceA"/> for those who program computers (i.e. embedded systems) who are not computer application developers.<ref>{{Cite web|url=https://www.bls.gov/opub/btn/archive/publication.htm#regional-reports|title=Archive By Publication : Beyond the Numbers: U.S. Bureau of Labor Statistics|website=www.bls.gov}}</ref><ref>{{Cite web|url=https://www.designnews.com/design-hardware-software/soon-be-extinct-embedded-software-engineer|title=The Soon-to-Be-Extinct Embedded Software Engineer|date=May 10, 2018|website=designnews.com}}</ref> Furthermore, women in software fields has been declining over the years even faster than other engineering fields.<ref>{{Cite web|url=https://developers.hp.com/public/blog/hp-international-womens-week-women-computer-science-dropping-1980s|title=hp's Developer Portal &#124; HP International Women's Week: Women in Computer Science dropping since 1980s|website=developers.hp.com}}</ref>


==Specialty areas==
==Specialty areas==
Line 75: Line 73:


===Processor design===
===Processor design===
{{Main article|Processor design}}
{{Main|Processor design}}
[[Processor (computing)|Processor]] design process involves choosing an [[Instruction set architecture|instruction set]] and a certain execution paradigm (e.g. [[VLIW]] or [[RISC]]) and results in a [[microarchitecture]], which might be described in e.g. [[VHDL]] or [[Verilog]]. [[Central processing unit|CPU]] design is divided into design of the following components: [[Datapath|datapaths]] (such as [[Arithmetic logic unit|ALUs]] and [[Pipeline (computing)|pipelines]]), control unit: logic which controls the datapaths, [[Computer memory|memory]] components such as [[Register file|register files]], [[Cache (computing)|caches]], clock circuitry such as clock drivers, PLLs, clock distribution networks, pad transceiver circuitry, logic gate cell library which is used to implement the logic.
 
[[Processor (computing)|Processor]] design process involves choosing an [[Instruction set architecture|instruction set]] and a certain execution paradigm (e.g. [[VLIW]] or [[RISC]]) and results in a [[microarchitecture]], which might be described in e.g. [[VHDL]] or [[Verilog]]. [[Central processing unit|CPU]] design is divided into design of the following components: [[datapath]]s (such as [[Arithmetic logic unit|ALUs]] and [[Pipeline (computing)|pipelines]]), control unit: logic which controls the datapaths, [[Computer memory|memory]] components such as [[register file]]s, [[Cache (computing)|caches]], clock circuitry such as clock drivers, PLLs, clock distribution networks, pad transceiver circuitry, logic gate cell library which is used to implement the logic.


===Coding, cryptography, and information protection===
===Coding, cryptography, and information protection===
{{Main article|Information security}}
{{Main|Information security}}
 
[[File:Source code in C.png|thumb|[[Source code]] written in the [[C (programming language)|C]] programming language]]
[[File:Source code in C.png|thumb|[[Source code]] written in the [[C (programming language)|C]] programming language]]
Computer engineers work in coding, applied cryptography, and information protection to develop new methods for protecting various information, such as [[Digital image|digital images]] and [[Digital Music|music]], fragmentation, [[copyright infringement]] and other forms of tampering by, for example, [[digital watermarking]].<ref name="SCCC">{{cite web |title=Computer Engineering Overview |url=http://www.careercornerstone.org/pdf/compeng/compeng.pdf |publisher=Sloan Career Cornerstone Center |access-date=July 20, 2012 |archive-url=https://web.archive.org/web/20120916035940/http://www.careercornerstone.org/pdf/compeng/compeng.pdf |archive-date=September 16, 2012 |url-status=dead }}</ref>
Computer engineers work in coding, applied cryptography, and information protection to develop new methods for protecting various information, such as [[digital image]]s and [[Digital Music|music]], fragmentation, [[copyright infringement]] and other forms of tampering by, for example, [[digital watermarking]].<ref name="SCCC">{{cite web |title=Computer Engineering Overview |url=http://www.careercornerstone.org/pdf/compeng/compeng.pdf |publisher=Sloan Career Cornerstone Center |access-date=July 20, 2012 |archive-url=https://web.archive.org/web/20120916035940/http://www.careercornerstone.org/pdf/compeng/compeng.pdf |archive-date=September 16, 2012 |url-status=dead }}</ref>


===Communications and wireless networks===
===Communications and wireless networks===
{{Main article|Communications networks|Wireless network}}
{{Main|Communications networks|Wireless network}}
 
Those focusing on communications and wireless networks, work advancements in telecommunications systems and networks (especially wireless networks), modulation and error-control coding, and information theory. High-speed [[network planning and design|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.<ref name = "SCCC"/>
Those focusing on communications and wireless networks, work advancements in telecommunications systems and networks (especially wireless networks), modulation and error-control coding, and information theory. High-speed [[network planning and design|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.<ref name = "SCCC"/>


===Compilers and operating systems===
===Compilers and operating systems===
{{Main article|Compiler|Operating system}}
{{Main|Compiler|Operating system}}
 
[[File:Windows10abstract.png|thumb|Windows 10, an example of an [[operating system]]]]
[[File:Windows10abstract.png|thumb|Windows 10, an example of an [[operating system]]]]
This specialty focuses on [[compiler]]s and [[operating system]]s 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 include post-link-time code transformation [[algorithm]] development and new operating system development.<ref name="SCCC" />
This specialty focuses on [[compiler]]s and [[operating system]]s 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 include post-link-time code transformation [[algorithm]] development and new operating system development.<ref name="SCCC" />


===Computational science and engineering===
===Computer networks, mobile computing, and distributed systems===
{{Main article|Computational science|Computational engineering}}
{{Main|Computer network|Mobile computing|Distributed computing}}
Computational science and engineering is a relatively new discipline. According to the 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''".<ref name="SCCC" />


===Computer networks, mobile computing, and distributed systems===
{{Main article|Computer network|Mobile computing|Distributed computing}}
In this specialty, engineers build integrated environments for computing, communications, and [[information access]]. Examples include shared-channel wireless networks, [[Adaptive management|adaptive resource management]] in various systems, and improving the quality of service in [[Mobile technology|mobile]] and ATM environments. Some other examples include work on [[Wireless network|wireless network systems]] and fast [[Ethernet]] cluster wired systems.<ref name="SCCC" />
In this specialty, engineers build integrated environments for computing, communications, and [[information access]]. Examples include shared-channel wireless networks, [[Adaptive management|adaptive resource management]] in various systems, and improving the quality of service in [[Mobile technology|mobile]] and ATM environments. Some other examples include work on [[Wireless network|wireless network systems]] and fast [[Ethernet]] cluster wired systems.<ref name="SCCC" />


===Computer systems: architecture, parallel processing, and dependability===
===Computer systems: architecture, parallel processing, and dependability===
{{Main article|Computer architecture|Parallel computing|Dependability}}
{{Main|Computer architecture|Parallel computing|Dependability}}
 
[[File:Intel 80486DX2 bottom.jpg|thumb|An example of a computer CPU]]
[[File:Intel 80486DX2 bottom.jpg|thumb|An example of a computer CPU]]
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 [[Multithreading (computer architecture)|multithreading]] and [[Parallel processing (computing)|parallel processing]] are included in this field. Other examples of work in this field include the development of new theories, [[Algorithm|algorithms]], and other tools that add [[Computer performance|performance]] to computer systems.<ref name="SCCC" />
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 [[Multithreading (computer architecture)|multithreading]] and [[Parallel processing (computing)|parallel processing]] are included in this field. Other examples of work in this field include the development of new theories, [[algorithm]]s, and other tools that add [[Computer performance|performance]] to computer systems.<ref name="SCCC" />


Computer architecture includes [[CPU design]], [[cache hierarchy]] layout, [[memory organization]], and [[Load balancing (computing)|load balancing]].
Computer architecture includes [[CPU design]], [[cache hierarchy]] layout, [[memory organization]], and [[Load balancing (computing)|load balancing]].


===Computer vision and robotics===
===Computer vision and robotics===
{{Main article|Computer vision|Robotics}}
{{Main|Computer vision|Robotics}}
 
[[File:Humanoid Robot (1) ITB 2017.JPG|thumb|An example of a [[humanoid]] robot]]
[[File:Humanoid Robot (1) ITB 2017.JPG|thumb|An example of a [[humanoid]] robot]]
In this specialty, computer engineers focus on developing [[Visual sensor network|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.<ref name="SCCC" />
In this specialty, computer engineers focus on developing [[Visual sensor network|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.<ref name="SCCC" />


===Embedded systems===
===Embedded systems===
{{Main article|Embedded system{{!}}Embedded systems}}
{{Main|Embedded system{{!}}Embedded systems}}
 
[[File: Oxygen devices.svg|thumb|Examples of devices that use embedded systems|alt=]]
[[File: Oxygen devices.svg|thumb|Examples of devices that use embedded systems|alt=]]
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, ongoing 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.''"<ref name="SCCC" /> {{As of|2018}}, computer embedded systems specializations include [[System on a chip|system-on-chip]] design, the architecture of [[edge computing]] and the [[Internet of things]].
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, ongoing 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.''"<ref name="SCCC" /> {{As of|2018}}, computer embedded systems specializations include [[System on a chip|system-on-chip]] design, the architecture of [[edge computing]] and the [[Internet of things]].


===Integrated circuits, VLSI design, testing and CAD===
===Integrated circuits, VLSI design, testing and CAD===
{{Main article|Integrated circuit|Very-large-scale integration}}
{{Main|Integrated circuit|Very-large-scale integration}}
 
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 integrated ([[VLSI]]) circuits and microsystems. An example of this specialty is work done on reducing the power consumption of VLSI algorithms and architecture.<ref name="SCCC" />
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 integrated ([[VLSI]]) circuits and microsystems. An example of this specialty is work done on reducing the power consumption of VLSI algorithms and architecture.<ref name="SCCC" />


===Signal, image and speech processing===
===Signal, image and speech processing===
{{Main article| Signal processing|Digital image processing|Speech processing}}
{{Main|Signal processing|Digital image processing|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 [[face recognition|recognition of human facial features]].<ref name="SCCC" />
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 [[face recognition|recognition of human facial features]].<ref name="SCCC" />


===Quantum computing===
===Quantum computing===
{{Main article|Quantum computing}}
{{Main|Quantum computing}}
This area integrates the [[Quantum mechanics|quantum]] behaviour of small particles such as [[Quantum superposition|superposition]], [[Wave interference|interference]] and [[Quantum entanglement|entanglement]], with classical computers to solve complex problems and formulate algorithms much more efficiently. Individuals focus on fields like [[Quantum cryptography]], [[Quantum simulator|physical simulations]] and [[Quantum algorithm|quantum algorithms]].
 
This area integrates the [[Quantum mechanics|quantum]] behaviour of small particles such as [[Quantum superposition|superposition]], [[Wave interference|interference]] and [[Quantum entanglement|entanglement]], with classical computers to solve complex problems and formulate algorithms much more efficiently. Individuals focus on fields like [[Quantum cryptography]], [[Quantum simulator|physical simulations]] and [[quantum algorithm]]s.


==See also==
==See also==
 
{{Portal|Engineering}}
===Related fields===
===Related fields===
{{columns-list|
{{columns-list|
Line 138: Line 143:
* [[Computer science and engineering]]
* [[Computer science and engineering]]
* [[Computer programming]]
* [[Computer programming]]
* [[Mechatronics]]
* [[Software development]]
* [[Software development]]
* [[Computer network]]
* [[Computer networking]]
}}
}}



Latest revision as of 23:32, 30 June 2026

Template:Short description Script error: No such module "Distinguish". Script error: No such module "redirect hatnote".

Template:Pp-pc Script error: No such module "Unsubst". Script error: No such module "Infobox".Script error: No such module "Check for unknown parameters".

Computer engineering (CE,Template:Efn CoE, CpE, or CompE) is a branch of engineering specialized in developing computer hardware and software.[1][2] Template:Engineering side bar It integrates several fields of electrical engineering, electronics engineering and computer science. Computer engineering may be referred to as Electrical and Computer Engineering or Computer Science and Engineering at some universities.

Computer engineers require training in hardware-software integration, software design, and software engineering. It can encompass areas such as electromagnetism, artificial intelligence (AI), robotics, computer networks, computer architecture and operating systems. Computer engineers are involved in many hardware and software aspects of computing, from the design of individual microcontrollers, microprocessors, personal computers, and supercomputers, to circuit design. This field of engineering not only focuses on how computer systems themselves work, but also on how to integrate them into the larger picture.[3]

File:STM32F100C4T6B-HD.jpg
A die shot of an STM32 Microcontroller. This chip is both designed by computer engineers and is utilized by them to make other systems

History

File:Babbage Difference Engine.jpg
The Difference Engine, the first mechanical computer
File:Glen Beck and Betty Snyder program the ENIAC in building 328 at the Ballistic Research Laboratory.jpg
ENIAC, the first electronic computer

Computer engineering began in 1939 when John Vincent Atanasoff and Clifford Berry began developing the world's first electronic digital computer through physics, mathematics, and electrical engineering. John Vincent Atanasoff was once a physics and mathematics teacher for Iowa State University and Clifford Berry a former graduate under electrical engineering and physics. Together, they created the Atanasoff–Berry computer, also known as the ABC which took five years to complete.[4] While the original ABC was dismantled and discarded in the 1940s, a tribute was made to the late inventors; a replica of the ABC was made in 1997, where it took a team of researchers and engineers four years and $350,000 to build.[5]

The modern personal computer emerged in the 1970s, after several breakthroughs in semiconductor technology. These include the first working transistors by William Shockley, John Bardeen and Walter Brattain at Bell Labs in 1947,[6] in 1955, silicon dioxide surface passivation by Carl Frosch and Lincoln Derick,[7] the first planar silicon dioxide transistors by Frosch and Derick in 1957,[8] planar process by Jean Hoerni,[9][10][11] the monolithic integrated circuit chip by Robert Noyce at Fairchild Semiconductor in 1959,[12] the metal–oxide–semiconductor field-effect transistor (MOSFET, or MOS transistor) demonstrated by a team at Bell Labs in 1960[13] and the single-chip microprocessor (Intel 4004) by Federico Faggin, Marcian Hoff, Masatoshi Shima and Stanley Mazor at Intel in 1971.[14]

History of computer engineering education

The first computer engineering degree program in the United States was established in 1971 at Case Western Reserve University in Cleveland, Ohio.[15] As of 2015Script error: No such module "Check for unknown parameters"., there were 250 ABET-accredited computer engineering programs in the U.S.[16] In Europe, accreditation of computer engineering schools is done by a variety of agencies as 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.

Education

Computer engineering is referred to as computer science and engineering at some universities. Most entry-level computer engineering jobs require at least a bachelor's degree in computer engineering, electrical engineering or computer science. Typically one must learn an array of mathematics such as calculus, linear algebra, and differential equations, along with computer science.[17] Degrees in electronic or electric engineering also suffice due to the similarity of the two fields. Because hardware engineers commonly work with computer software systems, a strong background in computer programming is necessary. According to BLS, "a computer engineering major is similar to electrical engineering but with some computer science courses added to the curriculum".[18] Some large firms or specialized jobs require a master's degree.

In many institutions of higher learning, computer engineering students are allowed to choose areas of in-depth study in their junior and senior years 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 or two years of general engineering before declaring computer engineering as their primary focus.[19][20][21][22]

It is also important for computer engineers to keep up with rapid advances in technology. Therefore, many continue learning throughout their careers. This can be helpful, especially when it comes to learning new skills or improving existing ones. For example, as the relative cost of fixing a bug increases the further along it is in the software development cycle, there can be greater cost savings attributed to developing and testing for quality code as soon as possible in the process, particularly before release.[23]

Applications and practice

Script error: No such module "Unsubst".

There are two major focuses in computer engineering: hardware and software.

Computer hardware engineering

Script error: No such module "Labelled list hatnote".

According to the United States BLS, the current job outlook employment for computer hardware engineers, the expected ten-year growth from 2024 to 2034 is 7% mostly to replace existing engineers that retire or leave the occupation for other fields.[24] However, 2019 to 2029 for computer hardware engineering was an estimated 2% and a total of 71,100 jobs. ("Slower than average" in their own words when compared to other occupations)".[25][26] This is a decrease from the 2014 to 2024 BLS computer hardware engineering estimate of 3% and a total of 77,700 jobs; "and is down from 7% for the 2012 to 2022 BLS estimate and is further down from 9% in the BLS 2010 to 2020 estimate."[25] Today, computer hardware is somewhat equalScript error: No such module "Unsubst". to electronic and computer engineering (ECE) and has been divided into many subcategories, the most significantScript error: No such module "Unsubst". being embedded system design.[18]

Computer software engineering

According to the U.S. Bureau of Labor Statistics (BLS), "computer applications software engineers and computer systems software engineers are projected to be among the faster than average growing occupations" due mostly to replenish the retiring and those who leave the field.[27] The expected ten-year growth as of 2025Script error: No such module "Check for unknown parameters". for computer software engineering was an estimated 17% and there was a total of 1,114,000 jobs that same year.[28] This is down from the 2012 to 2022 BLS estimate of 22% for software developers.[29][28] And, further down from the 30% 2010 to 2020 BLS estimate.[30] In addition, growing concerns over cybersecurity 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.[31] Due to this, job growth will not be as fast as during the last decade, as jobs that would have gone to computer software engineers in the United States would instead go to computer software engineers in countries such as India.[32] In addition, the BLS job outlook for Computer Programmers, 2014–24 has an −8% (a decline, in their words),[32] then a job outlook, 2019-29 of -9% (Decline),[33] then a 10% decline for 2021-2031[33] and now an 11% decline for 2022-2032[33] for those who program computers (i.e. embedded systems) who are not computer application developers.[34][35] Furthermore, women in software fields has been declining over the years even faster than other engineering fields.[36]

Specialty areas

There are many specialty areas in the field of computer engineering.

Processor design

Script error: No such module "Labelled list hatnote".

Processor design process involves choosing an instruction set and a certain execution paradigm (e.g. VLIW or RISC) and results in a microarchitecture, which might be described in e.g. VHDL or Verilog. CPU design is divided into design of the following components: datapaths (such as ALUs and pipelines), control unit: logic which controls the datapaths, memory components such as register files, caches, clock circuitry such as clock drivers, PLLs, clock distribution networks, pad transceiver circuitry, logic gate cell library which is used to implement the logic.

Coding, cryptography, and information protection

Script error: No such module "Labelled list hatnote".

File:Source code in C.png
Source code written in the C programming language

Computer engineers work in coding, applied cryptography, and information protection to develop new methods for protecting various information, such as digital images and music, fragmentation, copyright infringement and other forms of tampering by, for example, digital watermarking.[37]

Communications and wireless networks

Script error: No such module "Labelled list hatnote".

Those focusing on communications and wireless networks, work advancements in telecommunications 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.[37]

Compilers and operating systems

Script error: No such module "Labelled list hatnote".

File:Windows10abstract.png
Windows 10, an example of an operating system

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 include post-link-time code transformation algorithm development and new operating system development.[37]

Computer networks, mobile computing, and distributed systems

Script error: No such module "Labelled list hatnote".

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.[37]

Computer systems: architecture, parallel processing, and dependability

Script error: No such module "Labelled list hatnote".

File:Intel 80486DX2 bottom.jpg
An example of a computer CPU

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 multithreading and parallel processing are included in this field. Other examples of work in this field include the development of new theories, algorithms, and other tools that add performance to computer systems.[37]

Computer architecture includes CPU design, cache hierarchy layout, memory organization, and load balancing.

Computer vision and robotics

Script error: No such module "Labelled list hatnote".

File:Humanoid Robot (1) ITB 2017.JPG
An example of a humanoid robot

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.[37]

Embedded systems

Script error: No such module "Labelled list hatnote".

File:Oxygen devices.svg
Examples of devices that use 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, ongoing 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."[37] As of 2018Script error: No such module "Check for unknown parameters"., computer embedded systems specializations include system-on-chip design, the architecture of edge computing and the Internet of things.

Integrated circuits, VLSI design, testing and CAD

Script error: No such module "Labelled list hatnote".

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 integrated (VLSI) circuits and microsystems. An example of this specialty is work done on reducing the power consumption of VLSI algorithms and architecture.[37]

Signal, image and speech processing

Script error: No such module "Labelled list hatnote".

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.[37]

Quantum computing

Script error: No such module "Labelled list hatnote".

This area integrates the quantum behaviour of small particles such as superposition, interference and entanglement, with classical computers to solve complex problems and formulate algorithms much more efficiently. Individuals focus on fields like Quantum cryptography, physical simulations and quantum algorithms.

See also

Script error: No such module "Portal".

Related fields

Script error: No such module "Template wrapper".Script error: No such module "Check for unknown parameters".

Associations

Notes and references

Notes

Template:Notelist

References

<templatestyles src="Reflist/styles.css" />

  1. Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1". "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 airbags. 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.
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".
  7. <templatestyles src="Citation/styles.css"/>Template:Citation/make link, Lincoln, Derick & Frosch, Carl J., "Oxidation of semiconductive surfaces for controlled diffusion", issued Script error: No such module "auto date formatter". Script error: No such module "Check for unknown parameters".
  8. Script error: No such module "Citation/CS1".
  9. Script error: No such module "citation/CS1".
  10. Script error: No such module "citation/CS1".
  11. <templatestyles src="Citation/styles.css"/>Template:Citation/make link Script error: No such module "Check for unknown parameters". Hoerni, J. A.: "Method of Manufacturing Semiconductor Devices” filed May 1, 1959
  12. Script error: No such module "citation/CS1".
  13. Script error: No such module "citation/CS1".
  14. Script error: No such module "citation/CS1".
  15. Script error: No such module "citation/CS1".
  16. Script error: No such module "citation/CS1".
  17. Script error: No such module "citation/CS1".
  18. a b Script error: No such module "citation/CS1".
  19. Script error: No such module "citation/CS1".
  20. Script error: No such module "citation/CS1".
  21. Script error: No such module "citation/CS1".
  22. Script error: No such module "citation/CS1".
  23. Script error: No such module "citation/CS1".
  24. Script error: No such module "citation/CS1".
  25. a b Script error: No such module "citation/CS1".
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. a b Script error: No such module "citation/CS1".
  29. Script error: No such module "citation/CS1".
  30. Script error: No such module "citation/CS1".
  31. Script error: No such module "citation/CS1".
  32. a b Script error: No such module "citation/CS1".
  33. a b c Script error: No such module "citation/CS1".
  34. Script error: No such module "citation/CS1".
  35. Script error: No such module "citation/CS1".
  36. Script error: No such module "citation/CS1".
  37. a b c d e f g h i Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

Template:Engineering fields Script error: No such module "Navbox". Script error: No such module "Authority control".