滑铁卢大学 University of Waterloo国际公共政策硕士+ 查看更多
滑铁卢大学 University of Waterloo
国际公共政策硕士
+ 查看更多
位于滑铁卢大学戴维斯中心的 David R. Cheriton 计算机科学学院汇集了 100 多名教授、名誉教授和讲师,60 名行政、教学和技术人员,以及 4,000 多名本科生和 400 名研究生. 切瑞顿计算机科学学院前身为应用分析与计算机科学系,成立于1967年,现已发展成为加拿大最大的学术计算机科学研究中心。
根据 Maclean 的2023 年大学排名,我们的项目和研究声誉连续第三年在全国 排名第一,根据2022 年和2021 年Quacquarelli Symonds 全球大学学科排名,我们跻身国际前 25 所大学之列。
Cheriton 计算机科学学院拥有 8 名加拿大皇家学会院士、7 名计算机协会院士和 7 名电气和电子工程师学会院士。
学生可以与我们国际知名的研究人员一起参与各种主题的研究项目。Waterloo的研究跨越计算机科学领域,从系统、理论和编程语言的核心工作到人机交互、DNA 和量子计算,再到理论和应用机器学习等等。
作为一名研究生,你将:
- 访问研究密集型实验室空间
- 获得在顶级会议和期刊上发表您的作品的机会
- 在您所在领域的同行、行业领导者、研究人员和专家面前出席重要会议
研究领域
- 算法和复杂性
- 人工智能
- 生物信息学
- 计算机代数和符号计算
- 计算机图形学
- 密码学、安全和隐私
- 数据库
- 正式方法
- 健康信息学
- 人机交互
- 信息检索
- 机器学习
- 编程语言
- 量子计算
- 科学计算
- 软件工程
- 系统和网络
项目情况
项目时长:1-2年 全日制
授课地点:加拿大·安大略省·滑铁卢
学士学位
计算机科学或工程学荣誉学士学位(或同等学历)且成绩至少达到 78%
简历
成绩单
3封推荐信
至少2封学术推荐信
英语能力
托福:90+,写作25 口语25
雅思:7.0+,写作6.5 口语6.5
数据科学计算机科学基础
本课程专为没有计算机科学本科学位的数据科学 MMath 学生设计。它为这些学生提供了学习数据科学研究生课程所需的背景知识,这些课程具有很强的计算风格。主题包括以下内容。处理器的设计和操作。内存层次结构。操作系统、并发性、并行性和网络的基本概念。基本数据结构及其在算法设计和分析中的应用。
数据密集型分布式分析
向非 CS 专业学生介绍数据敏感分析的基础设施,重点介绍允许开发人员在多台机器上分配计算的抽象、框架和算法。主题包括核心概念(分区、复制、局部性、一致性)、计算模型(MapReduce、数据流、流处理、批量同步并行)和应用程序。
卫生系统中的安全和隐私
概述与健康环境中应用程序的设计和使用相关的基本安全和隐私原则。介绍了程序安全、操作系统安全、网络安全、数据安全以及与安全和隐私策略管理相关的问题。仅限健康信息学硕士学生。
计算机网络和分布式计算机系统简介
介绍计算机网络、互联网协议和分布式系统。分层模型、命名、寻址和路由、可靠通信、安全性和分布式系统设计元素。仅限健康信息学硕士学生。
数据管理和使用原理
一种面向用户的方法来管理大量数据集合。关系数据库技术、关系代数、SQL、数据库视图、事务、数据建模方法、实体关系模型。介绍数据库研究中的几个当前主题,例如仓储、数据挖掘、管理数据流、数据清理、数据集成和分布式/并行数据库。仅限健康信息学硕士和数据科学与人工智能硕士学生。
编程语言原理
接触当代编程语言中的重要概念和问题。数据类型、抽象和多态性。程序结构。Lambda 演算和函数式编程、逻辑编程、面向对象编程。编程语言的语义。使用从各种编程语言(包括 Lisp、Prolog、ML、Ada、Smalltalk、Icon、APL 和 Lucid)中提取的示例对语言特性和编程方法进行批判性比较。编程作业涉及使用其中一些语言。
编译器构造
编译阶段。词法分析和语法分析复习。编译器-编译器和翻译器编写系统。LEX 和 YACC。范围规则、块结构和符号表。运行时堆栈管理。参数传递机制。堆栈存储组织和模板。堆存储管理。中间码。代码生成。宏。
软件需求规范和分析
向学生介绍软件开发的需求定义阶段:用于软件需求识别、表示、分析和验证的模型、符号和过程。根据早期文件和规范进行成本估算。
软件设计和架构
向学生介绍软件开发的设计、实施和演化阶段。软件设计过程、方法和符号。实施设计。设计和实现的演变。设计活动的管理。
软件测试、质量保证和维护
向学生介绍软件系统的系统测试。软件验证、审查、指标、质量保证以及软件可靠性和可用性的预测。相关管理问题。
数据库系统实施
本课程的目的是向学生介绍构建关系数据库管理系统的基础知识。本课程通过研究存储管理(数据布局、基于磁盘的数据结构)、索引、查询处理算法、查询优化、事务并发控制、日志记录和恢复等主题,重点介绍数据库引擎核心技术。将优先考虑 CS 研究生。所有其他的都需要得到学校的许可。
人机交互
介绍设计和描述评估的基本理论、方法和研究:旨在满足现实世界人类需求的新型计算工件。
计算机体系结构
本课程旨在让学生了解现代计算机设计及其与系统架构、编译器技术和操作系统功能的关系。该课程强调基于性能测量及其对并行性、效率、延迟和资源利用率的依赖性的设计。
数据密集型分布式计算
向学生介绍数据密集型计算的基础设施,重点介绍允许开发人员在多台机器上分配计算的抽象、框架和算法。主题包括核心概念(分区、复制、局部性、一致性)、计算模型(MapReduce、数据流、流处理、批量同步并行)和应用程序。
实时编程
旨在让学生体验实时编程的工具和技术,本课程不仅包括微型计算机体系结构和实时编程语言和操作系统的问题,还包括为过程控制等应用程序编写微型计算机的实践经验,数据采集和通信。.CS专业研究生优先。其他的都需要部门的批准。
分布式系统
介绍分布式系统,强调此类系统中的多层次软件。具体主题包括数据通信基础、网络体系结构和协议、局域网、分布式系统中的并发控制、分布式系统中的恢复以及时钟同步。将优先考虑 CS 研究生。其他的都需要部门的批准。
计算机网络
介绍网络架构和协议,重点放在 Internet 中使用的协议。具体主题包括应用层协议、网络编程、传输协议、路由、组播、数据链路层问题、多媒体网络、网络安全和网络管理。
系统性能评估
系统性能评估的基本技术。具体主题包括:性能建模、离散事件模拟、模拟模型的验证和验证、模拟输出分析、单服务器队列和排队网络分析、计算机系统、网络和其他排队或非排队系统的建模。
计算机安全和隐私
计算各个方面的安全和隐私问题。具体主题包括:比较安全和隐私、程序安全、编写安全程序、程序威胁控制、操作系统安全、正式安全模型、网络安全、互联网应用程序安全和隐私、隐私增强技术、数据库安全和隐私、推理数据采矿、安全政策、物理安全、安全经济学以及法律和道德问题。(注意:假定操作系统知识等同于从 CS 350 获得的知识。)
形式语言和解析
语言及其表示。语法-乔姆斯基层次结构。规则集和顺序机。上下文无关语法-范式,基本属性。下推自动机和传感器。对语言的操作。语言理论中不可判定的问题。应用程序设计语言和编译器构造。
计算复杂性理论
根据解决方案所需的计算资源对问题进行分类,重点是可行计算的特性而不是特定算法。主题包括:时间和空间复杂性、易处理和难处理的问题、使用随机性的计算、并行计算。
算法设计与分析
设计良好的算法并分析它们消耗的资源。计算某些函数的算法资源需求的下限。从这个角度讨论了以下领域的问题:排序和顺序统计、数据结构、算术计算、NP 完全问题。
计算线性代数
数值线性代数技术的基本概念和实现及其在解决应用问题中的应用。求解具有特殊特征的线性系统的特殊方法。直接方法:对称、正定、带、一般稀疏结构、排序方法。迭代法:Jacobi、Gauss-Seidel、SOR、共轭梯度。计算和使用矩阵的正交分解。用于解决最小二乘问题的 QR 和 SVD 方法。特征值和奇异值分解。这些分解在实践中的计算和使用。
金融建模数值计算
金融模式、数值方法和计算环境的相互作用。期权定价和对冲的基本计算方面。随机微分方程的数值方法,强收敛和弱收敛。生成相关的随机数。时间步进方法。Black-Scholes 方程的有限差分法。离散化、稳定性、收敛性。投资组合优化方法,数据错误对投资组合权重的影响。(与 CS 476 一起举行)。
神经网络
介绍神经网络方法,并讨论它们与神经科学的相关性。简单的神经元模型和神经元网络。训练用于分类或回归的前馈网络。使用错误的反向传播进行学习。无监督学习方法。最佳线性解码。递归神经网络。卷积神经网络。高级主题,包括对抗性输入和生物学上合理的学习方法。
机器学习概论
介绍机器从数据中学习概念的建模和算法技术。泛化:欠拟合、过拟合、交叉验证。任务:分类、回归、聚类。基于优化的学习:损失最小化、正则化。统计学习:最大似然,贝叶斯学习。算法:最近邻、(广义)线性回归、高斯混合、高斯过程、核方法、支持向量机、深度学习、序列学习、集成技术。大规模学习:分布式学习和流式学习。应用:自然语言处理、计算机视觉、数据挖掘、人机交互、信息检索。
生物序列分析中的计算技术
生物序列分析中的计算机科学原理和算法。主题包括用于序列比较的算法、用于生物数据库中的大规模数据库搜索、用于序列组装、用于进化树重建、用于识别 DNA 和 RNA 序列中的重要特征,以及用于理解字符串和树以及进行概率推理的基础计算技术. (与 CS 482 一起举行)。
计算视觉
介绍计算机对图像和视觉的理解。相机系统几何、图像形成和照明以及图像采集。识别边缘、区域、线条和表面的基本视觉过程。处理立体图像和图像序列中的运动。物体识别。计算机视觉系统的应用。
机器学习:统计和计算基础
从大型数据集的随机样本中提取有意义的模式。对产生的问题进行统计分析。此类任务的通用算法范例。核心概念:VC 维度、分类器边距、稀疏度和描述长度。性能保证:泛化界限、数据相关误差界限和学习算法的计算复杂度。常见范例:神经网络、内核方法和支持向量机、数据挖掘应用。
人工智能概论
人工智能的目标和方法。解决一般问题的方法。数理逻辑导论 机械定理证明。玩游戏。自然语言处理。将优先考虑 CS 研究生。其他的都需要部门的批准。部门批准将由本科顾问。
符号计算简介
介绍使用计算机进行符号数学计算,涉及传统数学计算,如求解线性方程(精确)、函数的解析微分和积分以及微分方程的解析解。
计算机图形学概论
用于交互式计算机图形的软件和硬件。设备驱动程序、3-D 转换、裁剪、透视和输入例程的实现。数据结构、隐藏表面去除、颜色着色技术和一些其他主题将被涵盖。将优先考虑 CS 研究生。其他的都需要部门的批准。
文献与研究
这是在计算机科学教员的监督下进行的个人学习课程。主题应由学生和教师双方同意。这是一门学分/无学分课程。部门许可将由研究生课程协调员获得。
文学与研究
这是在计算机科学教员的监督下进行的个人学习课程。主题应由学生和教师双方同意。这是一个等级课程。部门许可将由研究生课程协调员获得。
计算的社会影响
本课程旨在考虑个人、组织和社会在采用计算机技术时遇到的问题,以评估可能的行动方案。
数据库工程
面向项目的课程,涵盖关系数据库管理系统的实施。主题包括数据库系统架构;管理主存储和二级存储;查询处理;元数据和目录管理;语言处理;查询优化和计划生成;并发性;失败和恢复;可扩展性;客户端-服务器交互。
非传统数据库
非关系数据库的管理,例如多媒体数据库、文本数据库、时态数据库或空间数据库。每个产品都将针对特定类型的数据。主题包括非关系数据库管理的基本原理和常见应用;系统和标准;抽象数据模型;数据定义和操作语言;数据存储和索引;查询处理和优化;更新和交易管理。
并行和分布式数据库系统
并行数据库管理系统中使用的算法和体系结构,重点是关系系统。主题包括系统架构;并行和分布式查询处理;联合数据库系统;分布式事务;数据复制。
数据库管理和使用原理
关系数据库及其使用方法的概述;接触关系数据库技术。交易基础。数据库视图。介绍两种或三种可供选择的数据模型和系统,例如用于结构化文本、空间数据、多媒体数据和信息检索的数据模型和系统。介绍数据库研究中的几个当前主题,例如仓储、数据挖掘、管理数据流、数据清理、数据集成和分布式数据库。
高级编译器设计
面向项目的课程,涵盖优化编译器和高级编程语言功能的实现。主题包括中间表示;数据流、依赖和别名分析;优化转换、寄存器分配、指令调度;内存管理、垃圾收集、线程、并发;单继承和多继承、泛型、模板、类型推断。
计算机辅助验证
形式化方法在基于计算机的系统验证中的应用。代数和自动机预备知识。时间逻辑和模型检查。决策程序。机械化定理证明。由教师选择的高级主题。
软件架构
面向项目的课程,涵盖软件架构中的概念。主题包括基本概念(组件和连接器、基本原理、视图、体系结构图、团队影响、演变、规模考虑)、软件体系结构基础理论、从实现工件中提取体系结构、基于 Web 和企业系统的体系结构、子系统集群、软件架构的可视化方法,软件架构的理解和认知方面。
使用证明助手进行软件验证
从属类型和 Curry-Howard 对应关系(作为程序的证明);通过归纳构建归纳数据类型和证明;关系;平等; 逻辑连接词和量词;决策程序;简单类型的 lambda 演算及其定理;本质类型的表示;基本算法的验证。
高级分布式系统
本课程广泛讨论了现代分布式系统中的高级主题。本课程将讨论这些系统的最新技术水平以及它们如何以及为何到达那里。该课程将讨论当前的数据中心硬件和软件架构、通信中间件,以及现代系统如何容忍故障、保持数据一致性、扩展、利用新的硬件功能以及利用高度并发的硬件。
系统和网络架构与实施
分布式、多用户应用程序是使用许多底层技术设计和实现的,这些技术必须协调以提供重要的特性,例如健壮性、可伸缩性、可管理性、无处不在的访问、隐私、安全性、身份验证和基于角色的访问控制,仅举一个例子很少。支持应用程序的网络可能对其成功实施至关重要。应用程序逻辑本身可能以多种语言和编程环境实现。将为学生提供当前网络和分布式系统主题的高级概述,并将其应用于从消费者互联网应用程序、企业系统以及医疗保健系统中提取的案例研究。
密码学/网络安全
加密协议及其在安全通信中的应用,尤其是在网络环境中。身份识别和实体认证;密钥建立、传输、协议和维护协议;秘密共享、广播加密、追踪方案;证书、公钥基础设施、PGP。
随机算法
介绍使用随机化的算法的设计和分析。主题包括基本概率的复习和随机算法的介绍;博弈论技巧;马尔可夫和切比雪夫不等式的使用;尾部不等式;马尔可夫链和随机游走;代数技巧;数据结构和图形算法。
图论算法
进一步接触算法的设计、分析和应用,以解决图上定义的问题。主题包括平面度测试和嵌入;平面图的类别和它们的快速算法;树和树状图(有界路径宽度和树宽度);完美的图形和交叉图。
计算几何
介绍几何问题算法的设计、分析和应用。主题包括二维和三维的凸包算法;Voronoi 图、Delaunay 三角剖分及其应用;低维线性规划;线段、平面细分和多边形;范围搜索。
计算复杂性
进一步接触基于计算要求的问题分类,以及旨在探索此类分类的结构后果的数学工具。主题包括相对化、交替、可证明的棘手问题、可行的并行计算;固定参数易处理性和 W 层次结构;Kolmogorov复杂度,包括算法和算法前缀复杂度及其应用。
算法数论
从算法和计算复杂性的角度来看基本和代数数论的基本问题,重点放在算法分析上。主题包括基本算术算法;有限域的计算;素性测试;整数分解算法;数字字段中的算法。
量子信息理论
量子信息理论的基础,包括状态、测量、操作及其作为矩阵的表示;量子态和操作之间距离的测量;量子香农理论,包括冯诺依曼熵、量子无噪声编码、冯诺依曼熵的强次可加性、霍尔沃定理和量子通道的能力;纠缠理论,包括纠缠测量、纠缠变换和混合态纠缠分类;在时间允许的情况下讨论量子信息中的其他主题。
计算机科学高级逻辑
该课程提供数学逻辑的扩展背景及其在计算机科学各个分支中的应用。它涵盖了一些基本概念,例如稳健性和完备性定理、紧凑性、逻辑的表达能力及其基本决策问题的计算复杂性。这些概念正在一阶逻辑和模态逻辑上得到证明。最后,本课程讨论了这些概念和工具在程序和硬件形式推理、数据库和知识表示中的应用示例。
量子信息处理
回顾量子信息和计算复杂性的基础知识;简单的量子算法;量子傅立叶变换和Shor分解算法:振幅放大、Grover搜索算法及其最优性;完全正迹保存图和克劳斯表示;非局域性和通信复杂性;量子计算的物理实现:要求和示例;量子纠错,包括 CSS 代码和容错计算的元素;量子密码学;量子密钥分发协议的安全证明;量子证明系统。熟悉理论计算机科学或量子力学也将是一项优势,尽管大多数学生并不熟悉这两者。
数值分析
介绍数值计算的基本算法和技术。误差分析、插值(包括样条)、数值微分和积分、数值线性代数(包括线性系统、特征值问题和奇异值分解的方法)、非线性方程和系统的求根、数值常微分方程和逼近方法(包括最小二乘法、正交多项式和傅里叶变换)。
高级计算金融
将讨论期权定价、对冲、模型校准和投资组合优化。将介绍计算方法,包括 PDE 方法、蒙特卡罗和数学规划。
计算视觉
可以应用高效和稳健算法的计算视觉中的基本问题。主题包括图像形成;线性系统和傅立叶理论;图像注册;特征检测;将模型拟合到数据;光流;运动结构;立体视觉; 物体识别;高层次的愿景。
高性能图像合成
面向项目的课程,涵盖使用实时交互系统和基于物理的离线渲染技术的高性能图像合成。主题包括数值技术;视觉感知和光线;渲染的数学模型;全局光照算法;实时渲染。
用户界面工具
图形输入设备和交互技术。各种物理、逻辑和虚拟设备的语用因素,交互系统的人为因素,交互对话管理器。
非真实感渲染
非真实感计算机描绘的基础知识。风格、抽象和时空连贯性的问题。传统艺术媒体的基于笔触的渲染和模拟。图像和视频的程式化处理。3D 模型的实时非真实感渲染;卡通着色器和轮廓渲染。几何艺术和装饰设计。
健康信息学中的数据结构和标准
本课程侧重于将健康数据作为所有健康信息系统的关键组成部分。主题包括卫生系统中发现的本体论和其他分类法、数据标准(重点是加拿大对国际标准的实施)、卫生数据的隐私和安全、客户/患者评估工具和道德考虑。
数据科学优化
将数据科学模型制定为优化问题的技术。解决数据科学问题的算法,重点是可扩展性、效率和并行性,包括基于梯度下降的算法、无导数算法和随机算法。算法的理论分析和识别最适合解决特定问题的算法的方法。
优化基础
线性优化:法卡斯引理、对偶性、单纯形法、多面体几何。组合优化:多面体的完整性、总单模性、流问题、加权二分匹配。连续优化:凸集、分离定理、凸函数、凸性的解析表征、Karush-Kuhn-Tucker 定理。
本课程专为没有计算机科学本科学位的数据科学 MMath 学生设计。它为这些学生提供了学习数据科学研究生课程所需的背景知识,这些课程具有很强的计算风格。主题包括以下内容。处理器的设计和操作。内存层次结构。操作系统、并发性、并行性和网络的基本概念。基本数据结构及其在算法设计和分析中的应用。
数据密集型分布式分析
向非 CS 专业学生介绍数据敏感分析的基础设施,重点介绍允许开发人员在多台机器上分配计算的抽象、框架和算法。主题包括核心概念(分区、复制、局部性、一致性)、计算模型(MapReduce、数据流、流处理、批量同步并行)和应用程序。
卫生系统中的安全和隐私
概述与健康环境中应用程序的设计和使用相关的基本安全和隐私原则。介绍了程序安全、操作系统安全、网络安全、数据安全以及与安全和隐私策略管理相关的问题。仅限健康信息学硕士学生。
计算机网络和分布式计算机系统简介
介绍计算机网络、互联网协议和分布式系统。分层模型、命名、寻址和路由、可靠通信、安全性和分布式系统设计元素。仅限健康信息学硕士学生。
数据管理和使用原理
一种面向用户的方法来管理大量数据集合。关系数据库技术、关系代数、SQL、数据库视图、事务、数据建模方法、实体关系模型。介绍数据库研究中的几个当前主题,例如仓储、数据挖掘、管理数据流、数据清理、数据集成和分布式/并行数据库。仅限健康信息学硕士和数据科学与人工智能硕士学生。
编程语言原理
接触当代编程语言中的重要概念和问题。数据类型、抽象和多态性。程序结构。Lambda 演算和函数式编程、逻辑编程、面向对象编程。编程语言的语义。使用从各种编程语言(包括 Lisp、Prolog、ML、Ada、Smalltalk、Icon、APL 和 Lucid)中提取的示例对语言特性和编程方法进行批判性比较。编程作业涉及使用其中一些语言。
编译器构造
编译阶段。词法分析和语法分析复习。编译器-编译器和翻译器编写系统。LEX 和 YACC。范围规则、块结构和符号表。运行时堆栈管理。参数传递机制。堆栈存储组织和模板。堆存储管理。中间码。代码生成。宏。
软件需求规范和分析
向学生介绍软件开发的需求定义阶段:用于软件需求识别、表示、分析和验证的模型、符号和过程。根据早期文件和规范进行成本估算。
软件设计和架构
向学生介绍软件开发的设计、实施和演化阶段。软件设计过程、方法和符号。实施设计。设计和实现的演变。设计活动的管理。
软件测试、质量保证和维护
向学生介绍软件系统的系统测试。软件验证、审查、指标、质量保证以及软件可靠性和可用性的预测。相关管理问题。
数据库系统实施
本课程的目的是向学生介绍构建关系数据库管理系统的基础知识。本课程通过研究存储管理(数据布局、基于磁盘的数据结构)、索引、查询处理算法、查询优化、事务并发控制、日志记录和恢复等主题,重点介绍数据库引擎核心技术。将优先考虑 CS 研究生。所有其他的都需要得到学校的许可。
人机交互
介绍设计和描述评估的基本理论、方法和研究:旨在满足现实世界人类需求的新型计算工件。
计算机体系结构
本课程旨在让学生了解现代计算机设计及其与系统架构、编译器技术和操作系统功能的关系。该课程强调基于性能测量及其对并行性、效率、延迟和资源利用率的依赖性的设计。
数据密集型分布式计算
向学生介绍数据密集型计算的基础设施,重点介绍允许开发人员在多台机器上分配计算的抽象、框架和算法。主题包括核心概念(分区、复制、局部性、一致性)、计算模型(MapReduce、数据流、流处理、批量同步并行)和应用程序。
实时编程
旨在让学生体验实时编程的工具和技术,本课程不仅包括微型计算机体系结构和实时编程语言和操作系统的问题,还包括为过程控制等应用程序编写微型计算机的实践经验,数据采集和通信。.CS专业研究生优先。其他的都需要部门的批准。
分布式系统
介绍分布式系统,强调此类系统中的多层次软件。具体主题包括数据通信基础、网络体系结构和协议、局域网、分布式系统中的并发控制、分布式系统中的恢复以及时钟同步。将优先考虑 CS 研究生。其他的都需要部门的批准。
计算机网络
介绍网络架构和协议,重点放在 Internet 中使用的协议。具体主题包括应用层协议、网络编程、传输协议、路由、组播、数据链路层问题、多媒体网络、网络安全和网络管理。
系统性能评估
系统性能评估的基本技术。具体主题包括:性能建模、离散事件模拟、模拟模型的验证和验证、模拟输出分析、单服务器队列和排队网络分析、计算机系统、网络和其他排队或非排队系统的建模。
计算机安全和隐私
计算各个方面的安全和隐私问题。具体主题包括:比较安全和隐私、程序安全、编写安全程序、程序威胁控制、操作系统安全、正式安全模型、网络安全、互联网应用程序安全和隐私、隐私增强技术、数据库安全和隐私、推理数据采矿、安全政策、物理安全、安全经济学以及法律和道德问题。(注意:假定操作系统知识等同于从 CS 350 获得的知识。)
形式语言和解析
语言及其表示。语法-乔姆斯基层次结构。规则集和顺序机。上下文无关语法-范式,基本属性。下推自动机和传感器。对语言的操作。语言理论中不可判定的问题。应用程序设计语言和编译器构造。
计算复杂性理论
根据解决方案所需的计算资源对问题进行分类,重点是可行计算的特性而不是特定算法。主题包括:时间和空间复杂性、易处理和难处理的问题、使用随机性的计算、并行计算。
算法设计与分析
设计良好的算法并分析它们消耗的资源。计算某些函数的算法资源需求的下限。从这个角度讨论了以下领域的问题:排序和顺序统计、数据结构、算术计算、NP 完全问题。
计算线性代数
数值线性代数技术的基本概念和实现及其在解决应用问题中的应用。求解具有特殊特征的线性系统的特殊方法。直接方法:对称、正定、带、一般稀疏结构、排序方法。迭代法:Jacobi、Gauss-Seidel、SOR、共轭梯度。计算和使用矩阵的正交分解。用于解决最小二乘问题的 QR 和 SVD 方法。特征值和奇异值分解。这些分解在实践中的计算和使用。
金融建模数值计算
金融模式、数值方法和计算环境的相互作用。期权定价和对冲的基本计算方面。随机微分方程的数值方法,强收敛和弱收敛。生成相关的随机数。时间步进方法。Black-Scholes 方程的有限差分法。离散化、稳定性、收敛性。投资组合优化方法,数据错误对投资组合权重的影响。(与 CS 476 一起举行)。
神经网络
介绍神经网络方法,并讨论它们与神经科学的相关性。简单的神经元模型和神经元网络。训练用于分类或回归的前馈网络。使用错误的反向传播进行学习。无监督学习方法。最佳线性解码。递归神经网络。卷积神经网络。高级主题,包括对抗性输入和生物学上合理的学习方法。
机器学习概论
介绍机器从数据中学习概念的建模和算法技术。泛化:欠拟合、过拟合、交叉验证。任务:分类、回归、聚类。基于优化的学习:损失最小化、正则化。统计学习:最大似然,贝叶斯学习。算法:最近邻、(广义)线性回归、高斯混合、高斯过程、核方法、支持向量机、深度学习、序列学习、集成技术。大规模学习:分布式学习和流式学习。应用:自然语言处理、计算机视觉、数据挖掘、人机交互、信息检索。
生物序列分析中的计算技术
生物序列分析中的计算机科学原理和算法。主题包括用于序列比较的算法、用于生物数据库中的大规模数据库搜索、用于序列组装、用于进化树重建、用于识别 DNA 和 RNA 序列中的重要特征,以及用于理解字符串和树以及进行概率推理的基础计算技术. (与 CS 482 一起举行)。
计算视觉
介绍计算机对图像和视觉的理解。相机系统几何、图像形成和照明以及图像采集。识别边缘、区域、线条和表面的基本视觉过程。处理立体图像和图像序列中的运动。物体识别。计算机视觉系统的应用。
机器学习:统计和计算基础
从大型数据集的随机样本中提取有意义的模式。对产生的问题进行统计分析。此类任务的通用算法范例。核心概念:VC 维度、分类器边距、稀疏度和描述长度。性能保证:泛化界限、数据相关误差界限和学习算法的计算复杂度。常见范例:神经网络、内核方法和支持向量机、数据挖掘应用。
人工智能概论
人工智能的目标和方法。解决一般问题的方法。数理逻辑导论 机械定理证明。玩游戏。自然语言处理。将优先考虑 CS 研究生。其他的都需要部门的批准。部门批准将由本科顾问。
符号计算简介
介绍使用计算机进行符号数学计算,涉及传统数学计算,如求解线性方程(精确)、函数的解析微分和积分以及微分方程的解析解。
计算机图形学概论
用于交互式计算机图形的软件和硬件。设备驱动程序、3-D 转换、裁剪、透视和输入例程的实现。数据结构、隐藏表面去除、颜色着色技术和一些其他主题将被涵盖。将优先考虑 CS 研究生。其他的都需要部门的批准。
文献与研究
这是在计算机科学教员的监督下进行的个人学习课程。主题应由学生和教师双方同意。这是一门学分/无学分课程。部门许可将由研究生课程协调员获得。
文学与研究
这是在计算机科学教员的监督下进行的个人学习课程。主题应由学生和教师双方同意。这是一个等级课程。部门许可将由研究生课程协调员获得。
计算的社会影响
本课程旨在考虑个人、组织和社会在采用计算机技术时遇到的问题,以评估可能的行动方案。
数据库工程
面向项目的课程,涵盖关系数据库管理系统的实施。主题包括数据库系统架构;管理主存储和二级存储;查询处理;元数据和目录管理;语言处理;查询优化和计划生成;并发性;失败和恢复;可扩展性;客户端-服务器交互。
非传统数据库
非关系数据库的管理,例如多媒体数据库、文本数据库、时态数据库或空间数据库。每个产品都将针对特定类型的数据。主题包括非关系数据库管理的基本原理和常见应用;系统和标准;抽象数据模型;数据定义和操作语言;数据存储和索引;查询处理和优化;更新和交易管理。
并行和分布式数据库系统
并行数据库管理系统中使用的算法和体系结构,重点是关系系统。主题包括系统架构;并行和分布式查询处理;联合数据库系统;分布式事务;数据复制。
数据库管理和使用原理
关系数据库及其使用方法的概述;接触关系数据库技术。交易基础。数据库视图。介绍两种或三种可供选择的数据模型和系统,例如用于结构化文本、空间数据、多媒体数据和信息检索的数据模型和系统。介绍数据库研究中的几个当前主题,例如仓储、数据挖掘、管理数据流、数据清理、数据集成和分布式数据库。
高级编译器设计
面向项目的课程,涵盖优化编译器和高级编程语言功能的实现。主题包括中间表示;数据流、依赖和别名分析;优化转换、寄存器分配、指令调度;内存管理、垃圾收集、线程、并发;单继承和多继承、泛型、模板、类型推断。
计算机辅助验证
形式化方法在基于计算机的系统验证中的应用。代数和自动机预备知识。时间逻辑和模型检查。决策程序。机械化定理证明。由教师选择的高级主题。
软件架构
面向项目的课程,涵盖软件架构中的概念。主题包括基本概念(组件和连接器、基本原理、视图、体系结构图、团队影响、演变、规模考虑)、软件体系结构基础理论、从实现工件中提取体系结构、基于 Web 和企业系统的体系结构、子系统集群、软件架构的可视化方法,软件架构的理解和认知方面。
使用证明助手进行软件验证
从属类型和 Curry-Howard 对应关系(作为程序的证明);通过归纳构建归纳数据类型和证明;关系;平等; 逻辑连接词和量词;决策程序;简单类型的 lambda 演算及其定理;本质类型的表示;基本算法的验证。
高级分布式系统
本课程广泛讨论了现代分布式系统中的高级主题。本课程将讨论这些系统的最新技术水平以及它们如何以及为何到达那里。该课程将讨论当前的数据中心硬件和软件架构、通信中间件,以及现代系统如何容忍故障、保持数据一致性、扩展、利用新的硬件功能以及利用高度并发的硬件。
系统和网络架构与实施
分布式、多用户应用程序是使用许多底层技术设计和实现的,这些技术必须协调以提供重要的特性,例如健壮性、可伸缩性、可管理性、无处不在的访问、隐私、安全性、身份验证和基于角色的访问控制,仅举一个例子很少。支持应用程序的网络可能对其成功实施至关重要。应用程序逻辑本身可能以多种语言和编程环境实现。将为学生提供当前网络和分布式系统主题的高级概述,并将其应用于从消费者互联网应用程序、企业系统以及医疗保健系统中提取的案例研究。
密码学/网络安全
加密协议及其在安全通信中的应用,尤其是在网络环境中。身份识别和实体认证;密钥建立、传输、协议和维护协议;秘密共享、广播加密、追踪方案;证书、公钥基础设施、PGP。
随机算法
介绍使用随机化的算法的设计和分析。主题包括基本概率的复习和随机算法的介绍;博弈论技巧;马尔可夫和切比雪夫不等式的使用;尾部不等式;马尔可夫链和随机游走;代数技巧;数据结构和图形算法。
图论算法
进一步接触算法的设计、分析和应用,以解决图上定义的问题。主题包括平面度测试和嵌入;平面图的类别和它们的快速算法;树和树状图(有界路径宽度和树宽度);完美的图形和交叉图。
计算几何
介绍几何问题算法的设计、分析和应用。主题包括二维和三维的凸包算法;Voronoi 图、Delaunay 三角剖分及其应用;低维线性规划;线段、平面细分和多边形;范围搜索。
计算复杂性
进一步接触基于计算要求的问题分类,以及旨在探索此类分类的结构后果的数学工具。主题包括相对化、交替、可证明的棘手问题、可行的并行计算;固定参数易处理性和 W 层次结构;Kolmogorov复杂度,包括算法和算法前缀复杂度及其应用。
算法数论
从算法和计算复杂性的角度来看基本和代数数论的基本问题,重点放在算法分析上。主题包括基本算术算法;有限域的计算;素性测试;整数分解算法;数字字段中的算法。
量子信息理论
量子信息理论的基础,包括状态、测量、操作及其作为矩阵的表示;量子态和操作之间距离的测量;量子香农理论,包括冯诺依曼熵、量子无噪声编码、冯诺依曼熵的强次可加性、霍尔沃定理和量子通道的能力;纠缠理论,包括纠缠测量、纠缠变换和混合态纠缠分类;在时间允许的情况下讨论量子信息中的其他主题。
计算机科学高级逻辑
该课程提供数学逻辑的扩展背景及其在计算机科学各个分支中的应用。它涵盖了一些基本概念,例如稳健性和完备性定理、紧凑性、逻辑的表达能力及其基本决策问题的计算复杂性。这些概念正在一阶逻辑和模态逻辑上得到证明。最后,本课程讨论了这些概念和工具在程序和硬件形式推理、数据库和知识表示中的应用示例。
量子信息处理
回顾量子信息和计算复杂性的基础知识;简单的量子算法;量子傅立叶变换和Shor分解算法:振幅放大、Grover搜索算法及其最优性;完全正迹保存图和克劳斯表示;非局域性和通信复杂性;量子计算的物理实现:要求和示例;量子纠错,包括 CSS 代码和容错计算的元素;量子密码学;量子密钥分发协议的安全证明;量子证明系统。熟悉理论计算机科学或量子力学也将是一项优势,尽管大多数学生并不熟悉这两者。
数值分析
介绍数值计算的基本算法和技术。误差分析、插值(包括样条)、数值微分和积分、数值线性代数(包括线性系统、特征值问题和奇异值分解的方法)、非线性方程和系统的求根、数值常微分方程和逼近方法(包括最小二乘法、正交多项式和傅里叶变换)。
高级计算金融
将讨论期权定价、对冲、模型校准和投资组合优化。将介绍计算方法,包括 PDE 方法、蒙特卡罗和数学规划。
计算视觉
可以应用高效和稳健算法的计算视觉中的基本问题。主题包括图像形成;线性系统和傅立叶理论;图像注册;特征检测;将模型拟合到数据;光流;运动结构;立体视觉; 物体识别;高层次的愿景。
高性能图像合成
面向项目的课程,涵盖使用实时交互系统和基于物理的离线渲染技术的高性能图像合成。主题包括数值技术;视觉感知和光线;渲染的数学模型;全局光照算法;实时渲染。
用户界面工具
图形输入设备和交互技术。各种物理、逻辑和虚拟设备的语用因素,交互系统的人为因素,交互对话管理器。
非真实感渲染
非真实感计算机描绘的基础知识。风格、抽象和时空连贯性的问题。传统艺术媒体的基于笔触的渲染和模拟。图像和视频的程式化处理。3D 模型的实时非真实感渲染;卡通着色器和轮廓渲染。几何艺术和装饰设计。
健康信息学中的数据结构和标准
本课程侧重于将健康数据作为所有健康信息系统的关键组成部分。主题包括卫生系统中发现的本体论和其他分类法、数据标准(重点是加拿大对国际标准的实施)、卫生数据的隐私和安全、客户/患者评估工具和道德考虑。
数据科学优化
将数据科学模型制定为优化问题的技术。解决数据科学问题的算法,重点是可扩展性、效率和并行性,包括基于梯度下降的算法、无导数算法和随机算法。算法的理论分析和识别最适合解决特定问题的算法的方法。
优化基础
线性优化:法卡斯引理、对偶性、单纯形法、多面体几何。组合优化:多面体的完整性、总单模性、流问题、加权二分匹配。连续优化:凸集、分离定理、凸函数、凸性的解析表征、Karush-Kuhn-Tucker 定理。
分享到:
相关专业申请 - 数据科学DS
相关专业申请 - 数据科学DS
相关专业申请 - 电子计算机工程ECE
相关专业申请 - 电子计算机工程ECE
相关专业申请 - 商业分析BA
相关专业申请 - 商业分析BA