近两年计算机专业已然成了很多家长跟学生的首选专业,说到计算机类专业,这个称呼其实非常笼统,导致很多学生和家长在留学选专业的时候一头雾水,区分不清。比如以下几个专业:

  ·CS(Computer Science)计算机科学

  ·CE(Computer Engineering)计算机工程

  ·EE(Electrical Engineering)电气工程

  ·SE(SoftwareEngineering)软件工程

  ·IT(InternetTechnology)信息技术

  ·DS(DataScience)数据科学

  ·BA(BusinessAnalysis)商业分析

  ·Statistics 统计学

  长得像,但又不一样。这也是很多想申CS专业同学经常迷糊的专业,今天立思辰留学小编就来说说以上几组比较容易混淆的专业,都有什么区别。

计算机专业都知道的常识(计算机专业比较容易混淆的分支详解)(1)

  专业介绍

  ① Computer Science

  即计算机科学,是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。

  主要的研究领域包括:人工智能、计算机体系结构、人机交互、软件工程、数据与数据库、多媒体(计算机图形学等)、网络、信息安全、管理信息系统MIS、生物信息、计算理论等。

  ② Electrical Engineering

  习惯上分为Electronic Engineering(电子工程)和Power Engineering(电力工程),也就是我们常说的弱电和强电(弱电是用于信息传递,强电是用作一种动力能源)。

  维基百科给出的定义是以电子学、电磁学等物理学分支为基础,涵盖电子学、电子计算机、电力工程、电信、控制工程、信号处理等子领域的一门工程学。

  主要的研究分支有:通信与网络、信号处理、电子学、集成电路、光电子与光学、电力技术、电磁学、微结构、材料与装置、生物工程等。

  单纯地从两个专业的研究分支的名称来看,大家也能发现一些端倪。两个专业存在很多交叉的地方,比如计算机里有图形学,EE里也有图像处理、信号处理等,比如计算机里有网络,EE里也有网络,虽然侧重不完全相同。

  ③ Computer Engineering

  它也可以被理解成是CS和EE的交集的主要部分。维基百科给出的定义是一个以电机工程学和计算机科学的部分交叉领域为内容的工程学,其主要任务是设计及实现计算机系统。

  加州大学洛杉矶分校官网对于CS和CE的区别,给出的解释是,CE适合那些有着很好的CS基础,同时又对computer system hardware比较感兴趣的人。在美国,CE有时会开设在CS系下,称为是Computer Scienceand Engineering 系,也有的会开设在EE系下,称作是Electrical andComputer Engineering 系。而纯EE则多指的是EE系有但是CS系没有的方向,比如电磁、半导体、光电、强电以及其他偏器件、材料、物理的方向等。

  ④ Software Engineering

  软件工程,研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。是CS下的一个分支领域,侧重工程应用和实现。该方向很热门,也是跟码农的工作最接近的一个方向。

  ⑤ IT

  即信息技术,是主要用于管理和处理信息所采用的各种技术总称,主要是应用计算机科学和通信技术来设计、开发、安装和实施信息系统及应用软件。虽然IT经常用到CS、SE 和信息系统的相关技术,但是它的独特之处在于它专注于对终端的用户施加影响,而不是专注于创造新的技术。

  计算机科学和一些与之相关的项目是以技术为核心的。computerscientists总是会深入探究技术的物理层面和功能层面的表现,而theprofessional关心的却是如何将技术应用以解决人们的问题。

  ⑥ Data Science/Business Analysis/Statistics

  数据科学,是一门近几年热度在持续上升的交叉学科。是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学,统计,模式识别,机器学习,数据可视化,数据仓库,以及高性能计算。

  对于数据科学项目来说,完美的申请者是同时具备很强的数学知识、统计知识和计算机知识。有数学知识作为理论基础,有统计方法作为对数据分析的工具,有计算机知识作为编程实现的手段。

  那我们再深入一步,随着大数据时代的带来,我们经常会处理海量的数据,而对这些海量的数据进行分析的最终目的是什么,自然是希望他能够指导我们的决策。这就到了商业分析Business Analysis的层面。因此,商业分析项目和数据科学项目学的内容很接近,但又互有侧重。

  商业分析项目更加侧重利用对数据的分析指导商业决策。在项目的课程设置中也会有偏商科类的课程设置,很多商科的学生会申请这一项目。每年,很多对数据科学感兴趣的申请者同时会考虑申一些商业分析的硕士,因为单独的数据科学项目并没有那么多。很多学校的数据科学作为一个分支开设在CS或者统计系下,只是一个concentration。不过,随着这一研究领域的日趋热门,越来越多的院校开始开设单独的数据科学项目。

  而统计,则就到了更加宏观的层面。可以简单粗暴地把数据科学理解为是统计下的一个分支方向。统计学是在数据分析的基础上,研究如何测定、收集、整理、归纳和分析反映数据数据,以便给出正确消息的科学。包含有对理论的研究,如高维、非参等,更多的是对应用层面的研究,比如生物统计,金融统计等

  专业领域

  大家一般默认的计算机类专业主要指的是: 计算机科学与技术,软件工程、网络工程、信息安全、物联网工程、数字媒体技术等这些。

  计算机科学学科分为4个主要领域:

  ·理论计算机科学

  该领域再次细分,就包括数据结构和算法、计算理论、信息论与编码理论、编程语言与编译器、形式化方法等。

  ·计算机系统

  这个领域包括计算机体系结构与计算机工程、操作系统、并发、并行与分布式系统、计算机网络、计算机安全和密码学、数据库等。

  ·计算机应用技术

  这个领域包括计算机图形学、科学计算、多媒体技术、人工智能。该技术被大量运用在当今的特效和电子游戏中。

  ·软件工程

  软件工程是对于设计、实现和修改软件的研究,以确保软件的高质量、适中的价格、可维护性,以及能够快速构建。它是一个系统的软件设计方法,涉及工程实践到软件的应用。该领域和计算机工程有交叉,属于既独立又互补的两个学科。

  计算机科学专业的一般就业方向有:

  国内外大型电信服务商、大型通信设备制造企业进行技术开发,或从事网络工程领域的设计、维护、教育培训等。

  在国内外众多软件企业、国家机关以及各个大、中型企、事业单位的信息技术部门、教育部门等单位从事软件工程领域的技术开发。

  在就业中最吃香的当属软件工程,当今互联网产业发展的趋势下,游戏开发、程序开发等都需要这方面的人才。

  计算机方向在就业市场里具体的主要工种是:软件工程师、测试工程师、运维工程师、算法工程师、网络工程师、数据库工程师,项目经理等。

  计算机背景毕业后可以选择从事的方向可以参考以下细分的方向:

  ① 网络方向(网络工程师)

  ② 运维方向(系统运维/开发运维/DEVOPS/云计算)

  ③ 数据库方向(DBA,数据库开发)

  ④ 开发方向(硬件研发,嵌入式开发,系统开发,游戏开发,算法工程师,web开发,前端开发,移动开发,Android,IOS,全栈工程师,图像,声音等)

  ⑤ 数据方向(大数据开发,数据挖掘和分析,商务智能)

  ⑥ 测试方向(测试工程师,自动化测试,持续集成)

  ⑦ 项目产品方向(产品经理,PM经理,DEVOPS)

  ⑧ 安全方向(安全工程师)

  ⑨ 新型产业(物联网,区块链,AR/VR,人工智能,机器学习)

  ⑩ 技术管理和架构(架构师,技术Leader,技术经理,CTO)

  ⑪ 独立开发者,自由职业者

  就业方向

  以下内容选了几个典型岗位介绍一下日常主要负责什么业务,方便大家更清晰的理解:

  ① 技术类

  ·开发工程师

  一般概念里的技术岗位就是开发工程师,一般分为前端开发与后端开发,例如Java,C 开发都属于后端开发,而HTML,JavaScript等属于前端开发。

  ·测试工程师

  对于一个产品来说,测试与开发同等重要。

  测试工程师作为产品质量的把关者,主要负责编写测试方案,执行测试工作,记录测试结果,定位问题所在,提出改进建议等工作。

  ·运维工程师

  主要负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率。

  ② 数据类

  ·数据挖掘&数据分析

  这两个岗位都是做数据相关的工作,属于同一个领域,但不同的侧重点:

  数据分析偏统计,主要负责将数据可视化,出各类分析报表和报告,需要较强的表达能力。

  数据挖掘偏重算法,侧重建立数据模型,需要较强的代码能力,日常工作中代码编写量较大。

  ③ 设计类

  ·用户交互设计师

  主要工作内容是通过调整页面的内容来提高产品的数据指标,这要求交互设计师了解用户的使用习惯,比如各类功能模块应当如何排列才能够使用户使用感更为舒适。

  接下来以下内容从技术的角度帮助大家梳理了需要掌握的技能:

  一名合格的Java开发工程师需要掌握以下这些技术:

  ·JAVA方向

  Java自1995年问世以来,因其卓越的通用性、高效性、平台移植性和安全性等特性,成为全球范围内应用范围最广的开发语言。而Java工程师是指运用Java这种语言去完成软件产品的设计、开发、测试、运维等的人。

  ·WEB前端方向

  前端开发是创建Web页面或APP等前端界面呈现给用户的过程,通过HTML、CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。

  目前行业内前端开发主要是使用React、vue.js、AngularJS等框架,以前后端分离式开发模式进行产品研发。那么除以上基础知识和框架技能,还需要具备什么呢?

  ·Python方向

  Python受益于其能够广泛应用于云计算、系统运维、图形GUI、大数据、人工智能和机器学习等应用场景的优势,伴随着行业的快速发展受到越来越多人的喜爱和使用。

  Python提供了高效的数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

,