计算机图形与HCI有重合之处在于HCI目前也有很大一群人在专注于做图形的人机交互,而对于计算机视觉则在HCI领域属于一个已经发展了很久的方向,因此对于申请计算机图形和计算机视觉的申请者可以参考HCI关于CS下的HCI的相关介绍。将计算机图形和视觉单独开设出来的学校在该领域主要研究的是对自然现象的模拟和做动画,计算拓扑学,图像硬件应用,基于图像的绘制(imagebasedrendering),隐式曲面(implicitsurfaces),网格处理和简化(meshprocessingandsimplification),过程模型构造技术(proceduralmodeling),形状模型(shapemodeling),(surfaceparameterization)以及可见性处理。
会学习的课程除了计算机图形和社会视觉(SocialVisualization)之外,也包括HCI会学到的用户界面设计及HCI。总的来说,计算机图形、视觉和HCI为唇齿相依的关系,所以对其中一项感兴趣的申请者也可以考虑扩大兴趣范围。计算机图形图像学还跟datamining和AI也息息相关。可以说着很大程度上体现了CS专业的特点。所有的方向均有交叉,很难界定一个专业准确的边缘。
很多学生对该领域有个误区,认为该领域适合学艺术专业的申请者,因为众所周知,学习这个专业可以去游戏公司开发游戏,去电影制作公司工作,软件的图形界面开发,可是事实并非如此,该领域属于CS,也就意味着对CS的要求也同样适用于对该领域的要求,例如较强的数学基础和算法以及极佳的空间思维能力。当然艺术下也会有与这个相交叉的方向,也有Media相关的东西,也有会应用于电影,游戏等方面的东西。但是那个是纯艺术,偏向于设计,而CS下的偏向于处理。
Architecture,Compilers,andParallelComputing计算机结构、编译器和并行计算
计算机结构和编译器研究的主要是硬件设计,编程语言和编译程序,这个领域经常涉及到计算机科学、计算机工程和电子工程学科,是一个交叉的领域。Architecture学习和研究的更多的是计算机的结构,这个结构不仅仅是物理上的结构,还是逻辑上的结构,基本的工作原理和工作准则。比如说,我们说网络7层结构(IPv6编程了5层),里面既包含了硬件上的结构,还包含了软件上的结构。ParallelComputing其实就是现在非常热门的云计算。很多时候我们都不理解云计算是什么。通过一个笑话,我们可以理解云计算是什么。记得有个四格漫画,是大画西游的,其中沙僧对大师兄和二师兄说:“我终于学会了复制粘贴了!”然后大师兄和二师兄很鄙视的眼神看着沙僧,然后沙僧解释道:“我学会了在A电脑上复制,在B电脑上粘贴!”其他两人异口同声:“牛!”其实这个就是云计算。
该领域需要学的课程通常有EmbeddedSystems嵌入式系统、ComputerSystemOrganization计算机系统组织、LogicDesign逻辑设计、AppliedParallelProgramming应用平行信息处理技术、ParallelComputerArchitecture平行计算机结构、Fault-TolerantDigSystemDesign容错挖掘系统设计、DesignandImplementationofCompilers编译器的设计和实现、High-PerformanceComputerArchitecture高性能计算机结构。
学习计算机系统结构的学生适合于从事计算机网络、嵌入式技术、高性能计算、网络信息安全与多媒体信息处理等领域的工作。很多跨国公司和国内知名大型企业,如Microsoft、IBM、HP、AMD、Intel、Oracle、SAP、华为等公司对该专业人才的需求量都较大。
InformationSystems信息系统
信息系统的研究集中在数学模型的发展和应用,以及信息处理的技巧和算法方面。除了一些核心领域例如信息理论和编码、控制和优化、信号处理、学习和交互等,还包括其他一些偏应用的领域,包括生物医学成像、无线通信和网络、多媒体通信、网络、能源系统、交通系统和金融系统。它的研究领域通常包括:
▏Communications通信
▏ControlandOptimization控制和优化
▏InformationTheoryandCoding信息理论和编码
▏LearningandStatisticalInference学习和统计交互
▏SignalProcessing信号处理
整体来说IS(InformationSystems)或者MIS(ManagementInformationSystems),就是利用技术手段去有效的管理信息。换句话说,信息的安全性、有效性和及时性等都是管理的范畴。这个方向有开在商学院下的,有CS下的,有IE下的等。广义的MIS或IS里的system,不仅仅是一台电脑,不仅仅是CRM,不仅仅是ERP等等这种软件及硬件组成的一个大型的“system”,一个公司可以看作是一个system,每个员工都可以看作是这个system里的一个元素,而员工与员工之间的语言,或文件的工作交接都算是information,这就是为什么有的MIS会开设在商学院下的。
而狭义的MIS或者IS,就是指一个CRM或者ERP等这样的系统,而这种偏向性的专业一般开设在CS、EE或者IE下了。还有一类特殊的专业,还有开设在libraryscience下的,这个MIS更多的是信息索引了。国外的图书馆都非常的庞大,藏书非我国大学藏书规模所能比拟的。而且还涉及到很多图书馆是连锁机构,比如说我们在A地点借的书,可以从B地点还。这样书就客观的从A地点流动到了B地点。从管理上需要有计算机的技术手段去帮助管理,否则管理成本之高是一般图书馆所难以承受的。
从广义的MIS专业的领域来说,现在有些学校开设的InformationManagement、InformationTechnology、InformationScience以及部分的EngineeringManagement下的学习方向都可以算作是MIS或IS。这也反映了理工科新兴方向的特点,已经各种犬牙交错。
例如NewYorkUniversity是开设在CS下,UniversityofMichiganatAnnArbor是开设在InformationSchool下,ColumbiaUniversity是开设在IndustrialEngineeringandOperationResearch下,UniversityofMarylandatCollegePark开设在商学院下。CarnegieMellonUniversity开设在汉斯管理学院下。虽然诸如StanfordUniversity开设在EE下,但是这并非是主流方向。
从整体的申请情况来看排名很难客观的体现MIS或者IS的实力,因为我们常用的USNEWs的排名主要是针对LibraryScience的,而非真正的MIS或IS。一般比较反映MIS和IS实力的,还是CS和IE的排名。
MIS的学生毕业后主要的就业方向是以ITProfessional为主。这是一个笼统的说法。具体一点说,有的去做了软件外包,因为MIS里涉及到很多软件开发的东西,也就是软件工程的东西。有的去了银行等对数据安全要求非常高的机构(我们上面有讲过,MIS广义上来说,需要做的事情是确保信息的安全,有效和及时性)。还有人去了一些咨询公司,或者金融类机构去做后台的数据分析等工作,也就是做了金融工程的学生所做的工作。当然这都是理想的情况。有很多从业的方向跟CS毕业生是一样的,做一些基础的Programming/Coding或者Testing的工作等。
Systems系统
这个专业用最简单的话来说就是主要培养学生学习当下先进的计算机系统技术,让学生可以设计出不断进步的计算机系统,它可能学到的课程如下:
▏MultimediaSystems多媒体系统
▏OperatingSystemsDesign操作系统设计
▏Real-TimeSystems实时系统
▏DistributedSystems分布式系统
▏CommunicationNetworks通信网络
▏WirelessNetwork无线网络
▏ComputerSecurityI计算机安全
▏AdvancedOperatingSystems高级操作系统
▏AdvancedDistributedSystems高级分布式系统
▏AdvancedComputerNetworks高级计算机网络
▏ComputerSystemsAnalysis计算机系统分析
▏SystemsModelingSimulation系统建模和系统模拟
▏AdvancedComputerSecurity高级计算机安全
▏ComputerNetworks计算机网络
▏Computability,Algorithms,andComplexity计算、算法和复杂性原理
▏DesignandImplementationofCompilers编译器的设计和实现
▏High-PerformanceComputerArchitecture高性能计算机结构
▏AdvancedInternetComputingSystemsandApplications高级网络计算机系统和应用
▏InternetworkingArchitecturesandProtocols网际交换结构和协议
它的一些受欢迎的研究课题包括InformationTheoryandCoding信息理论和代码、WirelessandSensorNetworks无线和传感器网络、NetworkDesignandAnalysis网络设计与分析、Security安全等。其中最热门的方向当属DistributedSystems分布式系统了。
Systems的毕业生将来可以到IT公司、咨询公司、金融机构甚至是CIA(中央情报局)工作,这是比较理想的情况。SAP;金融机构主要做一些后台工作,比如金融机构内部系统,或者对客户的系统的维护。IT公司就不用说了,如IBM,HP等。
在CS领域我们选取了一些分支,有些详细,有些简单,同时也由于CS本身的分支错综复杂,本书并不能一一列出,例如比较活跃的研究领域ProgrammingLanguage程序设计语言,学的是计算机语言的设计和实现,目的是提高程序员的效率和程序的质量,它要学习的内容包括抽象的计算机语言理论,以及具体的对高级语言的应用和实现。该领域是所有CS相关分支的基础,因此也基本包含在了各个学校的各个分支的课程中。当然也有学校单独将其作为其中一个分支,例如UniversityofIllinoisatUrbanaChampaign。
作为发明第一个可以显示图片的浏览器的大学,UIUC在CS领域也算是全美的领头学校之一,它在ProgrammingLanguages,FormalSystems,andSoftwareEngineering领域有自己的实验中心,即UniversalParallelComputingResearchCenter、OpenSystemsLaboratory、FormalSystemsLaboratory和SoftwareArchitectureGroup。另一方面,因为并不存在单一的通用的编程语言,因此掌握多种语言也是学习CS专业的必要组成部分。同时它也受影响于并影响着数学、软件工程和语言学等学科。其它学科也都有类似的特点,几乎每一个分支都不是独立存在的,都是互相制约互相影响的。这些同样适用于理工科的其它专业。