计算机学科主要分为三个大的研究类别:计算机系统结构、计算机应用、计算机软件与理论。
美国计算机科学专业主要有十大分支:软件工程、数据库、计算机网络、人工智能、计算机图形学和多媒体、体系结构 / 编译器和并行计算、人机交互、管理信息系统、信息安全、理论和算法。
不同的专业方向,有不同的专业背景要求和申请要求,具体方向有:
计算机网络是利用通信设备和线路将地理位置不同的、功能独立的多个计算机系统连接起来,以功能完善的网络软件实现网络的硬件、软件及资源共享和信息传递的系统。简单的说即连接两台或多台计算机进行通信的系统,此分支方向主要的学习内容从网络基础理论,拓扑结构,相关组成硬件,传输媒体(光导纤维,同轴电缆,双绞线的有线传输,卫星传输,红外线传输,激光传输,无线电波等无线传输),到各种网络协议等。
主要包括机器意识(包括机器学习,知识表达与推论,机器人),动态系统模拟,动力学计算,触觉控制( haptic control )自然语言习得与处理,计算语言学,统计语言技术,自动推理,图形图像,人机交互,成像感知与传感器,概率推论,神经估算,计算机视觉,视觉场景认知,模式识别,人工免疫,神经网络,遗传算法,小波分析,信息系统以及计划,信息提取,制造和控制理论等。
计算机安全主要是保护计算机与网络免于滥用和干扰。从过去的历史看来,计算机攻击一般来说包含了攻击系统的完整性,保密性与可用性。而如今的信息安全技术一直在发展中,不单包含了对上述攻击的防御,同时也增加了更多的应用,如垃圾邮件,以及防止身份盗用而导致的信息泄露等。
包括开发新型编程语言以助程序员实用高效地开发可靠的软件,计算机辅助语言学习,计算语言学,从初阶的打字理论,自动定理证明,语义学等发展到如今的基于语言的途径以解决计算机安全与分布式编程中的重大问题,语言应用,编程分析与优化等,可以从根本上提高软件可靠性与安全性。
与数据管理相关的所有方面,包括数据存储,数据检索,数据分析和视觉化,如为超大型数据组开发高效算法,为各种新型的应用领域建立大型的数据系统,也有与其他领域进行跨学科的研究,可应用的领域有电脑游戏设计,数据隐私与安全等。
计算机图形学( Computer Graphics,简称 CG )是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学。如何在计算机中表示图形,以及如何利用计算机进行图形的生成、处理和显示的相关原理与算法,构成了计算机图形学的主要学习内容。图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。从处理技术上来看,图形主要分为两类,一类是由线条组成的图形,如工程图、等高线地图、曲面的线框图等,另一类是类似于照片的明暗图( Shaing ),也就是通常所说的真实感图形。
人类基因工程的完成对现代生物学中的新型计算和理论工具提出了新的要求。这些计算和理论工具对于分析,理解和控制生命的具体信息都是至关重要的。生物信息学与计算生物学在此历史背景下应运而生。此方向属新兴的研究,主要是利用应用数学,信息学,统计学与计算机科学的方法来研究生物学的问题,因此也需要从事此方向学习和研究的学生有较强的数学和统计背景。目前来说研究方法包括对生物学数据的搜索(收集和筛选),处理(编辑,整理,管理和显示)及利用(计算和模拟)。
广义上面的算法是指为解决一个问题而采取的方法和步骤,而 CS 下的算法则是指计算机为了解决某一个问题或者完成某一个任务的一系列清晰的指令。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。现代的算法理论主要的研究目的在于如何开发出更加效率的算法,研究相关的算法的设计方法与实现技术。
计算机理论,顾名思义,是为计算机科学的发展与研究提供理论基础的一门学科。这个课程的学习涉及到 CS 的核心课题,归纳起来涵盖了可计算性、文法与自动机、逻辑学、复杂性及语义学等 5 个部分,涉及到可计算性理论、形式语言、逻辑学与自动演绎、可计算复杂性和编程语言的语义等内容,并学习和研究这些内容之间的联系。
科学计算,又称为计算科学,它的主要学习内容和研究领域是利用数学模型的构造以及数量分析的技术,通过计算机来分析和解决科学问题。在实际的应用中,科学计算经常用于计算机仿真以及其它各种问题的数学计算,包括数值模拟、模型拟合与数据分析以及最优化计算等等。数值分析( Numerical analysis ),是科学计算专业方向中所会应用到的核心方法。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它的目标是在时间、资源、人员这 3 个主要限制条件下构建满足用户需求的软件系统,包括提高软件质量设计新的形式与结构、开发新的科技以降低软件系统的成本、提高软件的正确性与实用性。软件工程的关注点是如何为用户创造价值。在学习内容方面它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
计算机视觉是一门研究如何使机器―看‖的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取―信息‖的人工智能系统。比较经典的计算机视觉应用包括识别(如在巨大的图像集合或视频中寻找包含指定内容的所有图片或视频片段)、运动(图像跟踪:跟踪运动的物体)、场景重建以及图像恢复等等。
计算机体系结构主要学习与研究计算机的结构和功能,以及它们在电子技术方面的应用。抽象来说,计算机体系结构是一个系统在其所处环境中最高层次的概念;它确定了一台计算机硬件和软件之间的衔接。具体地说计算机体系结构指的是计算机系统设计的观念与架构,描述计算机在实做的设计原则。它确定了一台计算机设计的部件、部件功能以及部件间接口。以常见的冯·诺伊曼设计为例,体系结构设计包括了:指令集、微体系结构、数据表示、寻址方式、寄存器定义、指令系统、异常机制、机器工作状态的定义和切换、输入输出结构等。
人机交互,简称 HCI,是一门研究人、计算机以及它们之间的相互影响的学科。人机交互技术是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话的技术。它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。人机交互技术是计算机用户界面设计中的重要内容之一。它与认知学、人机工程学、心理学等学科领域有密切的联系。
就业方向
计算机专业自身就业方向较为广泛,例如:
金融:算法工程师、分析师
IT :软件开发工程师、数据库开发工程师
……
除此以外还有其他很多公司或机构都需要招收计算机背景的学生来提供各种技术支持,如在美新兴的商业分析,管理信息系统,人工交互和数据科学等项目。
【微语】在远方的天空下,你勇敢地追寻知识,每一份努力都会化作未来的星辰,照亮你的前行之路。