随着2022普通高等学校招生全国统一考试的结束,一大批学子即将踏入高等院校的大门。在这之前,还有件让许多学生家长头疼的事情,那就是志愿填报
作为计算机专业的大四应届毕业生和某大厂的准入职程序员,我希望通过自己对专业和行业的认知,给出各位学生家长在计算机领域相对客观的专业填报建议,力求屏蔽过多专业术语,做到浅显易懂
清华的计算机学院设有「计算机科学与技术」、「软件工程」、「网络空间安全」三个一级学科,这里再添加两个近几年很多学校都新设的「人工智能」、「大数据专业」
这五个专业,应该能囊括大多数学校的计算机专业分支,就算有不一样的,大概率也是这几个分支之一的变种
希望这个回答能对各位学生家长起到一定的科普作用,让各位在选择计算机专业分支的时候,不会那么迷茫
这里要事先说明,所有的填报建议只适合本科阶段专业填报,硕士的专业选择不在本次的讨论范围之内
— 1 —
计算机科学与技术
计算机科学与技术,俗称 CS,可以理解为计算机通识教育
相较于软件工程,其教学会更侧重于计算机的基础学科教育和硬件,其重点课程有算法、汇编、计算机组成、操作系统、计算机网络、模拟电路等
大部分情况下,对偏向应用的学科会较为轻视,比如web开发,小程序开发,后台开发等,值得一提的是,这部分内容是找工作时企业比较看重的一部分
考研涉及的408专业课中,数据结构与算法、操作系统、计算机组成、计算机网络都是CS重点教授的科目,CS的同学在考研时,因为基础更加牢固,所以相较于其他专业,其优势会更大一些
同时,在芯片设计这一专业仅小规模开设的前提下,如果目标院校没有开设相关专业,未来又希望从事芯片制造和硬件相关工作,为我国的芯片制造领域贡献出自己一片力量的同学,计算机科学与技术也应是你的首选专业
所以未来立志要进行计算机理论研究、希望从事芯片制造相关工作、或者希望在硕士深造期间再细分专业的同学,推荐报考计算机科学与技术
计算机科学与技术专业关键词
— 2 —
软件工程
相较于 CS,软件工程更偏向对软件的应用
虽然也会和 CS 一样,教授计算机基础知识,但通常不会有 CS 那么深入。以南京师范大学(211)为例,软件工程专业相较计算机科学与技术专业,就缺少了模拟电路、大学物理、芯片设计这些偏硬件和基础的学科
相对的,软件工程专业的课程会更偏向应用软件的开发,再以南京师范大学(211)为例,相较于CS,软件工程专业就多出了高级软件工程、UML、人机交互这些在软件开发领域才会有的内容
软件工程的细分知识在大多数学校和408考试中都不会出现,且这部分内容大都是在大学中后期开展,与考研复习时间冲突,于是有些备战考研的同学会认为这些科目影响了自己的复习。未来有考研意向的同学在 CS 和 软工 之间举棋不定时,要考虑到这个情况
研究生招生考试包含数学、英语、政治、专业课四门,其中数学、英语、政治的考试内容,是全国统一的,而专业课是根据学生报考科目和学校政策而定的
有的学校专业课会选择自命题,有的学校专业课会选择全国统一考试科目,而对于计算机专业的学生,考研专业课的全国统一科目编号就是408,其囊括计算机网络、操作系统、数据结构、计算机组成四门课
相较于学校自命题,408的综合考试难度要大一些,复习的内容也要多一些。随着高校对「严进严出」的政策不断深化执行,越来越多的高校开始在计算机研究生招生考试中启用408
提到软件工程,很多学校还会多出一个 「嵌入式培养」 的分支。「嵌入式培养」的本意是让高校教育与社会需求接轨,但是上级没有给出具体的实现方案,所以不同学校对这个 「嵌入式培养」 的理解不一样,但是大致实现有以下几种:
- • 校企联合,举办实习活动:这是比较好的学校采用的做法,比如华东师范大学(985),在学生大三期间,会与微软合作,让学生进入微软实习,并在专人带领下,协作完成一个商业化项目
- • 专家、行业大咖入场,给学生进行讲学:这也属于比较好的学校会采取的做法,可以让学生提前了解当前行业内的新兴技术和企业的招聘标准
- • 校企联合培训:这部分院校选择花钱聘请校外的培训机构讲学。遇到这样的学校,只能说是抽中了下下签
值得一提的是,标有「嵌入式培养」的专业,其学费是其他专业的2-3倍。但是大部分情况下,这部分多出的钱并不能与学生获得的收获成正比
以之前提到的华东师范大学(985)为例,虽然是与微软合作展开联合办学,但是多数学生培训下来后的反馈都是"太难","讲的太快","看不懂",并且最终的项目也因为质量问题无法实装,企业的损失也只能通过学生的学费埋单
再以另一所师范大学(211)为例,他们的嵌入式培养实现方案是聘请业内臭名昭著的培训机构——达内,在周末或者寒暑假来为学生进行讲学。培训结果不用说,全是差评,没有好评
也许是遭到太多学生家长投诉,部分院校近年也取消了「嵌入式培养」机制
嵌入培养不划算
说回软工本身,许多学校的软件工程专业,相较于 CS,会更关照学生的就业,所以如果未来没有升学打算,想本科毕业就进互联网大厂工作的同学,可以考虑报考软件工程
一般情况下,同一所学校的软件工程专业会比计算机科学与技术分数低一些,所以如果高考分数报考理想院校的 CS 要差一点,那我强烈建议将该院校的软件工程专业作为第二顺位
— 3 —
网络空间安全/网络安全/信息工程
上面三个说法都是同一个意思
也许有同学对网络安全的概念比较模糊,这里我稍微做个科普。最近几年,我们常能听到"xx公司的数据库被攻破,造成用户密码泄露","xx国的基础设施网络遭黑客攻击,国家电网陷入瘫痪","xx公司服务器遭wannaCry病毒勒索,需要支付比特币才能解锁"这类新闻。而防止这类事件发生,就是网络安全工程师所要做的工作。
wannaCry病毒,让许多企业蒙受了巨大的损失
结合上面的科普,我对网络安全工程师的技能需求做个总结:
- • 熟悉行业内传统漏洞,并熟练掌握其解决方案
- • 要对计算机基础知识了如指掌(计算机网络,计算机组成,操作系统)
- • 要有极强的抗压能力(企业应用出现安全问题,第一个拿你是问)
- • 要有持续学习的习惯和自驱力
- • 除了掌握计算机相关知识外,还要有良好的社会工程素养(说白了就是知道怎么防骗和骗人,这是我的网络安全的老师的原话)
- • 要耐得住寂寞和忍得了持续的失败
我本人虽从事后端开发,但我的同学硕士报考的是网络安全相关专业,根据他的描述,大企业一般不开放网络安全相关岗位的校招,进入渠道主要有以下两种:
- • 与985高校合作,每年从这些学校吸收部分优秀应届生(注意,是部分)
- • 社会招聘,招聘技术丰富的网络安全工程师
网安行业有一句老话, "没有完备的系统,我们只有不断修修补补" ,这从侧面说明了网络安全工程师往往不缺活,结合其较高的准入门槛和较少的从业人数,近几年盛行的 "程序员35岁红线",可以说对网络安全工程师是完全不适用的,随着经验的增加,网络安全工程师往往是越老越吃香。
总结下来,网络安全「很挑人」,适合「极客」、学霸、自驱力强喜欢挑战自我的同学。
同样的,除了C9和部分985高校,希望从事网络安全工作的同学还必须有硕士学历的加持,急着毕业出来赚钱的同学在报名前要好好掂量掂量
— 4 —
大数据专业/xx数据学院/数据科学与大数据
很多人都听过大数据,但是不一定了解大数据是什么,我再来做个简单的科普
想想为什么每次淘宝首页都能精准反应你的兴趣爱好,甚至你在其他app和设备上搜索的内容也会被淘宝精准捕捉?这便是大数据在背后作祟
每个人在互联网上留下的信息、进行的操作最后都会留下记录,将这些信息汇总起来,就能形成这个人完整的「人格肖像」,你个爱好、住址、交往过的对象、读过的学校、政治偏好、甚至一些奇怪的癖好,都会一览无余,可以说,除非你是与世隔绝的森林野人,不然所有人在大数据面前,都是「赤身裸体」
斯诺登所曝光的「棱镜计划」,就是美国政府对大数据最顶级,也是最邪恶的运用
感谢斯诺登同志为揭露美帝的邪恶计划做出的贡献
淘宝也是同理,它能收集你的搜索偏好,甚至抓取你在其他app上的搜索记录,从而生成你的「人格肖像」,进而能更加准确的向你推销商品
全中国有14亿人,每日的活跃网民就有8亿人,光淘宝一款APP,日活都在3-4亿左右
淘宝日活月活统计数据/单位万
科普这么多,相信大数据的重要性可见一斑,但是本科的大数据专业,我是极力不推荐去报的,理由如下:
- • 大数据作为新兴学科,很多院校都是跟风开设,或者没开几年,其培养方案还十分不完善
- • 因为大数据准入门槛较高,很多公司的招聘需求里都明确了「需要硕士学历及以上」所以本科生极难毕业就从事大数据相关工作
- • 相较于 CS 和 软工,大数据专业的学生考研优势不高
- • 随着最近几年国家对互联网行业的规范化管理,许多公司处于业务和缩减成本需要,都开始缩减大数据相关的工种,未来这条赛道只会越来越卷
如果对大数据方向很感兴趣,我的建议是本科阶段优先报考「计算机科学与技术」或者「软件工程」,研究生阶段再选择大数据分支
大数据专业是个坑
— 5 —
人工智能专业/人工智能学院
人工智能相信不用我科普,很多人都了解,什么 "AI阿尔法狗吊打围棋九段李世石", "谷歌研究员宣布AI已有人类思想", "AI人脸识别在张学友演唱会协助抓获众多嫌犯"的新闻,估计都灌满了各位的耳朵
现在各大平台也是充斥着"未来是AI的时代,所有的程序员都会失业","未来不会AI编程就是赛博文盲"的论调
然而,作为一个长期混迹于互联网,对机器学习,人工智能,后端开发技术都有涉猎的程序员,我要给出一个相对理性的看法,那就是 "AI确实是个十分便利的技术,但没有媒体吹得那么神乎其神"
现在的人工智能,真的可以说是「有多少人工,就有多少智能」
传统的人工智能实现方案是让 AI 大量学习一个事务,让其对该事物的共性进行提取,从而能够运用于相关的事件。阿尔法狗的训练,就是通过为其大量堆砌历代高手局的棋谱,从而让它对人类的落子产生合理反应
但是这个方式有一个弊端,那就是经过大量训练的AI,只能解决某个特定问题,比如阿尔法狗下围棋很厉害,但是让它下国际象棋,甚至是五子棋,那他就会立即歇菜
讲这么多,我其实是希望纠正一些同学神话「人工智能」的想法,不要铆足了劲往「人工智能」这面墙上撞
可能很多人了解艾伦.图灵是「人工智能之父」一说,认为人工智能这一科目是一门发展已久的学科,实际情况是,AI研究热一般是随着硬件和算法的升级,在短时间内迎来一波小的回升,然后又迅速降温,现代AI研究热和人工智能真正运用到现实生活中,是自15年阿尔法狗打败李世石时才开始的,很多院校也是近两年才开设人工智能学院
和大数据类似,对于人工智能专业,我是不推荐本科生选择的,理由如下:
- • 相较于「计算机科学与技术」和「软件工程」,人工智能专业对基础的培养相对轻视,很容易出现"高不成低不就"的情况
- • 作为新兴学科,很多院校也是近几年才开设「人工智能」专业或设立「人工智能学院」,培养方案还极度不完善
- • 人工智能相关行业准入门槛极高,通常是要985甚至C9院校+顶会paper的加持,在求职阶段才会相对有优势
如果真的对「人工智能」十分感兴趣,我反而建议本科阶段报「数学」相关专业。因为相对于传统软件行业的开发,人工智能的研究向来是「重算法、轻编程」,阿里、字节很多人工智能大神,其实都是数学专业出生
— 6 —
填报建议
就我个人来说,我建议在填报志愿之前,把眼光放得长远一些,让自己的专业选择做到利益最大化
本科生毕业后无非有下面几种出路:
- • 毕业直接工作
- • 考研或保研
- • 出国镀金
- • 灵活就业
如果是希望毕业直接工作,我建议的志愿顺位是: 软件工程>计算机科学与技术>网络安全
如果是希望考研或者出国,志愿顺位建议是: 计算机科学与技术>软件工程>网络安全
如果对大数据十分感兴趣,我建议本科阶段报考「计算机科学与技术」或「软件工程」,硕士阶段再从事大数据研究
如果对「人工智能」或者「算法」有一腔热爱,我建议本科阶段报考「数学」相关专业,硕士阶段再跨考人工智能,从事相关研究。如果真的对数学特别在行,甚至可以在硕士阶段继续进行数学的深造,毕业从事人工智能或是算法的研究,都会有很大的优势
如果发现某校计科院有一些奇怪的专业分支,比如"电商专业","物联网专业",那必须尽早远离,这些专业有很大的概率是坑
这里再放上计算机学科等级 A+到B+的所有院校的名单,供各位参考:
不同院校计算机排名
因为我国人口众多,教育资源相对有限,目前大部分高中的教育方式还是只能以应试为主,这就导致很大一部分学生进入大学后,对行业的认知不充分,正因如此,大部分学校本科阶段的计算机教育,还是只能以通识教育为主。所以,避开那些花里胡哨的专业分支,选择一所通识教育风评不错、学习氛围浓厚、管理相对宽松的高校,不失为一种不错的选择。给予学生充分的自由去探索和发现,有时候才是对工科生甚至是大部分学生最好的选择
最后的话
想到看到这篇文章的可能会有部分家长,我这里还有一些话想说。可能有些家长认为 "计算机就是个赚钱的行当,孩子怎么说都得学计算机" 。中国有句老话说得好: "师傅领进门,修行靠个人" ,计算机正是把这句老话贯彻得十分彻底的一门学科。行业发展日新月异,今天正火的一门技术,也许明天就会被新技术所取代。如果对计算机没有热爱,只是出于赚钱的目的挤破头往里闯,未来是很难在这个行业里立足的
所以希望父母在为孩子选择专业的时候,也要尽量听听孩子自己的想法,有时候,不一定是选的人最多的就是最优解,适合自己的,才是最好的。