计算机工程是工程的一个分支,它整合了开发计算机硬件和软件所需的计算机科学和电子工程的几个领域。[1] 计算机工程师涉及计算的许多硬件和软件方面,从单个微控制器、微处理器、个人计算机和超级计算机的设计到电路设计。
涉及计算机工程师的通常任务包括为嵌入式微控制器编写软件和固件、设计超大规模集成电路芯片、设计模拟传感器、设计混合信号电路板以及设计操作系统。计算机工程师也适合机器人研究,机器人研究在很大程度上依赖于使用数字系统来控制和监控电机、通信和传感器等电气系统。
在许多高等院校,计算机工程专业的学生可以在大三和大四选择深入学习的领域,因为计算机设计和应用中所使用的全部知识都超出了本科学位的范围。其他机构可能会要求工程专业的学生在将计算机工程作为他们的主要重点之前完成一两年的通用工程。[2][3][4][5]
计算机工程始于1939年,当时John Vincent Atanasoff和Clifford Berry开始通过物理、数学和电子工程开发世界上第一台电子数字计算机。John Vincent Atanasoff曾是爱荷华州立大学的物理和数学老师,Clifford Berry曾毕业于电气工程和物理专业。他们一起创造了Atanasoff-Berry计算机,也称为ABC,用了5年时间才完成。[6] 最初的ABC在20世纪40年代被拆除和丢弃,但是为了对已故发明家的致敬,ABC的复制品在1997年制作,一个由研究人员和工程师组成的团队花了四年时间和35万美元才建成。[7]
美国第一个计算机工程学位项目于1971年在俄亥俄州克利夫兰凯斯西储大学创立。[8] 截至2015年,美国有250个ABET认证的计算机工程项目[9] 在欧洲,计算机工程学校的认证是由EQANIE网络的各种机构进行的。由于对能够同时设计硬件、软件、固件和管理工业中使用的所有形式的计算机系统的工程师的工作要求越来越高,世界各地的一些高等院校提供通常称为计算机工程的学士学位。 计算机工程和电子工程课程都包括模拟和数字电路设计。和大多数工程学科一样,对计算机工程师来说,他们必须拥有扎实的数学和科学知识。
计算机工程在一些大学被称为计算机科学和工程。大多数初级计算机工程工作至少需要计算机工程(或计算机科学和工程)学士学位。典型地,一个人必须学习一系列数学,如微积分、代数、三角学和一些计算机科学课程。因为这两个领域很相似,有时电子工程学位是可以接受的。因为硬件工程师通常与计算机软件系统一起工作,有很强的计算机编程背景是必要的。根据BLS的说法,“计算机工程专业类似于电气工程,但课程中增加了一些计算机科学课程”。 一些大公司或专业工作需要硕士学位。
对于计算机工程师来说,跟上技术的快速发展也很重要。因此,许多人会在职业生涯中不断学习。这可能会有所帮助,尤其是在学习新技能或改进现有技能时。例如,随着修复bug的相对成本在软件开发周期中不断增加,在这个过程中,特别是在发布之前,尽快开发和测试质量代码可以节省更多的成本。[10]
计算机工程有两个主要的专业:硬件和软件。
根据BLS的计算机硬件工程师的就业前景,计算机硬件工程师从2014年到2024年的预期十年增长率估计为3%,同年共有77,700个工作岗位。(“与其他职业相比,用他们自己的话说,比平均水平慢”)[11] 从2012年到2022年BLS估计的7%下降[11]甚至BLS 估计2010年到2020年的进一步下降。“今天,计算机硬件在某种程度上等同于电子和计算机工程(ECE),并分成许多子类,其中最重要的是嵌入式系统设计。[12]
据美国劳工统计局(BLS)称,“计算机应用软件工程师和计算机系统软件工程师预计将是增长速度高于平均水平的职业之一”。截至2014年,计算机软件工程的预期十年增长率估计为17%,同年共有1,114,000个工作岗位。[12] 这低于2012年至2022年BLS对软件开发商22%的估计。[13][12] 此外,BLS从2010年到2020的估计进一步下降30%。[14] 此外,对网络安全日益增长的担忧使得计算机软件工程高于所有领域的平均增长率。然而,有些工作将外包到国外。所以就业增长将不会像过去十年那样快,因为原本会流向美国计算机软件工程师的工作将会流向印度等国的计算机软件工程师。[15] 此外,对于非计算机应用程序开发人员的计算机编程人员(即嵌入式系统)[16][17],2014-2024年BLS计算机程序员工作展望的失业率为8%(用他们的话说时下降了)[15] 。
计算机工程领域有许多专业领域。
计算机工程师致力于编码、加密和信息保护,以开发新的方法来保护各种信息,如数字图像和音乐、碎片、版权侵犯和其他形式的篡改。例子包括在无线通信、多天线系统、光传输和数字水印方面的工作。[18]
通信和无线网络专注于通信和无线网络、电信系统和网络(尤其是无线网络)的工作进展、调制和差错控制编码以及信息论。高速网络设计、干扰抑制和调制、容错系统的设计和分析以及存储和传输方案都是该专业的一部分。[18]
该专业侧重于编译器和操作系统的设计和开发。该领域的工程师开发新的操作系统架构、程序分析技术和新技术来保证质量。该领域的工作实例包括后链接时间代码转换算法开发和新操作系统开发。[18]
计算科学与工程是一门相对较新的学科。斯隆职业基石中心(Sloan Career Cornerstone Center)称,在这一领域工作的个人,“计算方法被应用于工程、物理和社会科学中复杂的数学问题的表述和解决。例子包括飞机设计、半导体晶片上纳米特征的等离子体处理、超大规模集成电路设计、雷达探测系统、通过生物通道的离子传输等等”。[18]
在这个专业中,工程师为计算、通信和信息访问构建集成环境。例子包括共享信道无线网络、各种系统中的自适应资源管理以及在移动和自动柜员机环境中提高服务质量。其他一些例子包括在无线网络系统和快速以太网集群有线系统上的工作。[18]
在计算机系统中工作的工程师从事研究项目,这些项目要求可靠、安全和高性能的计算机系统。该领域包括设计多线程和并行处理处理器等项目。这一领域的其他工作包括开发新的理论、算法和其他工具,以提高计算机系统的性能。
计算机体系结构包括中央处理器设计、高速缓存层次布局、内存组织和负载平衡。
在这个专业中,计算机工程师专注于开发视觉传感技术来感知环境、表示环境和操纵环境。然后,收集的三维信息被用来执行各种任务。其中包括改进的人体建模、图像通信和人机界面,以及具有多功能视觉传感器的专用相机等设备。[18]
在这一领域工作的个人设计技术来提高系统的速度、可靠性和性能。嵌入式系统存在于从小型调频收音机到航天飞机的许多设备中。斯隆基石职业中心称,嵌入式系统的持续发展包括“用于搜索和救援的自动化车辆和设备、自动化运输系统以及用于维修太空设备的人机协调”[18] 截至2018年,计算机嵌入式计算机工程专业包括系统芯片设计、边缘计算架构和物联网。
这种计算机工程专业需要足够的电子和电气系统知识。该领域的工程师致力于提高下一代超大规模集成电路和微系统的速度、可靠性和能效。这一专业的一个例子是降低超大规模集成电路算法和架构功耗的工作。[18]
该领域的计算机工程师在人机交互方面进行了改进,包括语音识别和合成,医学和科学成像或通信系统。 该领域的其他工作包括计算机视觉开发,例如识别人类面部特征[18]
^IEEE Computer Society; ACM (December 12, 2004). Computer Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering (PDF). p. iii. Retrieved December 17, 2012. Computer System engineering has traditionally been viewed as a combination of both electronic engineering (EE) and computer science (CS)..
^"Changing Majors @ Clemson". Clemson University. Retrieved September 20, 2011..
^"Declaring a College of Engineering Major". University of Arkansas. Retrieved September 20, 2011..
^"Degree Requirements". Carnegie Mellon University. Retrieved September 20, 2011..
^"Programas de Materias" (in Spanish). Universidad Católica Argentina.CS1 maint: Unrecognized language (link).
^"John Vincent Atanasoff - the father of the computer". www.columbia.edu. Retrieved 2017-12-05..
^"Iowa State replica of first electronic digital computer going to Computer History Museum - News Service - Iowa State University". www.news.iastate.edu (in 英语). Retrieved 2017-12-05..
^"History". engineering.case.edu. Case School of Engineering..
^"Find an ABET-Accredited Program | ABET". main.abet.org. Retrieved 2015-11-29..
^"Feabhas_Infographic_FINAL" (pdf). feabhas. Feabhas..
^"Computer Hardware Engineers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics..
^"Computer Hardware Engineers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 20, 2012..
^"Computer Software Engineer". Bureau of Labor Statistics. March 19, 2010. Archived from the original on July 26, 2013. Retrieved July 20, 2012..
^"Software Developers". Bureau of Labor Statistics. January 8, 2014. Retrieved July 21, 2012..
^"Computer Programmers: Occupational Outlook Handbook". U.S. Bureau of Labor Statistics..
^https://web.archive.org/web/20221025115948/https://www.bls.gov/opub/regional_reports/200908_silicon_valley_high_tech.htm.
^https://web.archive.org/web/20221025115948/https://www.designnews.com/design-hardware-software/soon-be-extinct-embedded-software-engineer/39152617858743?ADTRK=UBM&elq_mid=4305&elq_cid=37479.
^"Computer Engineering Overview" (PDF). Sloan Career Cornerstone Center. Retrieved July 20, 2012..
暂无