01
课程结构和入学要求
什么是计算机科学学位?
简而言之,计算机科学学位涉及信息和计算的理论基础,采取科学和实用的方法计算及其应用。计算被定义为在信息处理实践中遵循定义明确的模型(例如算法和协议)的计算技术的任何类型的计算或使用(其又被定义为使用这些模型来转换计算机中的数据)。
计算机科学被许多实践者认为是基础科学-使其他知识和成就成为可能。计算机科学的研究涉及系统地研究有条理的过程(如算法),以帮助获取,表示,处理,存储,交流和访问信息。这是通过分析这些过程的可行性,结构,表达和机械化以及它们与这些信息的关系来完成的。在计算机科学中,术语“信息”通常指的是在计算机存储器中以位和字节编码的信息。
一些高等教育机构可能使用计算机科学(CS)作为总括术语,涵盖涉及计算机和技术的各种专业和职业学位。您也可能会发现计算机科学这个术语被用来指信息技术(IT)学位,尽管许多机构现在将这两者区分开来(确切地说,他们如何以及在何处绘制这条线有所不同)。确保仔细检查您选择的大学课程的详细信息。
计算机科学的顶尖大学
QS世界大学学科排名包括世界一流的计算机科学大学排名。该表可按地点或根据用于编制排名(包括学术声誉,雇主声誉和研究引用)的不同标准进行排序。
计算机科学学位的入学要求
计算机科学学位的入学要求通常强调进一步的数学,一些机构要求物理学背景。心理学或社会学背景可以为您的研究提供额外的维度,因为您已经了解人类如何处理信息,而其他自然科学也可能有所帮助。
大学本科申请计算机科学学位的学生通常不会在大学前正式学习计算机科学。但是,建议您选择一种编程语言,以了解涉及的内容。虽然普遍接受的初学者语言包括Python和C++,但Haskell,Java和Pascal是您在学习期间可能遇到的所有语言。另一方面,您可能会发现一些机构不鼓励学生预先学习编程,以避免学生在早期学习“糟糕的”编程习惯。一些机构提供联合课程,其中计算机科学与诸如数学,工程和计算等科目一起进行研究。
02
专业化
计算机科学专业
您可以期望通过在关键计算机科学主题中建立基础来开始您的计算机科学学位。您可能涉及的一些核心计算机科学课程包括计算理论,计算机科学基础,计算机和操作系统,信息理论,基础编程,系统和体系结构,软件开发和测试,Web应用程序和数据库,算法和数据结构以及原理的计算机硬件。你可能涵盖的数学概念包括形式化方法,布尔代数,离散数学,集合论,概率,统计学,线性代数,微分方程和微积分。
然后,您将选择日益增多的专业计算机科学主题,包括高级互联网,高级编程,人工智能和人工生命,计算逻辑,计算机图形学,计算机建模,计算机网络,计算机安全,计算机视觉,加密,道德GUI,游戏开发,人机交互,移动应用,多媒体计算,网络理论,专业问题和研究方法,软件工程和设计以及网络开发。
下面提供了一些流行的计算机科学主题:
编程语言理论
编程是一门跨学科的课题,融合了数学,软件工程和语言学等学科的元素。编程语言理论涉及到编程语言的设计,实现,分析,表征和分类以及它们各自的特征。你的入门课程将教你一种或多种编程语言。对多个知识的了解将帮助您更好地了解自己的优势和劣势,从而帮助您更好地应对程序设计语言理论所带来的挑战。您将涵盖诸如语法,自然语义,结构操作语义和抽象机器代码等主题。
电脑图像
学习计算机图形学涉及使用计算机使用专门的图形硬件和软件创建静止或移动二维或三维图像。您将学习如何使用计算技术处理视觉和几何信息,重点关注图像生成和处理的数学和计算基础,而不是纯粹的美学问题。你需要物理学,光学和材料知识,以及同质矩阵的数学知识,以及数据存储,表示和操作。计算机图形使计算机专业人员和消费者更容易地交流和理解计算机和解释数据。随着公司探索更多地使用“游戏化”等趋势,对具有计算机图形学先进知识的计算机科学家的需求从未如此巨大。
人机交互
对人机交互(HCI)的研究考虑到使计算机和计算有用,可用和人类普遍可访问的挑战,以防止由设计不良的人机界面引起的意外问题。再加上植根于行为科学的研究,您将涵盖这种交互的研究,规划和设计,并且理解计算机具有几乎无限的使用量,这种使用量只能在两者之间的开放式对话中进行用户和电脑。你将通过计算机图形学,操作系统,编程语言和开发环境等计算技术来研究机器端的主题,并且在人的方面探索通信,图形,语言学,认知心理学等社会科学以及用户满意。
人工智能
人工智能的研究(AI)与人工生命(AL)领域密切相关,并且都参与综合以目标为导向的过程,如解决问题,决策,适应环境,使用计算机和算法进行学习和交流等。虽然人造生命领域检查系统并研究这些系统中出现的复杂行为,但人工智能使用系统来开发机器和软件中的特定行为。人工智能是一门跨学科课题,主要借鉴应用数学,符号逻辑,符号学,电气工程,哲学(精神),神经生理学和社会智能。
算法和数据结构
算法是进行计算的分步过程,用于数据处理和自动推理-这会创建一个通常但不总是可预测的输出。数据结构提供了一种在计算机中存储和组织数据的方式,因此可以高效地使用数据结构-不同类型的数据结构适用于不同类型的应用程序,并可能针对特定任务进行高度专门化。
算法和数据结构一起构成计算机科学的所有其他方面,并涉及学习如何尽可能高效地存储和处理数据,同时确保算法能够应对所讨论的系统。您将学习诸如链表,排序和递归,树,哈希,贪婪解决方案,图表和优化数据安排等事情。您也可以继续进行算法分析(确定执行算法所需的资源数量)。
03
职业选择
计算机科学职业
选择一个计算机科学学位,你可以在下一个伟大的技术创新的前沿工作。计算机科学的日益扩大意味着您可以选择在各种高度专业化的领域工作。随着计算机技术在现代生活的各个方面扮演着越来越重要的角色,你可能会发现你的计算机科学技能在许多不同的行业中都是高需求的,尽管大多数毕业生都在计算机行业内担任角色。热门的计算机科学职业包括:
IT顾问
IT顾问与客户合作,就信息技术系统的规划,设计,安装和使用提供建议,以满足客户的业务目标,克服问题或改进IT系统的结构和效率。由于您在IT方面扮演着广泛的角色,因此您的工作与系统分析师,系统设计人员和应用程序员的工作类似,他们的角色更专业化,但仍然以咨询为基础。
在典型的一天中,您将与客户会面以确定他们的需求,计划时间表和资源,花时间澄清客户当前的系统规格,工作惯例和业务性质。您将分析他们的IT需求,开发解决方案,实施新系统(可能包括设计和安装),并将结果呈现在书面或口头报告中,回答反馈,然后帮助客户进行后续更改并为其他组织进行培训用户。您也可能参与销售和业务发展,识别潜在客户并保持良好的业务联系。
信息系统经理
与IT顾问类似的角色,信息系统经理通常是全职员工,负责公司内部计算机系统的安全和有效运作。您将负责(也许在IT员工团队的帮助下)整个维护组织内的ICT基础架构,其典型任务包括监督系统的安装,确保系统备份以及后端通过购买硬件和软件,为所有用户(包括远程用户)设置安全访问,确保内部和外部攻击的数据安全以及为用户提供IT支持和建议。
您需要确保ICT设施能够满足您公司的需求,并且保持新状态,同时保持在预算范围内,并符合所有相关软件许可法律。您可能还需要了解业务和管理原则,以便为与IT相关的质量标准和战略规划制定组织政策。
数据库管理员
一个数据库管理员(DBA)负责准确,安全地使用,开发和维护一个计算机化数据库的性能,完整性和安全性。具体角色总是由有问题的组织决定的,但可能意味着纯粹涉及数据库维护或专门从事数据库开发。角色还取决于特定组织中使用的数据库类型和数据库管理系统(DBMS)的流程和功能。
通常,这一角色包括确保数据保持一致,明确定义,易于访问,安全并可在紧急情况下恢复。如果出现任何问题,您还需要排除故障,与程序员,操作人员,IT项目经理和技术人员联系,提供用户培训,支持和反馈,编写报告,文档和操作手册。
多媒体程序员
一个多媒体程序员负责设计和制作的多媒体电脑产品,确保它们的功能和保持忠于设计师的规范。您将使用创意和技术技能来开发多媒体功能,包括文字,声音,图形,数码摄影,2D/3D建模,动画和视频。您需要与设计人员一起了解设计概念,讨论如何在技术上实现它,确定必要的操作规则,编写高效的计算机代码或脚本以使这些功能正常工作,运行产品测试以测试错误并在必要时重新编写或添加新代码。
在产品完成后,您也可以获得技术支持,并且需要及时了解行业新闻和发展动态,以便提出建议和实施改进。您可以跨平台(如互联网,交互式电视,信息亭,DVDS,电脑游戏控制台和手机)工作,或保持专门的平台。您的角色可能会与类似的IT角色重叠,例如Web开发人员,游戏开发人员,系统开发人员或软件工程师,或者您可能会与这些专业人员协同工作以实现共同目标。
具有计算机科学学位的更多职位
具有计算机科学学位的进一步工作包括作为分析师(作为业务连续性,系统或技术),作为管理员(数据库)工作在其他发展领域(如网络,游戏,系统,产品,程序和软件)或网络)或学术或工业研究能力,有助于持续发展计算机和相关技术。
计算机科学职业机会遍布各种行业部门和组织,包括:金融机构,IT公司,管理咨询公司,软件公司,通信公司,数据仓库,跨国公司(与IT相关的金融服务及其他)政府机构,大学和医院。其他选择包括作为技术作者或培训师(向非技术读者解释技术信息),或进入教学,新闻,管理或创业。