计算机科学与技术专业和软件工程专业,选哪个?

芦方文


楼主,这个问题我太有发言权了,以我的亲身经历告诉你,计算机科学与技术好些。

首先,这两个专业,计算机科学与技术偏理科,软件工程偏工科。从理论上说,应该是前者重理论,后者重实践。但是实际上大部分学校几乎没什么差别,我2005年考入某985高校软件工程专业,当时想当然的认为软件工程比计算机科学与技术好,因为,计算机是一门重视实践的学科,而软件工程刚好就是实践型的专业。然而实际上却不是这样,我所在的软件工程专业与计算机专业几乎都是一起上课,大学四年两个专业就只有2-3门无关紧要的课不一样,其余都是一样的。只是毕业证上不一样而已。

其次,从就业上看,计算机科学与技术就业面更广,许多企业认为软件工程出来的就只会搞软件,而计算机科学与技术的啥都会,软件,硬件,网络样样都懂。大部分企业招聘公告上要求的专业都是:计算机相关专业。

还记得我当时刚刚毕业,报考了一家知名事业单位,招聘要求就是计算机相关专业,我以第二名的成绩顺利进入了面试,然而上天给我开了个玩笑,面试资格审查被拒,理由是:不是计算机相关专业。就因为专业不包含计算机三个字。

所以,建议楼主,慎重报考。


成才心路


作为一名IT行业的从业者,同时也在带计算机专业的研究生,所以我来回答一下这个问题。

首先,计算机科学与技术专业(计科)与软件工程专业都是比较传统的计算机专业,而且也是当下比较热门的专业,总体上来说这两个专业都是不错的选择。

计科比较注重基础知识,除了数学、物理等基础学科之外,还包括模电、数电、操作系统、计算机网络、数据结构、算法设计、编程语言、编译原理等内容。可以说计科能够比较全面的培养计算机基础研发人才,同时能为培养高端人才构建一个较为全面的知识结构,所以计科专业的毕业生通常在就业面上有比较广泛的选择,而且如果有读研计划的话,计科专业是不错的选择。按照历史经验来看,计科专业的研究生通常都具有较强的学习能力。

软件工程专业是近些年来一个比较热门的计算机专业,就业情况也比较不错。软件工程专业的特点是在兼顾基础学科教育的同时增加了大量的实践内容,不少软件工程专业会与科技公司进行紧密的合作,一些高校还会与科技公司成立联合实验室,这都为培养学生的动手实践能力提供了良好的平台,所以软件工程专业的毕业生往往具有较强的动手能力,这也是软件工程专业就业比较好的重要原因之一。

从近些年的毕业设计情况来看,软件工程专业非常注重新技术的教育,不少本科毕业生的毕业设计会涉及到机器学习、计算机视觉、云计算等方面的内容,所以如果想读完本科就参加工作的话,那么软件工程专业是不错的选择。当然,软件工程专业读研也完全可以,而且由于具备较强的动手实践能力,在复试环节会有一定的优势。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,或者考研方面的问题,都可以咨询我,谢谢!


IT人刘俊明


首先,中国大学阶段专业和学科没有纯粹的计算机科学这一说法,而是计算机科学与技术,因为本科阶段要是技术都不会不可能搞得好科学研究,同时你会发现计算机科学与技术的专硕学位叫计算机技术。而且,在国际上,软件工程属于计算机科学十八大知识领域之一,并不是并列关系,而是包含关系

如果你想从事纯粹科研,不就业,就发论文或者搞专利(搞专利也是要有技术的),而且不是软件工程方向的因为这方向科研路窄媒体也不会吹牛没法吸引眼球,本科阶段是什么方向没有意义(数学物理电子都可以),研究生阶段就不要犹豫,肯定要读计算机科学与技术(学术型),

如果你是要就业,而且是技术岗,你的第一份工作和你大学啥方向无关,就是写代码,那么考验的就是你大学阶段代码尤其是高质量代码写的多不多了(在计算机科学知识体系中,代码质量属于软件工程领域。实际开发中,大多数情况是为了代码质量系统可靠性愿意牺牲性能的),项目做过多少,项目是不是较大型的项目,开发阶段复杂度如何管理等等,都是你就业的软实力。所以和你的专业有啥关系呢?当然是要具体学校具体分析,这个学校的计算机科学与技术和软件工程专业哪个对学生动手要求更高。在实际企业中,你项目规模不到一定程度是无法体现软件工程优势的,这也是为什么软件工程最早来自军事领域,NASA做过大量软件工程的调查报告。另外,软件工程硕士(专业型)时间更短,要实习更容易转正,就业更容易(对于一般学生,非顶级)

如果是想从事非技术岗,软件工程你可以学到需求工程,工程项目管理等适合将来做产品经理和项目经理的课程(当然认不认真上是另一回事),而且你本身就经历过技术锤炼,能和开发团队更好的搞好关系,不用像非技术出身的,开发团队要“杀了”产品经理这种事就少发生。


根儿哥点评


这个问题可能是高三考大学的小朋友,或者是大四考研究生的中朋友问的问题。其实要鉴定一下,啥叫有发展前途。

1.就业质量高,叫有发展前途?我看到理论计算机科学的,大学教授,博士生导师,做什么算法研究,形式语义,图论~搞的东西怎么也常人不懂,拿着国务院特殊津贴,千百万人计划的,难道他她们比一个中小型互联网公司的小屌丝程序员,混的差?当然程序员混到技术总监,带个上百人,那也至少上百万年薪了,但是他她的工作可能与学生时代的软件工程与计算机科学又有多少联系呢?就业质量,其实与个人在市场中的定位有关,这个定位包括你在哪里,做哪个细分领域(是做理论研究,还是工程项目,还是产品运营,乃至产品开发),还有你在这个领域做的如何,认识多少同一细分领域同行。这些都决定你的就业质量。

2.可能你说的是发展宽度,我是做软件工程的,我觉得计算机科学包括软件工程,还有硬件,如存储,集成电路设计,芯片制造等。隔行如隔山,我也不太清楚芯片设计的机会是比软件工程多还是少。可能我一眼望过去,不是java,c,Python就是运维开发测试或者.net,但是我知道有人搞存储,芯片等,生活满滋润的。

有啥疑问欢迎讨论。祝你选好学习路线,只有二选择一呀。


IT职业思考与自媒体


中国的专业这么多,360行行行出状元,选择你喜欢的 就是发展前景 最好的,如果你不喜欢这个专业 怎么会让这个 你发展的更好了

我的 室友a,他喜欢 金融,由于 不喜欢计算机 这个专业,他平时就会去 向会计系的人借一些 关于金融方面的书籍,然后自己一个人默默的看,他告诉我 需要掌握很多本领,他看的书很多 尤其是在哲学方面的,这个人很有 很有头脑,善于思考,他喜欢踢足球,会打羽毛球 会打篮球,这样一个多才多艺的男生 真的很多女孩子喜欢😳

我的室友 b,他喜欢健身,每天都会准时准点的去健身房,他选择的是软件工程 和我一个专业,她会保持好自己的良好形象,她的家庭条件比较好 他和他的女朋友是异地恋,他 在美每个节日里都会去 女朋友的学校,他说他以后要当健身教练

我的室友c 他是各种 能玩的人,什么都会,没有他不会的,她善于交际,家庭条件也挺好的 他毕业了会去她叔叔的公司,工作不愁,她觉得大学就应该好好的玩

我的室友D 他喜欢 游戏,学习,就这两件事啊,他明白 他以后要干什么,其实在宿舍就打游戏啊,在课上就学习,她说她以后要考研,所以说他 会为自己考研做准备,他喜欢这个专业 他对学历的要求比较高 所以会考上一个很好的大学的研究生吧

我的室友e 他就是典型的网瘾少年,打游戏啊,那可以在大学里打四年游戏啊,人生中估计就只有游戏了吧,他就是游戏里的大神,没有 她玩不来的游戏,和朋友约 就是游戏,所有的大学时光都在游戏中度过了,家庭条件也挺好的,她是我们宿舍第一个有电脑的人,大学开学就把电脑带来了,他人挺不错的 就是一个典型的游戏玩家,让他在他的游戏世界能有所突破,也祝愿他 梦想成功



至于我 家庭条件不好 选择了我最喜欢的 软件工程 这个专业,唯一的好处就是 我选择了我喜欢的专业,我不后悔 我曾经选择,所以我会为了我的专业而去努力的学习,我相信 在未来的发展中 软件工程 会有好的发展吧,为什么这样说呢 ,因为我不喜欢说话 不善于交际,我就只能和电脑打交道,我很喜欢学习编程,很喜欢 c语言java语言 等等各种语言,我也很喜欢英语 因为我觉得英语很重要,我的数学还不错啊,在计算机领域英语语 很关键 数学 也很关键 英语相当于我们要浏览一些国外的 好一点的英语阅读的,数学 这就相当于计算机的算法,掌握好了 算法 有利于程序的 够好运行。



我觉得选择任何专业都是根据自己的兴趣,如果你不喜欢你的专业,你可以发展你的其它爱好,在我的人生中 如果能找到我们自己喜欢的事情 嗯 我觉得 我们离成功不远了,相信我们 只要认为自己感兴趣的事情 我们慢慢做好 我们就会成功,我们很早都明白 兴趣 是我们最好的老师


尤其是在选专业 选择自己适合的 选择 自己喜欢的就是最好的专业,如果我说这个专业很好很好 你不喜欢我说了等于说白说,你要结合自己的自身因素 家庭条件 来决定你的专业

这样你选择专业才会更好 更有发展前景

想知道更多的 方面的知识 你可以关注啊 或者给我留言,可以给我点赞 我 我很期待哦(๑˙ー˙๑)


记忆是盛开的花


国内国外我都经历过大学求学,个人感觉国内国外的学科方面较大差别就是,国内不会分很细致。国内多数学校,计算机科学和软件工程都是上的基本一样的专业课程,唯一的一些差别就是,计算机科学的课程可能会比软件工程的要广一些,毕竟从专业名称上来看,软件工程更针对软件一些。从以后的发展前途而言,两个专业其实差别不大,学这个两个专业的如果从事本行业,也就是it行业的技术岗位,除了出了学历和能力是敲门砖外,以后发展就看个人能力和喜好方向,不太存在所谓更有发展前途。比如两个专业在同一家公司从事同一种开发工作,更有前途的只会是有野心,有能力的,无论你想成为架构师,算法师,项目经理,不会因为你是计算机科学还是软件工程的专业,只会看你的个人兴趣,更重要的就是个人学习、专业等综合能力。


用户75979683


首先,中国大学阶段专业和学科没有纯粹的计算机科学这一说法,而是计算机科学与技术,因为本科阶段要是技术都不会不可能搞得好科学研究,同时你会发现计算机科学与技术的专硕学位叫计算机技术。而且,在国际上,软件工程属于计算机科学十八大知识领域之一,并不是并列关系,而是包含关系

如果你想从事纯粹科研,不就业,就发论文或者搞专利(搞专利也是要有技术的),而且不是软件工程方向的因为这方向科研路窄媒体也不会吹牛没法吸引眼球,本科阶段是什么方向没有意义(数学物理电子都可以),研究生阶段就不要犹豫,肯定要读计算机科学与技术(学术型),

如果你是要就业,而且是技术岗,你的第一份工作和你大学啥方向无关,就是写代码,那么考验的就是你大学阶段代码尤其是高质量代码写的多不多了(在计算机科学知识体系中,代码质量属于软件工程领域。实际开发中,大多数情况是为了代码质量系统可靠性愿意牺牲性能的),项目做过多少,项目是不是较大型的项目,开发阶段复杂度如何管理等等,都是你就业的软实力。所以和你的专业有啥关系呢?当然是要具体学校具体分析,这个学校的计算机科学与技术和软件工程专业哪个对学生动手要求更高。在实际企业中,你项目规模不到一定程度是无法体现软件工程优势的,这也是为什么软件工程最早来自军事领域,NASA做过大量软件工程的调查报告。另外,软件工程硕士(专业型)时间更短,要实习更容易转正,就业更容易(对于一般学生,非顶级)

如果是想从事非技术岗,软件工程你可以学到需求工程,工程项目管理等适合将来做产品经理和项目经理的课程(当然认不认真上是另一回事),而且你本身就经历过技术锤炼,能和开发团队更好的搞好关系,不用像非技术出身的,开发团队要“杀了”产品经理这种事就少发生

所以每个人的前途都是看自己,这种分析毫无意义只会引战


KaiSeRBurNInG


计算机科学与技术:简称计科(CS)。一般来说CS的学习偏重学习计算机的原理。学习偏理论,学习内容涉及软件也涉及硬件,还有两种相结合,一般来说CS两者的比重是1:1,按学校的不同可能会出现不同情况。

软件工程:简称软件(SE)。SE的学习主要是围绕着软件的应用、设计、开发、维护架构这几个模块等。偏应用、工程、实践。学习内容涉及一些基本的硬件,但更多是工程的理论和大量的软件实践知识。


全国共有168所开设计算机专业的大学参与了计算机专业大学排名,其中排名前4的大学是北京大学、清华大学、浙江大学、国防科技大学,这是国内目前计算机专业排名

第一梯队,能力不相上下,以下具体榜单,还比较权威,供大家参考:


学科情况

计算机科学与技术这个一级学科是中国特有的,国际上通常只有计算机科学。大部分学校的计算机科学主要来源于数学学科,而软件工程学科是源于计算机科学的(可以类比材料科学源于物理学),一直是计算机科学的一个二级子学科。从国际学科发展看,2001年IEEE提出了“计算学科”的概念,来替代原有的计算机科学学科,计算学科包括了计算机科学、计算机工程、软件工程、信息系统、信息技术五个子学科。但就我的感觉,现在绝大部分国外大学基本还是以计算机科学为主。在中国,2011年开始,软件工程开始和计算机科学与技术并列为一级学科。

由于中国大学科研和学位授予和国家的学科划分以及教育政策紧密相关,所以各大学才会有计算机科学与技术以及软件工程的分别招生。

软件工程这个词是1968年才出现的,当前对其定义和内涵还有不小的争议。一般使用的软件工程定义是IEEE的一个标准“使用系统、规范、可度量的方法进行软件开发、运行和维护。”,但这个定义当前仍然有争议。


就业前景

近几年的CS和SE的就业情况相当不错。如果题主经常去了解就业市场的话(可以上一些招聘网站看看),你会发现,公司无论大小,招人上,除了技能的要求,对于专业的要求一般是“计算机相关”,几乎没有见过有公司点明必须是SE或者是CS,也就是说无论是SE还是CS其实HR都不太关注,更关注应聘者的专业技能。所以如果从就业方面来说的话,CS和SE的差别其实很小。

但另外一个问题是,由于两者在专业学习上的侧重点是不同的。CS学习了更多的理论,而且软硬结合,知识面更广,如果在大学四年内没有好好拓展自己的动手实践和工程能力的话,就业上是会有些许吃亏的。我曾经认识不少的CS朋友,他们都在吐槽CS学习得太泛,反而影响了就业。反观SE,由于更注重培养工程能力,而且课程中一般有大量的课程设计,所以更适合企业。

但其实这个更看个人,在 学习专业知识的同时,如果注意去拓展自己,在就业上基本不会有太大的差别,因为大家的基础都差不多的。

找工作的容易度上,计算机科学与技术适应面会稍广。在初入职场的薪资上,软件工程专业的会更高一些。在职业的发展性和延续性上,计算机管理类岗位能走得更远。但是有一点,想要在管理类岗位做到高端,一定的编程基础是少不了的。如果你想在毕业后就业,想做工程师,偏向编程技术、软件开发,可以把专业选择偏向软件工程。如果你想就业范围广一点,或者想考研或出国,专业选择可以偏向计算机一点。

考研:

如果打算考研,CS更有优势。一般学校都会有CS和SE的硕士点。如果有兴趣去查的话,你可以发现,大多数学校CS和SE的考研科目都是数据结构、计算机组成原理、计算机网络、操作系统等等。这些科目都是偏向理论,而且要求基本功扎实。

CS学生的计算机理论基础扎实,软硬结合,知识面广,所以无论日后选择考CS硕士还是SE硕士,都比较有优势。

SE的学生由于更注重工程和实践,所以这个时候想考研要花比CS更多的实践去补理论基础。

建议:

1、同等学校计算机科学与技术学费低,难考一些;软件学院学费高,通常好考一些。

2、计算机科学与技术的理论基础通常更扎实一些。软件学院不管教学内容体系如何,通常更加重视实践,学生实践能力更好一些。(各个学校差异性非常大,建议报考前认真咨询一下。)

3、就业:差距很小,想以后就业方面更轻松点,或者本身更偏向动手和实践的,可以考虑SE

4、如果对计算机感兴趣或者打算考研的,选CS好。


中公考研


这两个专业其实半斤半两。最早的时候都没有软件工程专业,还是从计算机科学与技术专业里面分出来的。

如果拿不准的话,就选计算机科学与技术专业。因为这个专业是万金油专业,计算机相关的一切行业在招聘的时候,都欢迎这个专业。

然而即使这个专业很万金油,学的东西却很多,虽然大而全,但并不是浅尝辄止,也需要花很多精力的。如果想继续深造,考研的时候自然会分方向。

什么人工智能大数据芯片网络电子,这个专业都能混进去。


月轮山待过


字面意思,计算机科学comouter science与技术technology,就是既可以培养科学家,也可以培养技术员,也许只有中国有这样的专业,估计985/211按科学家培养,二本三本按技术员培养。

按科学家培养的课程,会有大量数学和理论,数学课几乎全是各种证明,会开设、(研究超算)、、,不会开设<java><python>。/<python>/<java>

按技术员培养,肯定开始C/C++、java、python等语言课,甚至开设photoshop。肯定不开设计算模型、计算理论、超算等课程。

软件工程,是软件的工程学,既然主语是工程学,和计算机科学的区别就是,都是学微积分,计算机系学生天天证明,软件工程的学生天天计算,线性代数更是如此。和培养技术员的课程设置一样,软件工程不会开设计算机理论方面的课程。

说一千道一万,无论计算机科学、计算机技术,还是软件工程,绝大部分毕业生都是码农,科学家(博士)大概率出在计算机科学系,软件工程学生读博的少。

以上。


分享到:


相關文章: