前几天我写了篇文章,关于计算机和软件工程的介绍,有朋友问我,能不能介绍一下计算机硬件方面的专业。
今天我就稍微来聊一聊。
计算机类学科下面一共有18个专业。从理论上来说,除了软件工程、数字媒体技术、数据科学与大数据技术、电影制作等专业,其他专业应该都有硬件部分。不过随着计算机专业和产业的重点越来越往软件方向发展,这些专业中的硬件部分也越来越少。
计算机科学与技术 80901
软件工程 80902
网络工程 80903
信息安全 80904K
物联网工程 80905
数字媒体技术 80906
智能科学与技术 80907T
空间信息与数字技术 80908T
电子与计算机工程 80909T
数据科学与大数据技术(2015) 80910T
网络空间安全(2015) 80911TK
新媒体技术(2016) 80912T
电影制作(2016) 80913T
保密技术(2017) 80914TK
服务科学与工程(2019) 80915T
虚拟现实技术(2019) 80916T
区块链工程(2019) 80917
密码科学与技术(2020) 80918TK
一般来说,现在计算机科学与技术、物联网工程、智能科学与技术、电子与计算机工程等这些专业中含的硬件比较多之外,其他各个专业中的硬件部分都很少了,或者说,越是应用型大学,对硬件的关注就越少了。
我主要着重介绍一下计算机科学与技术、物联网工程中的硬件部分。
计算机科学与技术
计算机科学与技术是计算机专业的一个根,一开始计算机相关理论和技术都包含在这个里面,后来各个分支发展了,才分叉出18个专业。其中软件工程和信息安全已经成为一级学科,跟计算机科学与技术分庭抗礼,但归根结底,都属于计算机科学与技术。
下面我以清华计算机系的方向来说计算机科学与技术这个专业,清华的计算机系号称是国内计算机专业最全的学科方向,包括:
高性能计算机与处理器、并行与分布式处理、存储系统、大数据与云计算、计算机网络、网络与信息系统安全、系统性能评价、理论计算机科学、数据工程及知识工程、软件工程、计算机与VLSI设计自动化、软件理论与系统、生物计算及量子计算、人工智能、智能控制及机器人、人机交互与普适计算、计算机图形学与可视化技术、CAD技术、计算机视觉、媒体信息处理等研究方向。
其中,高性能计算机与处理器、并行与分布式处理、存储系统、系统性能评价都属于计算机体系结构的范畴。这就是计算机的硬件部分,现在国内做得最多的就是超级计算机,像国防科大的天河系列、国家并行计算机工程技术研究中心研制的神威太湖之光系列等等。
计算机与VLSI设计自动化,这块跟硬件有关,就是用软件来模拟集成电路的设计、综合、测试、验证等功能,就是EDA软件,也是卡脖子的技术之一。这个方向很小众,不过小众并不意味着不重要。
人工智能、智能控制等等,这些是交叉学科,跟硬件也有关系。
计算机图形学,这就是做显卡的理论基础。现在最火爆的公司英伟达Nvidia就是以硬件起家,GPU技术的领袖。CAD跟计算机图形学比较接近。
生物计算及量子计算是新的体系结构,在目前阶段,肯定是以硬件为主。我们可以看看谷歌的量子计算机悬铃木和中科大的量子模拟计算机九章,都是硬件。
计算机网络也是又有硬件又有软件,里面有各种拓扑结构。
因此,看了这个大家就会知道,为什么我经常建议大家学计算机科学与技术,因为软硬都有,知识基础,以后好转向和扩展。
物联网工程
我曾经很多次批评物联网工程这个专业,觉得大而不当,让人摸不着头脑。
物联网是个很好的概念,Internet of things,万物相联。门禁、窗帘、电视机、电饭锅、汽车都是计算机,都能相联。
但专业的内容很空泛,因为涉及内容太多了,嵌入式系统、传感器、计算机、电子等等,很容易啥也没学,或者学的东西跟公司想要的人不一样。大学当年也是一哄而上上专业,现在的反馈是一般般。
物联网专业中有一个重要的方向,嵌入式系统。嵌入式系统其实就是小型计算机,跟计算机一样,包括软件、硬件。硬件的要求比软件要高不少,所以嵌入式系统专业的一般认为是硬件工程师。
电子工程专业、自动化专业、集成电路专业
看了我刚才的介绍,大家会不会很惊讶,难道大家都不搞硬件?那么多的计算机硬件厂商怎么活?不要着急,大量的计算机硬件工程师的来源不完全是计算机专业,更多的是来自电子工程专业、集成电路专业和自动化专业。
其实自动化专业有些偏,它属于万金油专业。去年湖北襄阳有个考生叫王宇航,他从清华自动化系退学,重新高考,分数又够了清华(我不知道他最后去没去)。别人问他,准备换什么专业。他说要换软件工程。其实自动化专业的软件也学了很多,但跟软件工程最大的区别就是硬件多了不少。
集成电路专业和电子工程专业最对口。熟悉我的人知道,我认为的好专业,在理工类方面,除了计算机,就是电子信息、集成电路。为什么把这两个放在计算机后面?第一,学习难度大,既有硬件也有软件,第二,一开始的收入比计算机的要低。
但这两个的好处是,硬件对经验要求很高,如果潜下心来好好做个几年,10年以上,就是一位资深的硬件工程师。硬件工程师不像软件工程师,35岁的危机感很强烈,某种意义上,硬件工程师有点越老越值钱的味道。大家可以看看芯片制造厂,大佬们都是老兵,不像互联网企业,一个比一个年轻,前浪太容易被拍死了。
硬件虽然没有软件那么炫目,但卡脖子的东西大部分在这里。