电子与计算机工程和计算机科学计算机与技术哪个好?

大家好! 我是YK目前正在运营CS Dojo。這是一个拥有200,000以上用户的YouTube编程教育频道 我以前也是Google的软件开发人员。

观众最常问我的两个问题是:

“计算机科学计算机和软件工程专业囿什么不同”

“如果我想成为软件工程师,我应该选择计算机科学计算机还是软件工程专业”

在这篇文章中,我会回答这个问题并汾享一些我自己对这些专业的分析。

1.计算机科学计算机主要从理论和数学的角度研究计算机如何工作

2.如果你喜欢数学,逻辑学或者你想进入CS的某个专业领域,例如人工智能机器学习,计算机安全或图形你应该选择计算机科学计算机。

3.软件工程研究如何构建软件系统包括诸如项目管理,质量保证和软件测试等

4.如果您对实际操作方法更感兴趣,并且想要了解软件构建和维护的整个生命周期应该选擇软件工程。

5.计算机科学计算机和软件工程都是学习编程和计算机科学计算机的基础知识因此您成为软件开发员,可以任选其一

要了解计算机科学计算机与软件工程专业之间的差异,我们来先来看看加拿大滑铁卢大学的课程

我选择滑铁卢大学是因为它是北美计算机科學计算机课程最好的大学之一。

我们首先比较一下每个计划对应的工作类型和实习机会

滑铁卢大学的网站提供了几个例子。

每个专业都囿一些校友介绍了自己的工作以及他们的工作地点:

●Web开发人员/架构师,Steele集团

●软件工程通用动力加拿大

●敏捷工程师,Pivotal实验室

●业務分析师加拿大轮胎公司

●软件开发人员,Tagged公司

●软件开发人员IBM加拿大

●软件经理,Arius软件公司

●软件工程师, 哈里斯公司

●软件开发人員埃森哲公司

如你所见,工作类型之间没有很大差别

毕业生获得计算机科学计算机或软件工程学位后最常干的工作是软件开发人员或軟件工程师。

还有其他选项例如产品经理,质量保证分析师和技术顾问您的选择将取决于您的技能组合。

现在我们来看看每个专业嘚必修课程。首先比较一下第一年需要学习的课程

●CS 136 - 算法设计和数据抽象

●数学135 - 荣誉数学代数

如你所见,第一年的课程也很相似大都涵盖了一些基础的计算机科学计算机课程,以及线性代数和微积分的一些数学课程

唯一的主要区别是软件工程有额外的物理和电子工程組件课,而计算机科学计算机有更多的选修课

一年之后的必修和选修课程如何?我们来看几个例子:

●CS 240数据结构和数据管理

●CS 241顺序程序基础

●CS 246面向对象软件开发< - 对于软件工程专业学生是非必修课

●CS 251计算机组织与设计

此外还有几门计算机科学计算机选修课

●ECE 222数字计算机(包含汇编语言)

●MATH 213软件工程师高等数学

●MSCI 261工程经济学:工程师财务管理

●CS 241顺序程序基础

●CS 240数据结构和数据管理

●CS 247软件工程原理< - 对计算机科學计算机专业不是必修课

●CS 349用户界面< -对计算机科学计算机专业不是必修课

●CS 343并行和并行编程< -对计算机科学计算机专业不是必修课

●CS 348数据库管理简介

●SE 465软件测试和质量保证

●SE 464软件设计和体系结构

●SE 463软件需求规格和分析

此外,还有一些计算机科学计算机和电子工程选修课

上面有佷多信息需要消化下面是我的总结:

谈到数学和统计方面的要求,计算机科学计算机和软件工程几乎完全相同涵盖了组合,概率和统計

核心计算机科学计算机需求也相似,包括算法数据结构和操作系统。

软件工程在电气工程和软件工程基础方面有更多的要求例如軟件测试,设计和软件需求规范

计算机科学计算机学生可以选择更高级别的计算机科学计算机的选修课程。可选择的课程范围很广例洳计算机安全,软件工程基础知识计算机视觉,机器学习和数据库管理

那么,你应该选择哪个专业

我认为这主要取决于你的喜好。簡而言之:

1.如果你喜欢数学逻辑学,或者你想进入CS的专业领域例如人工智能,机器学习安全或图形,你应该选择计算机科学计算机

2.如果您对动手方法更感兴趣,并且想要了解软件构建和维护的整个生命周期则应该选择软件工程。

但是如果你想成为软件工程师哪個专业更好?

下面是我的看法在这个特殊的大学(滑铁卢大学),如果你想成为一名软件工程师计算机科学计算机是更好的选择。

为叻简单起见假设您希望在北美担任软件工程师,获得薪水最高的职位(约$ 100,000美元/年)这些工作通常来自于大型软件公司(微软,谷歌亞马逊等)或中型高增长公司(例如Dropbox,LyftSnapchat,Pinterest等)

通常,这些公司在挑选软件工程师时寻找的是能够编写可靠代码并构建有趣项目以及擁有计算机科学计算机基础知识(包括数据结构和算法)人才。

我认为培养这套技能的最好方法是快速学习计算机科学计算机基础知识婲时间练习解决问题和编写代码的能力。

基于软件工程课程和工程专业学生一般情况下的繁忙程度我认为学习软件工程专业比计算机科學计算机更难。

这个特殊的计算机科学计算机课程的另一个好处是它有更多的计算机科学计算机选修课这也很好,因为根据就业市场的需求你可以调整自己的课程。例如如果移动应用程序开发的需求更高,您可以学习这项课程如果并行计算需求高,您也可以选择这個课程

我确信学习软件工程基础知识(项目管理,设计测试等)有一些好处。但我个人宁愿多学一些技能这就是为什么我认为如果伱想成为软件工程师,计算机科学计算机是一门更好的专业

当然,那只是我的看法而且只针对这所特定的大学。我很乐意听取您的意見以及您在计算机科学计算机或软件工程专业的学习经历。

注1:不同的大学对这两个专业有不同的要求这篇文章应该是一个很好的起點,但你仍然应该看看你有兴趣的大学的课程要求

注2:一些大学甚至没有软件工程专业。例如温哥华的不列颠哥伦比亚大学拥有计算機科学计算机和计算机工程学位,但没有软件工程但是他们的计算机科学计算机专业以及计算机工程专业都有软件工程专业。

如果你感興趣的大学没有软件工程专业但你想成为一名软件开发人员,我建议你选择计算机科学计算机计算机工程专注于硬件而不是计算机科學计算机或软件工程,因此与典型软件开发人员的工作直接相关性较小

感谢阅读,祝您选择大学和专业顺利!

编译组出品编辑:郝鹏程

}

数字分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、应用以及发展计算机技术

软件工程师、算法与数据结构、辅助诊断系统、医学专家系统

与计算机打交道从事计算机的机理研究和软件程序的编写,电子监护系统、物理治疗系统、自动控制原理、感测技术等

可到电子系統部门从事系统整理、分析及部件的设计、情报考察、电子战

教育电子语言教室,主要研究信息的获取与处理电子设备与信息系统的設计、开发、应用和集成。现在、电子线路、数字电路电子信息科学计算机与技术是属于理学,电子信息工程和计算机科学计算机与技術属于工学

计算机网络技术信息采集、国防、广播电视等部门从事相关工作。

电子工程师设计开发一些电子。电子信息产业是促进国囻经济增长方式转变设计开发与硬件有关的各种软件

项目主管,策划一些大的系统

打字打得我手痛。是一门与社会生产实践关系密切、适应面广、能源、交通、处理和传输。。、汇编语言、数据结构、电磁场理论电子信息工程已经涵盖了社会的诸多方面。我们可鉯通过一些基础知识的学习认识这些东西并应用更先进的技术进行新产品的研究和开发、推进国家信息化建设的核心产业。

电路分析原悝管理信息系统,电子技术和计算机技术的开发和应用研究计算机理论,数控机床、机械手和机器人研发制造

军事武器装备、发展迅速的学科、金融、公安,设计开发各种信息硬件产品

软件工程管理人员从事软件生产的组织管理工作,或维护、控制软件开发工程

它昰一门应用计算机现代化技术进行电子信息控制和信息处理的学科、模拟电子技术、数字逻辑、分析、研究和开发也可到邮政、电信、計算机基础等。

通信系统设计工程师从微波中继到同轴电缆再到现代的同步卫生中继、光纤通信

工业、程序教学机器、电视教育卫星

电蕗理论系列课程、计算机技术系列课程、信息理论与编码、信号与系统、数字信号处理、操作系统等

软件开发工程师,设计开发各种软件產品和信息系统

信息技术咨询专家为企业提供信息技术解决方案,做信息策略咨询和技术顾问

各企事业单位信息部门的管理人员管理囷维护单位的各种信息系统

硬件开发设计人员首先从分类上

}

电子信息工程专业偏向硬件,计算機专业偏向软件.

推荐软硬兼备对以后的职业规划有很大帮助。计算机专业现在已经比较饱和毕竟大部分时间只需要坐在电脑面前,可鉯实现系统或互联网上的各种功能编程是一个青春活。而电子信息则有趣多了电路板,电路分析集成电路设计,都需要CAD软件仿真和實践实现推荐方向是有一定的编程能力,然后主攻电子信息工程职业前途不错。

你对这个回答的评价是

}

我要回帖

更多关于 科学计算机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信