当程序员要学计算机科学与技术还是软件工程
顾名思义,“计算机科学与技术”既有科学又有技术。私以为计算机科学偏学术性质,软件工程偏应用性质。如上所言,后期读研读博的话计算机科学都是一个不错的学科。软件工程的话偏向于应用,基础理论也会学,它会让你从软件的角度对编程有一个新的认识。综上,两个学科各有所长,在下作为一名普通高校的软件工程专业学生,还是蛮喜欢软件工程的(除了软件平均1万/年的学费·····全国都这价,官方回复是:“就因为它叫软件工程,所以就这价”)。本科读软件,研究生读计算机科学觉得也挺不错的,导师建议我有机会的话研究生读下计算机科学,软件工程毕竟是后妈生的(国内最早有的是计算机科学·····逃·····)----------------------------------------------------------------------------------------------------------------------------------------正题回复:私以为楼主想进BAT的话,不必纠结于此,只要在日后好好努力,提升能力即可。毕竟程序员是个看能力的职业
■网友
总的来说计算机科学偏“理论”,软件工程偏“实践”。但如果希望去大公司当程序员,根据部门和岗位,不管是计算机科学还是软件工程,都是有需求的。
互联网等计算机技术为我们的生活提供了许多便利,这也使得该领域的人才变得愈发稀缺,薪资和待遇水涨船高,这也使得越来越多的学生希望学习计算机相关的专业。
然而很多同学或许在选择专业的时候会有困惑,计算机科学(Computer Science)和软件工程(Software Engineering)看起来都与计算机相关,但到底有什么不同呢?
计算机科学
计算机科学领域最先关注的是科学理论。该专业的学生需要对数学和信息科学的理论基础有深入的了解,可以研究复杂的算法并推进科学研究。他们通过明确的定义概念、严谨的分析和实验,进而总结和证明研究成果。
计算机科学非常注重研究离散数学、算法、数据结构、数据库理论、编程语言、编译器设计、计算机体系结构等内容,理论程度很高,所以如果需要将理论与现实问题结合起来则需要付出更多的努力。
计算机领域的大卫·布登(David Budden)曾说:“计算机科学是从数学理论和计算理论中寻找解决复杂问题的方法。软件工程则专注于设计并开发出美观且好用的软件。”
资深数据架构师与顾问查克·康奈尔(Chuck Connell)曾在他的文章《软件工程≠计算机科学》中提到一个比喻:想象有一位杰出的结构工程师,他在建筑材料、负重分布、地震强度分析等方面都是世界级的专家。每一位建筑师都希望请到这位结构工程师为其建筑提供建议,但这位结构工程师却不一定善于设计出宜居的建筑。结构工程很有用,但对于宜居且美观的建筑设计来说还不够,构建出色的建筑需要包括创造力、美感、多学科思维等能力。
结构工程师更像计算机科学家,而建筑师更像软件工程师。
未来发展计算机科学学位几乎可以让你在任何领域就职,无论是进入互联网公司还是医疗保健领域或是政府部门,担任的岗位可以是研究员、网络架构师、系统分析师、数据科学家等。
再细分的领域可以是计算机图形学、复杂理论计算、系统安全、程序语言开发、人工智能等领域。
软件工程
或许大多数人对于计算机相关专业领域的理解更接近软件工程。软件工程,即在高度变化的市场和现实环境中开发出最易于使用的软件,进而解决现实中遇到的复杂问题。
软件工程通常被认为是比计算机科学更少理论更多实践的专业。虽然仍需要学习一定的数学知识,但在软件工程项目里,你将花更多的时间来练习编程这样的实务技巧,以便未来使用技术解决现实问题。
推荐阅读
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 怎样成为一名合格的Python程序员?
- |第七届淮海科学技术奖获奖名单揭晓121个创新项目、10名科技人才获奖
- 送程序员男友苹果无线耳机还是专业品牌耳机
- 女程序媛怎样追求男程序员
- 阿里程序员网上招人的情况为何如此多见
- 婴儿|美国儿科学会: 1岁以下婴儿不推荐学习游泳
- 大部分黑客或安全研究员读的是啥「大学专业 」
