CS课程描述

  • CSCI005嗯 计算机科学概论

    学分: 3

    指导老师: 多德,梅得罗,斯科菲尔德

    提供: 秋天

    描述: 介绍计算机科学的基本知识. 学生学习计算解决问题的技巧,并获得设计经验, implementa-tion, 测试, 以及用高级语言编写的程序文档. 除了, 学生学习设计数字设备, 了解计算机的工作原理, 学习用一种小型机器语言编程. 学生也接触到可计算性理论的思想. 该课程还整合了与计算机科学相关的社会和伦理问题.

  • CSCI005GR嗯 生物与计算机科学导论

    学分: 3

    指导老师: 吴布什(生物)

    提供: 秋天

    描述: 本课程介绍核心课程的基本概念 CSCI005嗯 用生物学作为这些计算思想的背景. 学生们看到这两个学科之间的知识和实践联系,并编写计算机程序来探索生物现象. 生物学主题包括生物化学的基础知识, 中心教条, 群体遗传学, 分子进化, 新陈代谢, 监管, 和系统发生学. 计算机科学材料包括基本数据类型和控制结构, 递归, 动态规划, 介绍自动机和可计算性. 本课程满足Harvey Mudd学院计算机科学核心课程的要求. 它不符合Harvey Mudd生物学核心要求.

  • CSCI035嗯 洞察型计算机科学

    学分: 3

    教练: 多兹

    描述: 本课程延伸 CSCI005嗯 开发软件组合技能. 配对讲座和实验, 这些经验将加深算法和数据结构的基础, 介绍机器学习及其思维模式, 权衡人与机器效率之间的取舍, 并在软件中构建复杂性, 既可以组装现有的软件包,也可以从头开始设计. 学生将部署和评估自己设计的计算项目-具有超越CS本身的实质性应用-作为课程的最终顶点. 课程继续使用…的语言 CSCI005嗯 尤其鼓励对计算机科学以外的兴趣领域做出贡献的计算工作, 无论是学术还是课外活动.

    先决条件: CSCI005嗯 or CSCI005GR嗯 

  • CSCI042嗯 “计算机科学原理与实践”

    学分: 3

    教练: 斯通和维德曼

    提供: 秋天

    描述: 为具有较强编程背景的学生(通常是一年级学生)提供计算机科学学科的加速广度优先介绍. 函数式和面向对象程序设计的计算模型. 数据结构和算法分析. 计算机逻辑和体系结构. 可计算性. 广泛的实践,从原理构建应用程序,使用各种语言. 成功完成本课程满足 CSCI005嗯 核心要求和 CSCI060嗯 课程.

    先决条件: 教员许可

  • CSCI049嗯 计算机科学专题

    学分: 1.5-3.0

    教练: 工作人员

    提供: 秋天 & 春天

    描述: 计算机科学研讨会,讨论广泛的HMC和5C社区普遍感兴趣的特殊主题. 不能作为计算机科学专业选修学分.

    先决条件: 教员许可.

  • CSCI060嗯 计算机科学原理

    学分: 3

    指导老师: Boerkoel, 布里登, 多兹, Padmanabhan、石, Talvitie, Trushkowsky, Wiedermann, Wu

    提供: 秋天和春天

    描述: 计算机科学原理导论:信息结构, 函数式编程, 面向对象编程, 语法, 逻辑, 正确性, 算法, 复杂性分析, 以及理论上的局限性. 那些已经完成的 CSCI042嗯 不能拿CSCI060嗯.

    先决条件: CSCI005嗯 or CSCI005GR嗯 

  • CSCI070嗯 数据结构和程序开发

    学分: 3

    指导老师: 布里登, Medero, O'Neill, Stone, Talvitie, Trushkowsky

    提供: 秋天和春天

    描述: 抽象数据类型,包括优先级队列和动态字典,以及这些数据类型的有效数据结构, 包括堆, 自动平衡树, 哈希表. 数据结构分析,包括最坏情况,平均情况和平摊分析. 仓库分配和回收. 二次存储注意事项. 广泛的实践为各种应用程序构建程序.

    先决条件: (CSCI060嗯 or CSCI042嗯),以及至少一门微积分或更高水平的数学课程; MATH055嗯 推荐

  • CSCI081嗯 可计算性与逻辑性

    学分: 3

    指导老师: Bang, Monta ñez, Stone

    提供: 秋天和春天

    描述: 介绍计算机科学的一些数学基础, 特别是逻辑, 自动机, 以及可计算性理论. 发展构建和写作证明的技能, 并论证了上述领域在实际问题中的应用.

    先决条件: (MATH055嗯 或MATH055 CM/PZ/SC),及(CSCI060嗯 or CSCI042嗯),及(MATH019嗯 或MATH032 CM/PO/PZ/SC或MATH032S PO或MATH067 PO),及(MATH073嗯 或MATH060 CM/PO/PZ/SC)

  • CSCI105嗯 计算机系统

    学分: 3

    指导老师: O'Neill, Padmanabhan、石, Trushkowsky

    提供: 秋天和春天

    描述: 计算机系统概论. 特别是, 本课程研究数据表示, 程序的机器级表示, 处理器体系结构, 程序优化, 内存层次结构, 异常控制流(异常), 中断, 进程和Unix信号), 性能调优, 缓存和虚拟内存, 系统级I / O, 网络, 以及基本的并发编程. 这些概念是由一系列的动手实验作业支持的.

    先决条件: CSCI070嗯 

  • CSCI111嗯 领域特定语言

    学分: 3

    教练: Wiedermann

    描述: 本课程探讨如何设计一种新的编程语言. 特别是, 我们将重点关注“领域特定语言”——为想要使用计算机执行特定任务的人设计的语言.g.例如作曲、查询数据库或制作游戏). 通过阅读, 讨论, 和编程, 我们将研究为什么以及如何创建特定于领域的语言. 这门课程也有一个要求你提出建议的项目, 设计, 并实现您自己的领域特定语言.

    先决条件: CSCI070嗯 

  • CSCI121嗯 软件开发

    学分: 3

    教练: 工作人员

    提供: 秋天和春天

    描述: 介绍与软件系统的设计和实现有关的学科. 本课程呈现了软件开发实践的历史视角,并探讨了现代, 用于引出软件需求的敏捷技术, 软件架构和模块的设计与实现, 健壮的测试实践, 项目管理. 学生团队设计、开发和测试一个实质性的软件项目.

    先决条件: CSCI070嗯 

  • CSCI123嗯 计算实践、项目和人员

    学分: 3

    指导老师: 基拉博,斯科菲尔德,职员

    提供: 秋天和春天

    描述: 本课程深入研究了规划所需的技术和专业技能, 执行, 文档, 并在课堂之外展示计算项目. 本课程的中心焦点是一个基于团队的项目,为现有的软件工具或API开发教程. 各种练习将有助于在专业计算环境中探索和建立通用工具和工作流程的读写能力. 另外, 学生将讨论围绕谈判的人际互动, 冲突管理, 对代码和书面工作进行同行评审, 道德决策.

    先决条件: CSCI070嗯 

  • CSCI124嗯 交互设计

    学分: 3

    指导老师: Boerkoel, Kirabo

    描述: 本课程向学生介绍设计中的问题, 实现, 以及人机界面的评价, 强调以用户为中心的设计和图形界面. 在本课程中, 学生学习技能,帮助他们选择正确的用户交互技术和开发一个界面,是非常适合的人,它是为谁设计的.

    先决条件: CSCI042嗯 or CSCI060嗯 

  • CSCI125嗯 计算机网络

    学分: 3

    指导老师: Padmanabhan、石

    描述: 因特网的原理和分析技术. 网络模型和协议分析. 计算机通信的介绍,重点是协议结构.

    先决条件: CSCI105嗯 

  • CSCI131嗯 编程语言

    学分: 3

    指导老师: 邦,奥尼尔,斯通,维德曼

    提供: 秋天和春天

    描述: 对语言设计和实现中的问题和特性的全面检查,包括语言提供的数据结构和数据类型, 模块化, 范围, 继承, 和并发性. 编译和运行时问题. 形式语义学简介.

    先决条件: CSCI070嗯 和 CSCI081嗯 

  • CSCI132嗯 编译器设计

    学分: 3

    指导老师: 石头,Wiedermann

    描述: 编译器的设计和实现. 主题包括优雅的理论结果基础上的编译技术, 有效实现编程语言的实际问题, 以及与操作系统和计算机体系结构的位级交互. 在本学期的课程中,学生将构建一个可工作的编译器.

    先决条件: CSCI105嗯 和 CSCI131嗯 

  • CSCI133嗯 数据库系统

    学分: 3

    教练: Trushkowsky

    描述: 数据库的基本模型:实体-关系、关系、面向对象. 关系代数和微积分,查询语言. 数据存储、缓存、索引和排序. 并发和分布式数据库中的锁协议和其他问题.

    先决条件: CSCI070嗯CSCI081嗯 推荐

  • CSCI134嗯 操作系统:设计与实现

    学分: 3

    指导老师: O'Neill, Padmanabhan、石, 工作人员

    描述: 操作系统的设计和实现, 包括流程, 内存管理, 同步, 调度, 保护, 文件系统, 和I / O. 这些概念用于说明其他大型软件系统设计中更广泛的概念, including simplicity; efficiency; event-driven programming; abstraction 设计; client-server architec­ture; mechanism vs. policy; orthogonality; naming 和 binding; static vs. 动态,空间vs. time, other trade-offs; optimization; caching; 和 managing large code bases. 小组项目提供使用和扩展实际操作系统的经验.

    先决条件: CSCI105嗯 

  • CSCI137嗯 文件系统

    学分: 3

    教练: 工作人员

    描述: 计算机存储和文件系统. 非易失性存储器的特性,包括磁盘和固态存储器. RAID存储. 文件系统中使用的数据结构. 性能、可靠性、隐私、复制和备份. 课程的主要部分是专门阅读从当前的研究领域.

    先决条件: CSCI105嗯 

  • CSCI140嗯 算法

    学分: 3

    指导老师: Boerkoel, Monta ñez, Schofield, Stone

    提供: 秋天和春天

    描述: 算法的设计、分析和正确性. 设计技术包括分而治之和动态规划. 分析技术,包括解决递归关系和摊销. 正确性技术,包括不变量和归纳证明. 应用程序包括排序和搜索, 图论问题,如最短路径和网络流, 题目选自算术电路, 并行算法, 计算几何, 和oth-ers. 介绍计算复杂性,np完备性和近似算法. 要求熟练编程,因为有些作业需要算法实现.

    先决条件: ((CSCI070嗯 和(MATH055嗯/CM/PZ/SC)及(MATH019嗯 或MATH032 CM/PO/PZ/SC或MATH032S PO或MATH067 PO)和(MATH073嗯 或math060cm /PO/PZ/SC或MATH060C CM))或(CSCI060嗯 or CSCI042嗯), MATH131嗯)或(CSCI062 PO及CSCI054 PO). CSCI081嗯 建议.

  • CSCI142嗯 复杂性理论

    学分: 3

    教练: 工作人员

    描述: 通过赖斯定理和递归定理简要回顾可计算性理论,然后对复杂性理论进行严格的处理. 复杂度类P, NP和Cook-Levin定理. np完全问题的逼近性. 多项式层次,PSPACE-completeness, L和NL-completeness, #P-completeness. IP和零知识证明. 随机和并行复杂性类. 加速定理、层次定理和间隙定理.

    先决条件: CSCI081嗯 

  • CSCI144嗯 科学计算

    学分: 3

    指导老师: Bernoff(数学),de Pillis(数学),Yong(数学)

    描述: 应用于科学和工程问题的计算技术. 物理问题的建模, 计算机实现, analysis of results; use of mathematical software; numerical methods chosen from: solutions of linear 和 nonlinear algebraic equations, 常微分方程和偏微分方程的解, 有限元素, 线性规划, 优化算法, 快速傅里叶变换.

    先决条件: MATH073嗯MATH082嗯,及(CSCI060嗯 or CSCI042嗯

  • CSCI145嗯 算法高级主题

    学分: 1.5

    教练: 工作人员

    描述: 本课程的目的是探索复杂的算法设计和分析技术,这些通常不会在第一堂算法课程中教授. 本课程涉及诸如图匹配之类的主题, 在线算法的竞争性分析, 拟阵理论, 以及近似算法和方案.

    先决条件: CSCI140嗯 or MATH168嗯 

  • CSCI151嗯 人工智能

    学分: 3

    指导老师: Boerkoel, Talvitie, Wu

    描述: 本课程介绍人工智能领域的一般介绍. 它研究了这样一个问题:计算机需要做什么才能完成人类的任务? 它对知识表示等主题进行了广泛的介绍, 搜索, 不确定性下的学习和推理. 对于每个主题, 它考察了核心技术在现实世界中的应用,其中可能包括游戏, 文本分类和视觉模式识别.

    先决条件: CSCI070嗯 和(MATH056嗯 or MATH062嗯 or BIOL154嗯 或MATH151 CM/PO/PZ/SC)

  • CSCI152嗯 神经网络

    学分: 3

    教练: 工作人员

    描述: 建模, 模拟, 分析了人工神经网络及其与生物网络的关系. 离散和连续神经网络的设计与优化. 反向传播和其他梯度下降方法. Hopfield和Boltzmann网络. 无监督学习. 自组织特征映射. 从函数近似中选择的应用, 信号处理, 控制, 计算机图形学, 模式识别, 时间序列分析. 与模糊逻辑、遗传算法和人工生命的关系.

    先决条件: CSCI070嗯 和 MATH073嗯 和(MATH056嗯 or MATH062嗯 or BIOL154嗯 或MATH151 CM/PO/PZ/SC)

  • CSCI153嗯 计算机视觉

    学分: 3

    教练: Wloka

    描述: 视觉感知的计算算法. 学生将开发获得的应用程序, 处理和解释静态图像和图像流. 这门课程将涵盖颜色的表征, 阴影, 纹理和形状以及立体声和运动分析, 物体识别和三维表示方法. 应用包括机器人、人类感知和大型图像数据库的使用.

    先决条件: CSCI070嗯 

  • CSCI155嗯 计算机图形学

    学分: 3

    教练: 布里登

    描述: 本课程介绍现代计算机图形学的主要概念. 学生将熟悉捕捉带来的技术挑战, 显示, 以及数字图像的生成. 重要的概念,如专用硬件的作用, 在物理现实主义和渲染时间的权衡, 并将介绍图形文学的批判性阅读和分析.

    先决条件: CSCI070嗯, MATH073嗯,及(MATH056嗯 or MATH062嗯 or BIOL154嗯 或MATH151 CM/PO/PZ/SC)

  • CSCI158嗯 机器学习

    学分: 3

    教练: Wu

    描述: 机器学习关注的是学习数据模式的系统的研究和开发. 本课程介绍了该领域中最常见的问题以及用于解决这些问题的技术, 重点是监督学习和非监督学习. 概念包括数学基础和算法方法.

    先决条件: CSCI070嗯MATH073嗯,及(MATH056嗯 or MATH062嗯 or BIOL154嗯 或MATH151 CM/PO/PZ/SC); CSCI151嗯 推荐

  • CSCI159嗯 自然语言处理

    学分: 3

    指导老师: Medero,斯科菲尔德

    描述: 介绍自然语言处理的基本概念和思想, 有时被称为计算语言学. 该领域的目标范围从文本翻译和理解到使人类能够与机器人交谈. 我们将学习语言处理,从单词到句法结构再到文本的语义. 方法包括结构化和统计方法, 以及对当前自然语言研究的探索. 学生将建立和修改系统,并将使用大型现有语料库来验证他们的系统.

    先决条件: CSCI081嗯 和(MATH056嗯 or MATH062嗯 or BIOL154嗯 或MATH151 CM/PO/PZ/SC)

  • CSCI181嗯 计算机科学研讨会

    学分: 1-3

    教练: 工作人员

    提供: 秋天和春天

    描述: 计算机科学中当前感兴趣的高级主题.

    先决条件: 教员许可

  • CSCI183嗯 计算机科学诊所一

    学分: 3

    教练: 工作人员

    提供: 秋天

    描述: 诊所项目将学生团队聚集在一起,研究由企业赞助的研究问题, 行业, 或政府. 团队与教师顾问和赞助组织提供的联络人密切合作,以解决复杂的现实问题. 学生应口头介绍他们的工作,并产生符合专业出版标准的最终报告. CSCI183嗯和 CSCI184嗯 必须在同一学年连续修读,才能算入专业.

    先决条件: CSCI123嗯  和 senior st和ing; or permission of the 计算机科学 诊所 director

  • CSCI184嗯 计算机科学二级诊所

    学分: 3

    教练: 工作人员

    提供: 春天

    描述: 诊所项目将学生团队聚集在一起,研究由企业赞助的研究问题, 行业, 或政府. 团队与教师顾问和赞助组织提供的联络人密切合作,以解决复杂的现实问题. 学生应口头介绍他们的工作,并产生符合专业出版标准的最终报告. CSCI183嗯 和CSCI184嗯必须在同一学年连续修习,才能算入该专业.

    先决条件: CSCI183嗯, senior st和ing; or permission of the 计算机科学 诊所 director

  • CSCI186嗯 计算机科学研究和独立学习

    信贷: 0.5-3

    教练: 工作人员

    提供: 秋天和春天

    描述: 在计算机科学学院监督下的研究或开发项目. 不超过3个单元可以算作主要选修学分.

    先决条件: 教员许可

  • CSCI189嗯 编程实习

    信贷: 1

    指导老师: 多兹、石

    提供: 秋天和春天

    描述: 本课程是每周一次的编程研讨会, 强调对计算问题及其难度的有效识别, 开发和实现算法来解决它们, 以及对这些实现的测试. 注意有效地使用编程工具和可用的库, 以及团队解决问题的动力. 专业选修课不超过3个学分.

    先决条件: CSCI005嗯 or CSCI005GR嗯 or CSCI042嗯 

  • CSCI195嗯 计算机科学研讨会

    信贷: 0.5

    教练: 工作人员

    提供: 秋天和春天

    描述: 口头报告和选定主题的讨论, 包括计算机科学的最新发展. 参与者包括计算机科学专业的学生, 诊所的参与者, 教员, 以及客座演讲嘉宾. 不超过2个.参加太阳2注册平台研讨会/座谈会可获得0个学分. 所有专业都欢迎.

    先决条件: 仅限大三和大四学生

  • CSMT181嗯 计算机科学与数学专题

    学分: 1.5-3

    教练: 工作人员

    描述: 一门致力于探索当前感兴趣的话题的课程. 报名前已公布的主题.

  • CSMT183嗯 计算机科学与数学

    学分: 3

    教练: 工作人员

    提供: 秋天

    描述: 计算机科学和数学的联合团队项目,与公司有关联. CSMT183嗯和 CSMT184嗯 必须连续参加才能算进专业.

    先决条件: 作为计算机科学/数学联合专业的资深学生, 或得到计算机科学与数学诊所主任的许可.

  • CSMT184嗯 计算机科学与数学临床2

    学分: 3

    教练: 工作人员.

    提供: 春天

    描述: 计算机科学和数学的联合团队项目,与公司有关联. CSMT183嗯 和CSMT184嗯必须连续采取计入主要.

    先决条件: CSMT183嗯 

  • MCBI117嗯 博弈论与合作的演化

    学分: 3

    教练: Donaldson-Matasci(生物学)

    描述: 博弈论入门, 数学的一个分支,研究个体之间策略性的相互作用, 在生物学等领域都有应用, 经济学和政治学. 本课程将介绍经典博弈论、博弈表征和纳什均衡. 课程的第二部分将着重于进化博弈论, 平衡的概念, 以及合作的进化.

    先决条件: 教员许可

  • MCBI118A嗯 数学生物学概论

    学分: 1.5

    指导老师: Adolph(生物学),de Pillis(数学),Donaldson-Matasci(生物学)

    提供: 春天

    描述: 数学生物学领域的导论. 生物过程的连续和离散数学模型及其分析和计算解决方案. 例子可能包括流行病学中的模型, 生态, 癌症生物学, 系统生物学, 分子进化, 和系统发生学.

    先决条件: MATH073嗯MATH082嗯, BIOL046嗯 

  • MCBI118B嗯 计算生物学概论

    学分: 1.5

    指导老师: Bush(生物学),Donaldson-Matasci(生物学),Wu(计算机科学)

    提供: 春天

    描述: 计算生物学领域的导论. 系统发育推断算法和解决分子进化和群体遗传学问题的计算方法.

    先决条件: CSCI005嗯 和 BIOL046嗯 

  • MCBI199嗯 数学与计算生物学专业联合学术研讨会

    信贷: 0.5

    教练: 工作人员

    提供: 秋天和春天

    描述: 注册参加联合研讨会的学生必须在学期内参加与他们兴趣相关的任何领域的固定次数的研讨会演讲. 讲座可能在克莱蒙特学院的任何成员或附近的大学举行,可能涉及包括生物学在内的广泛领域, 数学, 计算机科学和其他科学和工程学科,包括生物工程, 认知科学, 神经科学, 生物物理学, 和语言学. 参加联合研讨会的学生必须提交他们参加的每个讲座的简短摘要. 不超过2个.参加太阳2注册平台研讨会/座谈会可获得0个学分.