随着互联网产业的高速发展,随着各行业快速智能化号角的吹响,我们正大踏步迈入工业 4.0 时代,计算机作为一种普适的计算设备已经逐步融入了我们生活的每一个角落。无论是电脑、智能手机、Pad、智能手表、智能头戴设备还是各类挂上“智能”字样的家用电器,它们的本质其实都是计算机 + 一些外部显示、交互的界面。
今日我们的社会,已经和计算机密不可分,除了生活中无处不在的计算机,各个其它专业领域也越来越依赖于计算机——物理、化学、生物的模拟实验离不开计算机,数学的问题求解很多时候可以借助计算机,统计金融的模型计算也需要计算机,甚至在海外的很多高校“计算机+化学”、“计算机+人类学”、“计算机+数学”、“计算机+航空航天”已经成为了新的热门专业。
计算机专业是什么?
如果我们身边的亲戚、朋友的孩子表示希望学习计算机相关专业时,我们应该怎么给他们解释计算机专业呢?
计算机专业最早起源于欧美国家。在欧美地区,除了在一开始我们提到的近些年出现的“计算机+X”这种交叉专业外,计算机专业一般被分为“计算机科学(更偏向于理论和应用)”和“计算机工程(更偏向于结构和系统)”;在另一部分国家,这一专业被称为“信息工程专业”、“信息学”专业(注意其不同于国内的信息管理与信息系统专业)。在欧美国家,计算机相关专业在本科阶段更多的是在训练数理、工程构建等工程学科的基本能力,特别是在高年级阶段(第三、第四年),再扎实基础的前提下,欧美大学还会积极鼓励学生找到兴趣,自己选择喜爱的专业子方向的课程,进一步进行学习。
而相较于海外在本科阶段进行“基础+兴趣导向”的专业设置方式,国内的计算机专业的设置则更明确的展示了专业培养后输出工种的差异,对专业方向进行了固定划分,相关专业被划为了“计算机科学与技术”、“数字媒体技术”、“网络工程”、“嵌入式工程(物联网工程)”、“软件工程”、“信息安全(信息工程、网络空间安全)”等常见专业,以及“大数据”、“云计算”、“计算机仿真(虚拟现实)”等名称比较赶时髦的专业。国内的计算机相关专业的专业设置在第一年主要训练数学能力、程序表达能力,第二年到第三年主要为计算机方向基础课程,第四年的课程一般为国内研究生课程的导论课(但是大多数学校的实际情况是学生大四除了做毕业设计,就不在学校上课,而是找实习工作去了)。
计算机专业学什么、不学什么?
在开始说计算机专业学什么之前,我们先明确一下,计算机专业理论上是不应该教“Photoshop 等设计软件使用”、“Excel、Word 等办公软件使用”或“如何打游戏”的。
对于计算机专业学什么,我们可以从社会对于计算机专业同学的预期来看。为了满足企业对于计算机人才在工程上的要求,也达到进一步进入科研机构进行研究工作的基本水平,计算机专业的同学,在学完计算机专业的时候,应该要做到对计算机的体系结构、系统设计如数家珍;应该对利用计算机进行问题求解(算法能力,数据处理能力)达到可熟练应用的水平;应该对应用软件设计思想,合作流程、方法与工具有较为深刻的认识;应该对计算机相关法律法规、伦理道德有充分的了解。
相应的,计算机专业的本科同学会在以下几个方向开展相关课程的学习(课程名仅供参考,各学校因师资和侧重差异各有不同):
0.数理基础:
* 微积分
* 物理力学 / 电磁学 / 热学 / 量子力学
* 线性代数 / 抽象代数(近世代数)
* 博弈论
* 概率论 /随机过程 / 数理统计
* 复变函数 / 数理方程 / 微分方程
* 数值分析(科学计算)
1.计算机结构与组成:
* 数字电路与接口技术
* 计算机体系结构
* 计算机组成原理
* 并行计算
2.计算机系统:
* 操作系统
* 系统程序设计
* 嵌入式系统
* 实时系统
* 计算机网络
* 无线网络与无线通信
* 系统与网络安全
* 分布式系统
* 容错系统设计
3.计算机软件技术:
* 面向对象的程序设计
* 设计模式
* 现代软件工程
* 软件测试方法与理论
4.计算机理论:
* 离散结构
* 数据结构
* 计算理论(形式语言与自动机)
* 算法(随机算法、快速算法等)
* 编译原理与编译器设计
* 程序语言设计
* 密码学基础
5.计算机应用与学科交叉:
* 数据库
* 信息检索
* 数据挖掘
* 人工智能
* 机器学习
* 数字信号处理
* 数字图像处理
* 模式识别
* 机器视觉
* 计算摄影学
* 图形学
* 虚拟现实
* 生物信息学(计算生物学)
* 量子信息学
6.计算机与社会
* 计算机法律法规与伦理
* 用户界面设计与开发
* 人机交互理论与技术
* 社会计算
* 城市计算
是不是发现我们没有提到程序语言?对于计算机专业的同学们来说,程序语言的学习是必要但是也是最为不重要的部分。对于一个计算机专业的同学来说,在上大学前最好能做到就掌握 1~2 门程序设计语言(但是就现在国内的教育情况来看,这个过程可能需要放在大一完成);而在掌握 1~2 门程序设计语言的基础上,计算机专业的同学就应该要做到举一反三,找到各个编程语言的共性,在某一场景需要学习一门新的程序语言并且进行应用时,能做到 24 小时搞定一门新程序语言的基础运用的能力了。相比与程序语言的使用,上面提到的这些学习的内容中的思想与方法要重要很多。
如何学习计算机专业?
很多同学(特别是低年级刚入学的同学)学习计算机专业的时候,是在用一种背单词的方式。很多同学考前就努力的开始拿着书背概念、拿着笔记本背老师划的“重点”、拿着同学的作业背代码。这其实都是对于自己很不负责任的学习方式,试想毕业后的你如果去工作或者去做研究,还有什么考试可以考吗?只会背,不会自己写代码,而且还没有人给你划重点之后,你怎么开始你的工作?你做研究怎么可能有办法下手?
计算机专业与其他的工科专业一样,需要最多的是理解和实践,而不是记忆。在学习每一门课程的时候,我们都要问自己,“这门课程学习的知识来源于怎样的问题”、“学习了之后,我是否可以解决这些问题”、“我是否可以把这个知识运用到别的东西上,解决新的问题”。如果你弄明白这些知识的来源问题,并且可以试着用学的知识去重复一下前人解决问题的过程,你就已经基本学到了这个知识;而如果你可以进一步发现同样的知识可以被运用去解决其他的新问题,并且真的通过实践验证了这个知识的可拓展性,你就算是对这个知识真正学得深入骨髓了。
切记!切记!学工科一定得用脑子想,而不是记忆,计算机专业是其中的一个典型代表,用心学、努力想才会有好的结果。
学习计算机专业哪家强?
接下来,我们来一起看看按照家长们最喜欢参考的各种不同机构给出的计算机专业排名的情况如何呢? 据 2015 教育部学科评估给出的中国大陆地区最佳的 10 所计算机科学与技术专业院校及排名如下:
• 清华大学,1
• 国防科学技术大学,2
• 北京大学,3
• 北京航空航天大学,4
• 哈尔滨工业大学,4
• 上海交通大学,4
• 浙江大学,4
• 南京大学,8
• 中国科学技术大学,9
• 东北大学,10
• 华中科技大学,10
据 2016 广州日报数据和数字化研究院给出的中国大陆地区最佳的 10 所计算机科学与技术专业院校及排名如下:
• 清华大学,1
• 华中科技大学,2
• 浙江大学,3
• 上海交通大学,4
• 东南大学,5
• 北京大学,6
• 北京航空航天大学,7
• 哈尔滨工业大学,8
• 电子科技大学,9
• 中国科学技术大学,10
据 US.News 给出的全球最佳的 10 所计算机科学院校及排名如下:
• 麻省理工学院,1
• 斯坦福大学,2
• 哈佛大学,3
• 加州大学伯克利分校,4
• 清华大学,5
• 德克萨斯大学奥斯汀分校,6
• 南洋理工大学,7
• 普林斯顿大学,8
• 加州大学圣迭戈分校,9
• 新加坡国立大学,10
据 US.News 给出的中国最佳的 11 所计算机科学院校及排名如下:
• 清华大学,5
• 香港科技大学,13
• 香港城市大学,16
• 华中科技大学,21
• 上海交通大学,21
• 浙江大学,23
• 香港中文大学,32
• 东南大学,34
• 香港理工大学,35
• 国立台湾大学,35
• 香港大学,35
据 QS World University 的 2015 排名,全球最佳的 10 所计算机科学院校及排名如下:
• 麻省理工学院,1
• 斯坦福大学,2
• 牛津大学,3
• 卡内基梅隆大学,4
• 哈佛大学,4
• 加州大学伯克利分校,6
• 剑桥大学,7
• 香港科技大学,8
• 普林斯顿大学,9
• 苏黎世联邦理工学院,9
据 QS World University 的 2015 排名,中国最佳的 10 所计算机科学院校及排名如下:
• 香港科技大学,8
• 香港大学,12
• 香港中文大学,18
• 北京大学,36
• 清华大学,38
• 国立台湾大学,46
• 香港城市大学,51到100之间
• 复旦大学,51到100之间
• 国立清华大学,51到100之间
• 上海交通大学,51到100之间
考虑到排名大多数时候看得是科研、学校品牌和研究生质量,报考学校的时候需要更关注本科生的成长环境、学风情况。据 2016 年计蒜之道程序设计大赛数据(全世界范围内,数百所学校报名参与),在这我们也给提供一些参考信息,方便大家对学校对学生的培养侧重、培养质量和学风状况进行了解: 晋级复赛学生选手占报名比例最高的 15 所高校(以及晋级比例):
• 上海交通大学,44%
• 大连理工大学,39%
• 浙江工业大学,38%
• 北京航空航天大学,35%
• 杭州电子科技大学,34%
• 上海大学,33%
• 电子科技大学,33%
• 清华大学,33%
• 华南理工大学,31%
• 复旦大学,30%
• 中山大学,28%
• 哈尔滨工业大学,28%
• 浙江大学,26%
• 重庆大学,25.5%
• 广东工业大学,22%
注:报名参赛人数少于 20 人的学校未计入以上两项统计。
积极参加算法竞赛学生最多的 15 所高校(以及晋级比例):
• 西安电子科技大学,7.6%
• 电子科技大学,33%
• 中国科学院大学,5.5%
• 北京邮电大学,5.9%
• 浙江大学,26%
• 东北大学,9.3%
• 哈尔滨理工大学,3.4%
• 南京理工大学,14%
• 四川大学,7.8%
• 北京航空航天大学,35%
• 中山大学,28%
• 上海交通大学,44%
• 重庆大学,25.5%
• 南京邮电大学,21%
在初赛中,有晋级选手但完全没有学生被判作弊的高校:国立台湾大学、福州大学、香港中文大学、山东理工、大连理工大学、浙江工业大学、北京航空航天大学、杭州电子科技大学、上海大学、厦门大学、清华大学、华南理工大学、复旦大学、武汉理工大学、大连海事大学、重庆大学、福建师范大学、陕西师范大学、北京交通大学、浙江师范大学、东北师范大学、北京科技大学、华中科技大学、杭州师范大学、浙江财经大学、北京理工大学、西南交通大学、中国科学技术大学、西安交通大学、中国石油大学(华东)、西安电子科技大学
除了上面这些希望能对大家能有所帮助的信息外,小编还不得不提醒刚刚考完高考的同学们——我们国家的计算机相关专业在教育方面的发展水平还处于初级阶段,选择相关专业后,成就自己的人生依然不能靠学校和老师,核心还得靠自己。
现在的互联网上学习资源很多,上面那些排名世界顶尖的学校也在互联网上开设了大量计算机专业相关的课程。Coursera、计蒜客、Udacity 一类的平台上也有很多的计算机专业课程可以加速同学们的成长,帮助同学们在学校的第一课堂之外更好的学习好计算机专业,为自己的未来创造更多的可能性。 最后,小编在这里祝大家报专业一切顺利,能被自己心仪的大学录取。