计算机科学是怎样的一门科学?
- 计算机算科学吗?如果算,那它研究的是哪些方面的科学?
- 学计算机专业是不是只能做没有含金量的码农,35岁之后就会面临淘汰?
- 计算机专业是否需要学硬件?它与电子工程、硬件设备到底什么关系?
- 计算机专业是否需要学数学?需要学到什么深度?计算机与数学是什么关系?
其实,计算机是一门兼具“科学”、“数学”、“技术”、“工程”与“方法”的庞大学科,它包含至少42种专业领域(来自ACM),如云计算、图形图像、网络、操作系统、编程语言等等。

计算机的科学不仅体现在它本身就是科学,它研究的是程序分析、体系结构、人工智能、数据科学、算法等等,比如“华为天才计划”不少人研究的就是体系结构、人工智能方向;计算机还是自然科学的研究方法,比如计算物理、计算化学、生物信息学。
要知道,计算机领域的图灵奖,是仅次于诺贝尔奖、突破奖、沃尔夫奖、菲尔兹奖的顶级奖项,所以那些说“计算机不是科学”的童鞋对计算机的理解还停留码农这个刻板印象上。
计算机也是数学,比如计算机科学史里的图灵、冯诺依曼、哥德尔、丘奇等也是载入数学史的风云人物。而与计算机相关的计算复杂性、数值分析也是数学的两大分支。
按ACM和IEEE的说法,与计算机相关的大学本科专业应该分为:
- 1、IS,Information Systems 信息系统;
- 2、CS,Computer Science 计算机科学与技术;
- 3、SE,Software Engineering 软件工程;
- 4、CE,Computer Engineering 计算机工程;
- 5、IT,Information Technology 信息技术;
- 6、CSEC,Cyber-security 网络安全;
- 7、DS,Data Science 数据科学。

虽说是有7大专业方向,但是专业与专业之间的课程有重复,也有不同的侧重,课程的内容大致可以分为6个大类,34个子类。

我们通常所说的计算机专业,指的是计算机科学与技术,它的侧重点应该在AI、分布式系统、图形学与可视化、操作系统、数据结构与算法、编程语言、程序设计、计算机系统、体系结构与计算机组成,而不需要学电子、物理等方面课程也就是EE要与CS分离,单独应该设立一个CE专业。