计算机科学(computer science)和计算机工程(computer engineering)作为非常相近的两个专业,经常会有学生问起两者的区别是什么,总的来说,这两大专业的主要区别就是:计算机科学重点研究软件方面,而计算机工程更多地关注于硬件方面。
下面我们就来详细的分析下这两个专业:
一、从定义上看:
1.CS是研究机器自动计算本身的性质、规律和问题的一门科学。更注重理论研究(自动计算的性质、规律、运算等)。世界上第一个计算机科学系是由美国的普渡大学在1962年设立,第一个计算机学院于1980年在美国的东北大学设立。计算机科学领域的最高荣誉是ACM设立的图灵奖,被誉为是计算机科学的诺贝尔奖。
2.CE是研究计算机系统及其应用技术的一门科学。涉及电气工程和计算机科学领域,从设计的计算机处理器,个人电脑、服务器和超级计算机到使用计算机这个工具来解决一些应用上的问题,如程控机床、车辆监控、工业和家电监控系统等,更注重系统应用(计算机系统及其应用)。
二、从研究课题上看:
1.CS有些偏软,侧重以计算机技术为基础解决问题,编程一般是重中之重,三门数学(高等数学、线性代数、离散数学)是基础之重;
CS研究的课题大致是:
计算机程序能做什么和不能做什么(可计算性);
如何使程序更高效的执行特定任务(算法和复杂性理论);
程序如何存取不同类型的数据(数据结构和数据库);
程序如何显得更智能(人工智能);
人类如何与程序沟通(人机互动和人机界面)。
2.CE有些偏硬与网络、通讯更紧密些;
CE研究的课题大致是:
网络——关于分布式计算环境的设计和实施,从局域网到万维网;
多媒体计算——将文本,语音,音乐,静止图像,视频及其他来源的数据混合成一个连贯的数据流,并对其进行有效的管理、编解码和显示;
VLSI系统——研究微小型化电子设备(非常大规模集成电路)的工具菜单,属性和设计方法;
可靠的计算和先进的架构——探究如何将容错内置入硬件和软件,以及并行计算的方法,光计算和测试;
其他方向:显示工程,图像和语音处理,模式识别,机器人,传感器和计算机感知。
简单的说:CS主要注重理论研究,CE主要注重系统应用。
三、从就业方向上看:
1、CS就业方向偏软应用如开发、测试、培训、技术研究等;
按照小方向分:
1)软件编程方向:
最佳出路:微软、IBM、Intel
这个专业是培养coder的,而计算机专业的从业者大部分就是coder。因此学这个专业工作机会较多,但是起步阶段的收入居于中等。
2)计算机网络方向:
最佳出路:IBM、思科
中国国内这方面工作机会也多,中国移动按照用户数量是世界第一大运营商。Networking里面有方向设计及到网络安全方面,这个方向的工作主要是在大型政府、国防、电信、电力、金融、铁路等部门计算机网络系统--若在美国就业,因受公民身份等限制不少,回国形势还是不错的。
3)计算机科学技术方向:
最佳出路:IBM、苹果、联想等
计算机理论方向不好找工作。计算机科学与工程计算属于前沿新生的专业,就业形势不明朗。很多学习此类专业的同学就业的时候还是转向了传统的写代码相关的岗位。
4)人工智能与人机交互方向:
人工智能完全对口的工作是纯研发的性质,找起来有一些难度,不过退一步海阔天空,在各类电子设备商处都有大批学习此类专业可以涉足的工作。需要注意的是AI的某些部分在美国也一定程度上应用于国防。
人机交互与AI一样,如果找完全对口的工作有时候较难,但是凭借着扎实的计算机科学相关专业功底,可以在大量工作机会中寻找突破口。
2.CE就业方向则更容易到电信、通讯、航天等相关部门工作,同时网络工程相关单位的设计、维护、培训工作也会涉及。相关的职位有网页设计员、网站程序员、软件开发工程师、 机器人工程师、技术员、网络工程师、计算机系统分析师等。
从就业的角度来看,计算机科学专业毕业后的热门就业职位包括:
软件工程师
手机应用程序开发人员
UI / UX的设计师
计算机科学家
操作系统设计师
数据科学家
系统分析师
计算机工程专业毕业后的热门就业职位包括:
电气工程师
电子产品架构师
计算机硬件工程师
机械工程师
芯片架构师
移动设备工程师
质量控制工程师
明显可以看到,计算机工程专业作为电气工程的一个分支,其更多的还是偏工程方向,最终的就业也偏向于工程师。不过依旧会跟数据、计算机打交道,所以在数据、软件方面的就业也不会太差。