计算机科学系

课程

CSCI 121 -计算机科学基础1

计算机科学导论,涵盖的主题包括基本算法和数据结构、功能和程序抽象、数据抽象、面向对象、逻辑和数字表示。重点是数学问题和计算以及递归算法和数据结构。本课程包括一个重要的编程实验部分,学生将使用高级语言解决计算问题。处理和执行程序的机制将被调查。

单位(s): 1
集团分销要求:分销集团III
先决条件:三年高中数学。
教学方法:讲座-实验
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

中级计算机科学基础1

计算机科学导论,涵盖的主题包括基本算法和数据结构、功能和程序抽象、数据抽象、面向对象、逻辑和数字表示。重点是数学问题和计算以及递归算法和数据结构。本课程包括一个重要的编程实验部分,学生将使用高级语言解决计算问题。处理和执行程序的机制将被调查。

单位(s): 0.5
集团分销要求:分销集团III
先决条件:三年高中数学
教学方法:讲座-实验
评分方式:字母评分(A-F)
注:这是计算机科学121的加速版本,适合具有重要编程经验的学生。
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

计算机科学基础II

计算机科学的第二门课程,介绍先进的结构和技术。本课程将发展计算的基础,介绍计算的理论模型以及实际的计算机系统构建。选定的主题包括数字设计,从门到处理器;解释器的构建,包括语言解析和运行时系统;并行和并发;和普遍性。将会有一些重要的编程项目威博体育探索这些主题,并向学生介绍支持其构建的高级编程技术和数据结构。

单位(s): 1
集团分销要求:分销集团III
前提条件:CSCI 121或同等学历
教学方法:讲座-实验
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 315 -道德与公共威博体育

本课程探讨新计算机技术所带来的伦理和公共威博体育问题。主题每年都有所不同,但通常包括黑客犯罪和网络战、知识产权法、数据隐私和算法决策的公平性。

单位(s): 1
集团分销要求:分销集团III
前提条件:CSCI 221和HUM 110或同等学历
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 361 -并行和并发

我们研究了在高吞吐量多处理器系统上实现高性能的理论。在课程的前半部分,我们将开发并分析使用共享内存或消息传递进行通信的紧密耦合同步系统的并行算法。在后半部分中,我们将研究松耦合系统,研究同步威博体育共享数据结构的有效机制,并特别关注证明其正确性。虽然我们在整个过程中都在看这些系统的抽象模型,但学生们也将被要求在当前的多处理器硬件上实现他们的想法。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 221,和CSCI 382或数学382
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

计算机与网络安全

介绍计算机系统和网络环境下的安全问题。学生将识别、分析和解决计算机系统中与网络相关的安全问题。概念包括基本的身份验证和加密技术、威博体育控制以及常见攻击模式(如跨站点脚本和缓冲区溢出)的缓解。学生将使用安全工具进行实际操作,并将安全概念威博体育于编程项目。

单位(s): 1
集团分销要求:分销集团III
先决条件: 去找找CSCI 221 
教学方法:讲座-会议
评分方式:字母评分(A-F)
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 375 -机构设计

机制设计简介:研究集中不受监管的竞争过程,以获得更有利于社会的结果(例如,向食品银行分配食物,在遗嘱中划分资产,以及将申请人与雇主匹配)。本课程将提供机制设计主题的入门概述,包括匹配市场、博弈论、分配问题和拍卖。课程将包括数学证明、实施、伦理讨论、论文阅读和研究项目的平衡。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 382或数学382
教学方法:讲座
评分方式:字母评分(A-F)
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 378 -深度学习

本课程介绍深度神经体系结构及其训练。从回归、优化和正则化的基础开始,课程将调查各种架构及其相关威博体育。学生将开发实施深度学习系统来执行各种任务的项目。

单位(s): 1
集团分销要求:分销集团III
先决条件:数学201和CSCI 121
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 382 -算法和数据结构

介绍了算法的设计和分析。本课程将着重于各种抽象数据类型和相关算法。本课程将包括在计算机上实现其中一些思想。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 121或同等学历,数学112和数学113
教学方法:讲座-会议
评分方式:字母评分(A-F)
交叉上市(s): 数学382 
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 383 -高级算法

一门关于算法的高级课程,超越了MATH/CSCI 382所涵盖的材料。主题各不相同,但经常包括线性规划、近似算法、图算法、随机算法、计算几何和字符串算法。

单位(s): 1
集团分销要求:分销集团III
先决条件:数学201和CSCI 382或数学382
教学方法:讲座-会议
评分方式:字母评分(A-F)
交叉上市(s): 数学383 
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

程序设计语言的设计与实现

现代编程语言的组织和结构的研究。本课程将概述关键的编程语言范例,包括函数式、面向对象和基于逻辑的语言,特别侧重于它们背后的基本概念,包括语法、语义和类型系统。它将采用数学方法,检查与形式逻辑和证明机械化的几个强联系,特别是与程序属性相关的逻辑和证明方法。

单位(s): 1
集团分销要求:分销集团III
前提条件:CSCI 221和数学112或数学113
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 385 -计算机图形学

介绍计算机图像合成和数学建模在计算机图形学中的威博体育。主题包括图像处理,2-D和3-D建模技术,如曲线和曲面表示,交叉和隐藏表面去除的几何算法,3-D渲染和动画。

单位(s): 1
集团分销要求:分销集团III
前提条件:CSCI 121和数学201
教学方法:讲座-会议
评分方式:字母评分(A-F)
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

私有和公平的数据分析

本课程研究在分析数据时可能面临的两个重要的社会或伦理约束。课程的前半部分涉及隐私问题,在分析数据集时必须不侵犯数据集所包含的人的隐私。课程的后半部分涉及公平性,其中一个是寻求确保机器学习算法输出的分类规则在种族,威博体育或其他受保护属性方面不具有歧视性。在整个课程中,我们将专注于创建社会期望属性的数学形式化过程,以及满足这些定义的算法设计。学生将直接参与当前的研究论文。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 121或数学141;以及CSCI 382/MATH 382, CSCI 387/MATH 387或MATH 391之一
教学方法:讲座
评分方式:字母评分(A-F)
交叉上市(s): 数学386 
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 387 -可计算性和复杂性

介绍计算模型,包括有限自动机、形式语言和图灵机,最终达到通用性和不可判定性。介绍资源有限的计算模型和算法复杂度类,包括NP和PSPACE,以及相对硬度和完备性的概念。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 121或同等学历,数学112和数学113
教学方法:讲座-会议
评分方式:字母评分(A-F)
交叉上市(s): 数学387 
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 388 -密码学

介绍现代密码学。主题包括私钥和公钥加密、消息验证码、伪随机性和数字签名。重点放在安全性的正式定义、安全性的证明和密钥构造上。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 382/MATH 382, CSCI 387/MATH 387,或MATH 332
教学方法:讲座-会议
评分方式:字母评分(A-F)
交叉上市(s): 数学388 
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 389 -计算机系统

研究计算系统的设计和实现,测量计算机体系结构,机器组织,硬件软件接口,内存和存储子系统,编译和运行时,并发和网络化编程。学生们学会特别注意影响程序性能的潜在因素。介绍与独立执行过程的同步和协调相关的问题的方法,以及分布式和基于网络的服务的结构。

单位(s): 1
集团分销要求:分销集团III
先决条件: 去找找CSCI 221 
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

高级计算机体系结构

一门威博体育探索计算机处理器实现的课程,侧重于寻求高性能的技术和设计。我们将研究流水线、超标量设计、多处理器系统、多处理器中的缓存一致性、图形处理单元、嵌入式系统和网络处理器。

单位(s): 1
集团分销要求:分销集团III
先决条件: 去找找CSCI 389 
教学方法:讲座-会议
评分方式:字母评分(A-F)
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 396 -计算机网络

计算机网络的广泛威博体育探索,包括历史、通信理论、网络架构、互联网协议、客户端-服务器模型、提高网络安全的策略以及现代网络的社会影响。课程强调理论和实践,因此包括数学分析和用Python编写的编程项目。

单位(s): 1
集团分销要求:分销集团III
前提条件:CSCI 221和数学112或数学113
教学方法:讲座-会议
评分方式:字母评分(A-F)
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 421 -计算机科学理论专题研讨会

本课程是对理论计算机科学领域研究的威博体育探索。主题因产品而异。示例主题包括随机或并行算法,近似算法,量子计算或复杂性,以及零知识证明系统。并不是所有的主题都是每年提供的。

 

沟通的复杂性

对通信复杂性的介绍,它研究为了解决威博体育定的问题,一组当事人之间需要共享多少数据。与时间和空间复杂性不同,通信复杂性允许更多的负边界和精确的表征。本课程不仅强调学习材料,还强调学习过程,培养学生独立学习和技术交流的技能。

单位(s): 0.5
集团分销要求:分销集团III
先决条件(s):通信复杂性:数学113和数学201
教学方法:讲座-会议
评分方式:字母评分(A-F)
可重复修读学分:可修读4次
交叉上市(s): 数学421 
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 422 -计算机科学专题研讨会

计算机科学高级研讨会。主题因产品而异。学生将学习计算机科学的高级主题,参与先进的材料和当前的研究。并不是所有的主题都是每年提供的。

 

形式验证

程序正式验证的介绍。本课程将探讨通过文献来证明程序满足某些性质的方法。这包括用于指定程序属性的工具,例如形式逻辑,以及用于证明这些属性成立的算法。主题包括SAT解决,模型检查和抽象解释。

单位(s): 1
集团分销要求:分销集团III
前提条件:正式验证:CSCI 384
教学方法:讲座-会议
评分方式:字母评分(A-F)
可重复修读学分:可修读4次
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 441 -计算机科学理论主题

从先进的算法设计和理论计算机科学,包括复杂性理论,量子计算和近似算法的主题的威博体育探索,由讲师选择。

单位(s): 1
集团分销要求:分销集团III
先决条件:数学201,和CSCI 382/MATH 382,和CSCI 387/MATH 387
教学方法:讲座-会议
评分方式:字母评分(A-F)
可重复学分:如果不同的主题,最多可获得4次学分。
交叉上市(s): 数学441 
注:每隔一年提供一次。
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 442 -计算机系统主题

威博体育探索计算机系统中的高级主题。具体的题目由教师自行决定。

缓存管理策略

本课程的重点是关于如何管理计算机系统中的内存层次的有趣的研究级问题。我们将考虑实际问题和理论问题,进行分析和模拟。主题将包括不同的缓存模型、高级替换算法、堆栈属性、竞争比率、替代度量、模拟、实验性能分析等等。学生应该为包括编程和证明类型问题的作业做好准备。

单位(s): 1
集团分销要求:分销集团III
先决条件:CSCI 389和CSCI 382或数学382
教学方法:讲座-会议
评分方式:字母评分(A-F)
可重复学分:如果不同的主题,最多可获得8次学分。
不提供:2025-26年
小组分布学习成果:
  • 使用和评估定量数据或模型,或使用逻辑/数学推理来评估,测试或证明陈述。
  • 威博体育定一个问题或疑问,提出一个假设或猜想,并设计一个实验,收集数据,或使用数学推理来测试或验证它。

CSCI 470 -论文

单位(s): 2
教学方法:自主学习
评分方式:字母评分(A-F)
注:课程为期一年,每学期一单元。

CSCI 481 -独立研究

单位(s): 0.5
前提条件:导师和部门批准
教学方法:自主学习
评分方式:字母评分(A-F)
可重复修读学分:最多可修读4次。
注:主要针对大三和大四学生。