作为计算机类专业下的NO.1和NO.2,计算机科学与技术和软件工程的招生人数都达到了10万+,开设院校也都很多。这让考生和家长颇为困惑:“这两个专业都是培养程序员的吧?有什么区别吗?选哪个更好?”事实上,这两个专业在本科阶段的学习可以说是大同小异,差别主要体现在如下三个方面。
学习侧重
一句话总结:计算机科学与技术更全面,软硬件都涉及;软件工程几乎不涉及硬件部分,更重视实践教学与项目实训;总体来说,本科阶段的学习重合度很高,差别不大。
一般人会认为,无论计算机科学与技术还是软件工程,都是学习怎么编程的。这种理解不能算错,但编程并不能涵盖这两个专业的全部。如果学习计算机语言只为了编程的话,直接上各种培训班可能效率更高。换句话说,假如大学课程以教授各种计算机语言为主,那这样的教学质量也值得怀疑。大学系统化的学习,应该是让你知道怎么编程,更知道为什么这样编程。只有深刻的理解,才能走得更稳更长远。
以下整理的浙江大学这两个专业的课程介绍,可以帮助大家大致认识这两个专业应该有的学习内容,同时也能帮助大家理解它们之间的区别——计算机科学与技术的核心课程介绍强调了其全面性,而软件工程则重点突出了其校企合作课程和实践课程。
需要说明的是,这两个专业的英语学习都很重要,毕竟在网络世界中,英语随处可见,很多资料都是英文版的。
就业方向
一句话总结:计算机科学与技术就业面更广;软件工程就业针对性更强。
计算机科学与技术专业应用性强、交叉面多,覆盖社会各行各业,因此毕业生就业面非常广。具体来说,除了读研深造,这个专业的毕业生大体有以下几类就业方向。
1. IT类企业、互联网企业是最主要的就业去向。这些企业岗位多,待遇是出了名的好,而且在这里程序员是核心业务岗,受重视程度高,发展前景不错。但这类岗位多集中在北上广深及各主要省会城市,不仅生活成本比较高,而且工作强度较大。
2. 进入对IT技术依赖度很高的金融、电信服务商、通信设备制造企业等行业,从事软件的开发、测试、维护等相关工作。在这些行业里,程序员也比较受重视,但待遇受行业影响比较大,多半比不上互联网大厂。
3.在政府部门及其他各类非IT类企事业单位中,从事软硬件的配备、网络安全、系统维护、网站开发等工作。这类用人单位相对来说工作强度没那么大,但薪金待遇差距比较大,而且网络部一般是辅助部门,因此个人的上升空间较小。
4. 到普通中小学、中职等学校负责网络安全与系统,同时担任学校计算机课程的教学工作。这类岗位收入虽不高,胜在压力不大,还有寒暑假。
相比之下,软件工程专业的就业面会窄一些,但在需求量最大的就业方向,也是我们常说的程序员工作都能胜任,而且因为实践性更强,实习机会更多,针对性更强,所以毕业生的对口就业优势更明显。
学费高低
一句话总结:在相当多的院校,软件工程的学费要远高于计算机科学与技术。
图1 《北京交通大学2023年招生章程》第二十六条内容
软件工程专业学费比较贵的原因,在于其培养成本更高,需要更多的实践教学与项目实训,如校外导师授课、校外企业实习、校外企业联合培养等。当然,也不是所有学校的软件工程专业的学费都贵,具体要看高校当年的招生章程。
选报建议
第一,如果不知道选哪个更合适,就选计算机科学与技术。它的就业优势极其突出,可谓“进可攻大厂高薪,退可守体制安稳”。此外,它的招生院校数量和招生人数最多,不同分数段的考生都有机会。它还是计算机类中最核心、最基础的专业,只要学好它,再往大类里的其他任意方向深造,会走得更远更扎实。
如果明确想当程序员,喜欢实践而不是理论,对学费也能接受,那么就选软件工程。这样选择,就业针对性更强。
第二,专业虽好,但不要盲目选。绝对不要仅仅因为就业好而选择;喜欢玩电脑也不意味着适合选择。逻辑思维、逻辑推理能力弱,坐不住、不喜欢长时间对着电脑工作,自学能力不强、不能主动不断更新知识结构的同学,均不建议报考。
第三,选校也要注意。一是学科实力,同等分数段内,建议选择学科排名靠前、开设历史较长、师资配备较好的综合性或理工类院校。二是培养特色,有的高校计算机科学与技术专业侧重于软件,有的侧重于硬件,有的侧重于计算机网络,有的侧重于信息安全方面。软件工程专业则要具体了解学校能够提供的实习条件和实践机会,以及校企合作情况。