跳到主要内容
澳门葡京博彩软件计算机科学专业

Computer Science

计算机科学为学生在经历全面技术变革的世界中发挥领导作用做好准备. 选择计算机科学专业的学生可以期待在计算机技术变得至关重要的众多领域之一的职业生涯, 包括科学, 艺术及娱乐, 银行和商业, 当然还有通信和计算机行业本身.

澳门葡京博彩软件的计算机科学

计算机与艺术

艺术化的计算机应用在这个部门是一个日益增长的创举. 近年来我们增加了新的未成年人 digital arts and digital music. 访问教师和与相关部门的积极跨学科联系使这成为一个令人兴奋和充满活力的领域.

Student Involvement

计算机系的学生在系里很活跃. 三名联络员参加系里的教员会议,并每月组织一次社交聚会, 比如电影之夜和游戏之夜. 一个由学生领导的俱乐部组织以职业为导向的培训,并通过当地的分会提供社区外展服务 Girls Who Code. 许多学生担任助教, 运行帮助会话, 在教学实验中为学生评分和提供帮助. 学生也做研究作为特殊研究,研究资助助理或荣誉论文. 学院为有动力和感兴趣的学生提供暑期研究项目. 更多信息请联系a faculty member 早在春季学期的一月份.

Facilities

计算机科学专业使用福特大厅的几个专用教室和研究设施. 安装的机器包括多引导工作站和专用计算集群. 学生休息室提供舒适的家具, 玩具和冰箱,供学生们在工作之余休息一下. 学生和教师使用数字电路和微处理器套件进行跨学科研究和课堂作业, 乐高机械手臂和机器狗, 移动平台, plus sensor modules, 数字声音和音乐的合成器和键盘. 设计与制造中心提供3d打印机, laser scanners, 激光和水射流切割机, 在其他快速原型的工具中.

非专业计算机科学研究

对于非专业的学生,我们提供的课程揭开了计算机和互联网内部工作原理的神秘面纱. 学生可以选修互动网页设计的课程, 为他们在就业市场上提供有价值的技能. 对于那些有兴趣进一步探索的人, 我们邀请你来看看我们的编程入门课程, 计算机图形学和人工智能.

穿着微软服装在电脑前工作的学生

网上问卷调查

选择计算机科学专业指导老师,请填写 CS主修/副修声明 & Adviser Form. 表格将自动通知计算机科学行政助理. 

Next Steps

  • 莎拉会处理你的请求,并给你安排一位指导老师, 这取决于目前分配给CS学院的顾问人数.
  • 你和你的新顾问都会收到一封来自行政助理的电子邮件,表明你有了一位新顾问.
  • Get a 更改顾问表格 (滚动到页面底部)从注册主任办公室, fill it out, 让你的新顾问签字.
  • That’s it!

Requirements & Courses

计算机科学专业的目标

  • 澳门葡京博彩软件主修计算机科学的学生将获得对计算机核心概念的广泛理解, 以及接触各种现代理论和编程范式. Moreover, 他们将培养在艺术和科学的不同背景下成功应用这些概念和工具的基本能力. 具体来说,他们将学习如何:

  • 从计算的角度来处理现实世界的情况
  • 抽象地解决问题
  • 评估并实施建议的解决方案
  • 使他们的解决方案适应相关领域,并且
  • 批判性地推理计算方法的设计和使用的更广泛的含义和后果.
Measurable Outcomes

The skills, 学生通过我们的课程获得的知识和行为可以通过以下能力观察到:

  • 学习新的编程语言, 使用多种编程范例, 并描述这些范式之间的异同, 阐明计算系统如何运作, 在软硬件接口方面, resource management, 以及各部分之间的交流, 并适应新的平台.
  • 通过抽象公式展示对各种算法和计算模型的能力和局限性的理解, 具体实现, 正确性和效率分析.
  • 将抽象计算映射到具体的物理和软件实现, 以及得出关于真实系统的适当结论, 包括有效的资源管理, 部件间通信, 以及实际的限制.
  • 独立工作和作为团队的一部分, 参与关于计算问题及其解决方案的对话, 并批判性地思考由此产生的系统的社会影响.

计算机专业

Requirements

12个完整学期的课程或同等学历

  1. 两门入门课程
    1. CSC 110 (S/U only)
    2. CSC 120
  2. Three core courses
    1. CSC 210
    2. CSC 231
    3. CSC 250
  3. 两门数学课程
    1. MTH 111 或者一门数学课程,前提条件是 MTH 111 or PHI 102
    2. MTH 153 或者一门数学课程,前提条件是 MTH 153
  4. 四门中级课程
    1. 一门CSC或SDS理论课程; CSC 205/ MTH 205, CSC 235/ SDS 235, CSC 240, CSC 252, CSC 256 CSC 266, CSC 274, CSC 290, CSC 294, CSC 334的一个课题, CSC 353pm, CSC 356ni, CSC 370, CSC 372 或CSC 390的主题.
    2. 一门CSC或SDS编程课程; CSC 205/ MTH 205, CSC 220, CSC 223CSC 235/ SDS 235, CSC 240CSC 249CSC 251CSC 262, CSC 266, CSC 274, CSC 290, CSC 294, CSC 334的一个课题, CSC 352, CSC 356niCSC 370 or CSC 372
    3. 一门CSC系统课程: CSC 223, CSC 230, CSC 249CSC 251, CSC 256CSC 262, CSC 270, CSC 327, CSC 352 or CSC 353pm 
    4. 一门CSC 200级或以上课程.
  5. 一门300级的课程,只在完成核心课程后学习
专业要求
  • Beyond CSC 110, 学生可以在导师的批准下,将一门课程(或最多4学分)计入CSC的主要或次要课程. 
  • 如果学生的成绩在200级或以上,则需要额外的课程 CSC 110. 经本系许可,可使用其他专业和系的课程来满足此要求.
  • 在五个学院中的另一个学院教授的高级本科或研究生课程可以在部门许可的情况下满足300级的课程要求.

Honors

具体要求和申请程序请咨询荣誉主任或部门网站.

计算机科学辅修

Requirements

Six courses

  1. CSC 120
  2. CSC 210
  3. 另外一门CSC 100级或以上课程(e).g., CSC 110)
  4. 另外三门200级或以上CSC课程*

*申请四学分以上 CSC 400 要满足未成年人的要求,必须经部门批准. 

Digital Art Minor

这个辅修课程适合那些希望在工作室艺术和技术专业知识方面都有基础的学生,他们需要掌握计算机科学的基本原理,通过数字媒体来表达自己的艺术.

Requirements

六门课程在计算机科学和艺术之间平衡

  1. 三门计算机科学课程
    1. CSC 120
    2. CSC 210
    3. CSC 240
  2. Three art courses
    1. ARH 110 或者其他艺术史课程
    2. ARS 162
    3. ARS 263 or ARS 361

经辅修导师同意,可选修相关大学五门课程.

Digital Music Minor

这门辅修课程适应了越来越多的学生,他们既希望在音乐理论和作曲方面打下基础,又希望掌握通过数字媒体表达音乐的技术专长,这需要掌握计算机科学的基本原理. 辅修课程相当于六门课程,在计算机科学和音乐之间各占一半.

Requirements

六门课程,计算机科学和音乐各占一半

  1. 三门计算机科学课程
    1. CSC 120
    2. CSC 210
    3. CSC 220 or CSC 250
  2. Three music courses
    1. MUS 110 or MUS 210
    2. MUS 233 
    3. MUS 345

经辅修导师同意,可选修相关大学五门课程.

Courses

CSC 109/ SDS 109与数据通信(4学分)

Offered as SDS 109 and CSC 109. 世界越来越依赖于收集和分析信息来帮助人们做出决策. Because of this, 就数据进行有效沟通的能力是几乎所有学科未来就业前景的重要组成部分. In this course, 学生将学习信息可视化的基础知识,并提高他们使用数据进行交流的技能. 本课程探讨决策的概念, human perception, 色彩理论和讲故事在数据驱动的交流中的应用. 本课程帮助学生在如何与人谈论数据方面打下坚实的基础, 对于有抱负的数据科学家和想要学习新的信息呈现方式的学生. {M}

Fall, Spring

计算机科学概论(4学分)

对系统地解决问题而设计程序(配方)的温和介绍. 学生学习构建包括设计在内的程序, coding, debugging, 测试并记录它们. 介绍了包括分支在内的块结构过程控制流, 迭代与函数, 使用原始和简单的数据类型(列表). 学生学习计算机系统(输入)的高级内部操作, outputs, 处理和存储)及其应用. 学生接触到计算机的社会和历史方面. 本课程推荐给那些在高中没有计算机科学经验的人, AP or college level. S/U only. 不能同时服用吗 CSC 120. 限制:不开放给已经参加CSC 111的学生. 报名人数限30人. {M}

Fall, Spring

CSC 120面向对象编程(4学分)

本课程强调使用类型化的面向对象编程(OOP)来解决计算问题。. Students learn core computer science principles including: control flow, functions, classes, objects, methods, 封装和信息隐藏, specification, recursion, debugging, unit testing, version control, 使用库并在多个文件中编写代码. 学生还学习和应用模型-视图-控制器(MVC)架构, 图形和gui的基础知识, 处理外部文件和算法设计基础. 抽象数据类型和简单数据结构用于说明面向对象的概念,并通过常规编程任务解决计算问题(在Java和Python中)。. 本课程假定有编程经验,包括对分支(if语句)的基本理解。, iteration (loops), 函数和简单数据类型(整数), strings, lists/arrays). Prerequisites: CSC 110 or equivalent. 不能同时使用 CSC 110. 报名人数限30人. {M}

Fall, Spring

CSC 205/ MTH 205科学建模(4学分)

Offered as CSC 205 and MTH 205. 本课程将运用数学和计算机对自然科学和社会科学中的各种现象进行建模. 科学案例研究涵盖了各种规模的系统, 特别强调生命科学. 数学工具包括数据分析, 离散和连续动力系统, 以及离散几何. 这是一门基于项目的课程,提供使用Mathematica编程的基础培训. 名称:理论,编程. Prerequisites: MTH 112. CSC 110 recommended. 报名人数限20人. {M}

秋天,春天,每年

CSC 209网络编程(4学分)

本课程涵盖了网络编程的基础知识. 学生探索使用HTML的客户端开发, CSS, JavaScript和jQuery来制作交互式和视觉上吸引人的web体验. Next, 课程过渡到服务器端编程, 使用PHP和AJAX构建健壮且响应迅速的web应用程序. 该课程还涵盖了软件设计和项目开发的基础主题,通过实践项目和指导教学. Prerequisite: CSC 120. 报名人数限30人. (E) {M}

秋天,春天,每年

CSC 210数据结构(4学分)

探索基本数据结构(数组), linked lists, stacks, queues, maps, trees, 图)和算法(搜索), sorting, 树和图遍历)在各种上下文中. 使用类型化的面向对象编程语言(如.g. Java), 学生开发自己的实现以及基于现有的更复杂的应用程序, 标准数据结构库. 不接受修过CSC 212课程的学生. Prerequisite: CSC 120. 报名人数限30人. {M}

Fall, Spring

CSC 220高级编程技术(4学分)

通过参与多个项目,强化在以前的编程课程中学到的编程技能. 提供开发模块化、可重用、可维护代码的实践. 学生可以获得更多的设计和开发经验. 名称:编程. Prerequisite: CSC 210 or equivalent. 报名人数限30人. {M}

秋天,春天,变化无常

软件工程导论(4学分)

介绍软件工程理论和方法, 强调快速原型和开发. 本课程是一个主题的概览:需求引出和规范, 原型和基础架构, 基础项目管理, 架构和设计模式, 验证和测试. 学生在一个重要的设计和开发项目的团队工作. Prerequisite: CSC 210 or equivalent. 名称:编程,系统. 名额限制:32人. {M}

Fall, Spring

CSC 230数据库系统介绍(4学分)

数据库构成了现代商业、社交媒体和政府的基础. 本课程研究从传统到现代的数据库系统的设计和使用. 名称:系统. Prerequisites: CSC 210 or equivalent. 报名人数限30人. {M}

秋天,春天,变化无常

微处理器和汇编语言(4学分)

介绍Intel Pentium类处理器的体系结构及其在Linux环境下的汇编语言. 学生用汇编语言编写程序,探索奔腾的架构特点, 包括它对内存的使用, 用于表示信息的数据格式, 高级语言结构的实现, 整数和浮点运算, 以及处理器如何处理I/O设备和中断. Prerequisite: CSC 210 or equivalent. 报名人数限30人. {M}

Fall, Spring

CSC 235/ SDS 235视觉分析(4学分)

Offered as CSC 235 and SDS 235. 可视化分析技术可以帮助人们从海量数据中获得洞察力, dynamic, 模棱两可且经常相互矛盾的数据. During this course, 学生学习新兴的基础知识, 视觉分析的多学科领域,并将这些技术应用于个人兴趣领域的重点研究问题. 选择将本课程作为编程强化课程的学生应该之前学习过CSC 212. In this track, 学生学习使用R, Python和HTML5/JavaScript开发自定义可视化分析工具. 喜欢非编程密集课程的学生可以选择使用现有的可视化分析软件, 例如Tableau或Plotly. 名称:理论,编程. Prerequisite: CSC 120 or equivalent. {M}

秋天,春天,变化无常

计算机图形学(4学分)

涵盖二维绘图和转换, 三维图形, 灯光和颜色, game design, perspective, curves and surfaces, ray tracing. 使用Postscript, c++, GameMaker, POV-ray和radiosity. 本课程适用于两个计算机科学专业的学生, 对他们来说是编程密集型的, 以及其他技术水平较低的学生, 通过分配两种任务. Prerequisite: CSC 120 or equivalent. MTH 111 或同等学历是主修专业的额外先决条件. 指定:理论,程序设计,入学人数限制为30人. {M}

秋天,春天,每年

CSC 249计算机网络(4学分)

本课程介绍计算机通信网络设计与实现的基本概念, 它们的协议和应用. 涵盖的主题包括分层的网络体系结构, physical layer and data link protocols; and transport protocols; routing protocols and applications. 大多数案例研究来自Internet TCP/IP协议套件. 名称:系统. Prerequisites: CSC 120 or equivalent. {M}

Fall

CSC 250计算理论(4学分)

自动机和有限状态机, 正则集合和正则语言, 下推自动机和上下文无关的语言, 线性有限自动机, 可计算和图灵机, 非决定论和不可判定性. Prerequisites: CSC 110 and MTH 153. 报名人数限30人. {M}

Fall, Spring

CSC 251网络安全(4学分)

本课程涵盖了广泛的网络安全主题, 重点是核心原则和实用信息. Students learn core network protocols, 密码学作为信息保护技术, 而攻击和防御与网络关系最为密切,而不是与终端(如网络)关系最为密切.g.(笔记本电脑、台式机). 子主题包括:认证协议, firewalls, intrusion detection, 路由和DNS安全, scanning, eavesdropping, DoS attacks, PKI, password, privacy, anonymity, 以及该领域的最新进展. 该课程包括讲座、课堂实验和实践环节的混合形式. 名称:系统. Prerequisites: CSC 210 and CSC 249. 报名人数限30人.

Spring, Variable

CSC 252算法(4学分)

涵盖算法设计技术(“分而治之”),动态规划, "greedy" algorithms, etc.), 分析技术(包括大0符号), 递推关系), 有用的数据结构(包括堆), search trees, adjacency lists), 各种问题的有效算法和np完备性. Designation: Theory. Prerequisites: CSC 210, MTH 111 and MTH 153. 报名人数限30人. {M}

秋天,春天,隔年

CSC 256人机交互(4学分)

人机交互的原则和实践,侧重于以人为本的设计. 本课程提供进行用户研究的方法和工具的基础, 收集需求, 设计原型和评估交互界面. 讨论包括人的能力, 民族志方法, universal design, 界面技术和可用性测试. 学生在一个实质性的交互设计项目的团队工作. 名称:系统,理论. Prerequisites: CSC 210. 报名人数限30人. {M}

秋天,春天,变化无常

CSC 262操作系统(4学分)

对操作系统功能及其底层实现的介绍. 主题包括文件系统, CPU和内存管理, 并发通信进程, deadlock, 以及准入和保护问题. 编程项目实现和探索与其中几个主题相关的算法. 名称:编程,系统. Prerequisite: CSC 231. 报名人数限30人. {M}

秋天,春天,每年

编译器设计导论(4学分)

在本课程中,学生将学习编程语言语法和语义的正式定义. 介绍了编译器的功能及其设计和实现细节. 本课程强化学生对上下文无关语法和自动机的知识,并运用这些知识设计高级编程语言的词法分析器和翻译器. 涵盖的主题包括词法分析、类型检查、上下文分析和代码生成. 名称:理论,编程. Prerequisites: CSC 231 and CSC 250.

秋天,春天,变化无常

CSC 268图像处理基础(4学分)

图像充斥着媒体,大多数图像都是在某个时刻由计算机处理的. 本课程探讨各种算法图像处理技术, 探索实现和应用程序, 以及围绕它们使用的一些社会影响和伦理问题. 前提条件:CSC 212和 MTH 111. 报名人数限30人. {M}

秋天,春天,变化无常

数字电路与计算机系统(5学分)

本课程介绍逻辑和顺序电路的操作. 学生探索基本逻辑门(AND), OR, NAND, NOR), counters, flip-flops, decoders, 微处理器系统. 学生有机会在每周一次的实验中设计和实现数字电路. 名称:系统. Prerequisite: CSC 231. 报名人数限12人.

秋天,春天,变化无常

离散与计算几何(4学分)

主题包括该领域的核心:多边形,凸壳,三角测量和Voronoi图. 除了这个核心之外,还涵盖了曲线和曲面以及计算拓扑. 自始至终,本书都强调数学证明和高效算法. 学生可以选择集中学习数学或计算机科学. 名称:理论,编程. 获得MTH专业学分的先决条件: MTH 153. MTH 111 recommended. 获得CSC专业学分的先决条件: CSC 120. {M}

秋天,春天,变化无常

人工智能导论(4学分)

介绍人工智能,包括介绍人工智能编程. 讨论内容包括:游戏玩法和搜索策略, machine learning, 自然语言理解, neural networks, genetic algorithms, 进化编程和哲学问题. 名称:理论,编程. Prerequisite: CSC 210 and MTH 111, or equivalent. 报名人数限30人.

秋天,春天,变化无常

计算机器学习(4学分)

从编程角度介绍机器学习. 培养学生对基本机器学习概念(包括欠拟合/过拟合)的理解, 模型复杂性的度量, 训练/测试集分割和交叉验证), 但明确关注机器学习系统设计(包括评估算法复杂性和编程架构的开发)和大规模机器学习. 通过包括决策树在内的一系列机器学习方法,演示了监督学习和无监督学习的原理, k-nearest neighbors, 集成方法和神经网络/深度学习, 以及降维, 聚类和推荐系统. 学生实现经典的机器学习技术,包括梯度下降. 名称:理论,编程. Prerequisites: CSC 210, CSC 250, (MTH 112 or MTH 211),以及Python知识. 名额限制:40人. {M}

秋天,春天,每年

CSC 325研讨会:负责任的计算(4学分)

什么时候颠覆是好的? 谁负责确保一项创新产生积极的影响? 这些影响是否被公平地分享? 如果存在偏见,如何从算法中消除呢? 谁能对自己开发的技术做出什么保证呢? 职业道德的局限性是什么? 这个研讨会探讨了道德含义(例如.e.(伦理学、正义、政治哲学)计算和自动化. 参与者探索如何负责任地设计技术,同时为进步和增长做出贡献. Discussions include: intellectual property; privacy, security and freedom of information; automation; globalization; access to technology; artificial intelligence; mass society; and emerging issues. Prerequisite: CSC 210. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可. {S}

秋天,春天,变化无常

CSC 327研讨会:互联网审查(4学分)

互联网审查涉及信息控制的实践. 本次研讨会涵盖的主题涉及:1)网络审查者使用的互联网协议栈不同层的现有阻止机制;2)检测网络干扰类型作为互联网审查指示的广泛问题. 讨论内容包括流量分化、监控和内容封锁. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可.

秋天,春天,变化无常

CSC 328/ EGR 328研讨会:数字电路和传感器(4学分)

Offered as CSC 328 and EGR 328. 前身为EGR 390dc. 数字电路无处不在, 从基本的恒温器控制和停灯顺序器到智能手机, 电脑,甚至火星探测器! 本课程涵盖所有电子产品的基本构建模块. 学生研究基本的逻辑电路, 组合逻辑和顺序逻辑,介绍基本的数字电路,如编码器和多路复用器. 本学期的第二部分侧重于微处理器,使用Arduino. 学生们用计算机的输入构建各种电路, 或通过传感器从环境中获取)和编程输出(led), sound, 发送到计算机的数据), 为了了解如何将模拟世界中的信息转换为数字数据. Prerequisites: CSC 110 or CSC 120; and either EGR 220 or CSC 231. Restrictions: Junior and seniors only; Engineering and computer science majors only. 报名人数限12人. {N}

秋天,春天,变化无常

CSC 334bd研讨会:计算生物学-生物医学大数据主题(4学分)

本课程探讨计算机科学与生物医学研究的交集. In the genomic era, 生物学和临床研究产生了大量的组学数据, 其中大部分都是公开的. 学生检查科学文献,了解研究人员如何利用这些数据在生物医学领域取得新发现. 本课程还讨论了生物医学大数据在存储方面所面临的挑战, access and analysis. Finally, 学生参与实践, 基于项目的学习,他们实现了所讨论的挖掘生物资源库的方法, 开发他们自己的算法,测试他们自己的假设. Prerequisite: CSC 294. 强烈建议具备生物学方面的知识. Restrictions: Seniors only; computer science majors only. 报名人数限12人. 需要教练许可. {M}{N}

秋天,春天,变化无常

CSC 352研讨会:并行编程(4学分)

高性能计算(HPC)领域利用地球上最大、最强大的计算机来实现尖端的科学突破,帮助我们理解基础研究问题. 这些机器和程序推动了速度和可扩展性的极限,并且需要对整个计算堆栈的实际理解以及对新颖和新兴硬件平台的熟悉. 在本课程中,学生学习和应用该领域的理论和实践方面. 这包括接触基础文本和思想以及前沿研究, 并在一个学生指导的小组项目中达到高潮,该项目利用了本课程中学到的技术和技巧. 到学期末, 学生能够设计, 在目标域中执行和评估潜在的并行化策略. Prerequisites: CSC 210 and CSC 252. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可.

秋天,春天,变化无常

CSC 3353pm研讨会:机器人主题-机器人感知和映射(4学分)

机器人感知是机器人技术的一个重要方面. 它让人工代理, 比如机器人或自动化软件, 收集有关环境的信息,以便做出明智的决定. 感知包括对光信息的感知(视觉), 声音信息(试听), 触觉或肢体位置信息(触觉/本体感觉)和其他几个方面可以整合,使代理对其环境有充分的了解. 本课程将讨论机器人感知的基本概念、历史和未来方向. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可.

秋天,春天,变化无常

CSC 356ni研讨会:人机交互主题-自然用户界面(4学分)

在人机交互的研究, 自然用户界面(NUI)是一种交互范例,其中界面对最终用户基本上是不可见的. 与WIMP(“窗口”)相比, icons, menus, 在传统计算系统中发现的指针接口, nui依赖于无缝, 直观的交互,而不是人为的控制装置. 虽然苹果和谷歌等公司已经迅速普及了NUI模式, 这种交互范例带来了一系列独特的设计挑战, 约束和道德考虑. 本课程探讨了这一不断发展的领域中正在进行的研究,并将这些技术应用于各个应用领域. Prerequisites: CSC 210. CSC 256 强烈推荐. 限制:仅限大三和大四学生. 报名人数限15人. 需要教练许可. {M}

秋天,春天,变化无常

CSC 356pa研讨会:人机交互主题-平台行动主义(4学分)

社交媒体网站等网络平台, Gig共享应用程序和游戏机已经成为人机交互研究的重要场所. 当代对这一问题的研究包括两方面的平台研究, 对于大公司在塑造用户的创造性劳动和沟通模式方面所拥有的力量,它们提供了一个批判性的视角, 技术设计激进主义, 在这些平台上寻求扩大积极社会变革的基层运动. 本课程探讨了这些新兴的学术领域,并通过使用参与式设计在各种媒体平台上创造新的技术干预,将我们的学习付诸实践. 限制:仅限大三和大四学生. 报名人数限15人. 需要教练许可. {M}

秋天,春天,变化无常

CSC 370研讨会:计算机视觉和图像处理(4学分)

通过阅读原始论文和经典算法的实现,探索计算机视觉的挑战. 本课程考虑从数字图像中提取有用信息的技术, 包括动机和数学基础. 讨论范围从图像增强和特征检测的低级技术到立体视觉等高级问题, 目标跟踪的图像检索与分割. 名称:理论,编程. Prerequisites: CSC 210 and MTH 111 or equivalent. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可. {N}

秋天,春天,变化无常

CSC 372研讨会:应用算法(4学分)

涵盖高级数据结构和算法,重点是面向对象的实现, 比较效率分析及应用. 讨论了各种算法方法(分治法), dynamic programming, greedy algorithms, graph traversal). 本课程超越了经典的搜索和排序,涉及到图、网络和其他应用问题, 以及一些NP-hard的选择. 名称:理论,编程. Prerequisites: CSC 110, CSC 210, MTH 153 and MTH 111, or equivalent. 限制:仅限大三和大四学生. 报名人数限12人. 需要教练许可. {M}

秋天,春天,变化无常

CSC 400特殊研究(1-4学分)

For majors. 需要教练许可.

Fall, Spring

CSC 430D荣誉项目(4学分)

需要部门许可.

Fall, Spring

Crosslisted Courses

CSC 109/ SDS 109与数据通信(4学分)

Offered as SDS 109 and CSC 109. 世界越来越依赖于收集和分析信息来帮助人们做出决策. Because of this, 就数据进行有效沟通的能力是几乎所有学科未来就业前景的重要组成部分. In this course, 学生将学习信息可视化的基础知识,并提高他们使用数据进行交流的技能. 本课程探讨决策的概念, human perception, 色彩理论和讲故事在数据驱动的交流中的应用. 本课程帮助学生在如何与人谈论数据方面打下坚实的基础, 对于有抱负的数据科学家和想要学习新的信息呈现方式的学生. {M}

Fall, Spring

CSC 205/ MTH 205科学建模(4学分)

Offered as CSC 205 and MTH 205. 本课程将运用数学和计算机对自然科学和社会科学中的各种现象进行建模. 科学案例研究涵盖了各种规模的系统, 特别强调生命科学. 数学工具包括数据分析, 离散和连续动力系统, 以及离散几何. 这是一门基于项目的课程,提供使用Mathematica编程的基础培训. 名称:理论,编程. Prerequisites: MTH 112. CSC 110 recommended. 报名人数限20人. {M}

秋天,春天,每年

CSC 235/ SDS 235视觉分析(4学分)

Offered as CSC 235 and SDS 235. 可视化分析技术可以帮助人们从海量数据中获得洞察力, dynamic, 模棱两可且经常相互矛盾的数据. During this course, 学生学习新兴的基础知识, 视觉分析的多学科领域,并将这些技术应用于个人兴趣领域的重点研究问题. 选择将本课程作为编程强化课程的学生应该之前学习过CSC 212. In this track, 学生学习使用R, Python和HTML5/JavaScript开发自定义可视化分析工具. 喜欢非编程密集课程的学生可以选择使用现有的可视化分析软件, 例如Tableau或Plotly. 名称:理论,编程. Prerequisite: CSC 120 or equivalent. {M}

秋天,春天,变化无常

CSC 328/ EGR 328研讨会:数字电路和传感器(4学分)

Offered as CSC 328 and EGR 328. 前身为EGR 390dc. 数字电路无处不在, 从基本的恒温器控制和停灯顺序器到智能手机, 电脑,甚至火星探测器! 本课程涵盖所有电子产品的基本构建模块. 学生研究基本的逻辑电路, 组合逻辑和顺序逻辑,介绍基本的数字电路,如编码器和多路复用器. 本学期的第二部分侧重于微处理器,使用Arduino. 学生们用计算机的输入构建各种电路, 或通过传感器从环境中获取)和编程输出(led), sound, 发送到计算机的数据), 为了了解如何将模拟世界中的信息转换为数字数据. Prerequisites: CSC 110 or CSC 120; and either EGR 220 or CSC 231. Restrictions: Junior and seniors only; Engineering and computer science majors only. 报名人数限12人. {N}

秋天,春天,变化无常

其他节目信息

什么是荣誉论文?

荣誉论文是学生在大四的时候在老师的指导下进行的为期一年的调查. 研究共8个学分,秋季4个,春季4个. 该学生在最后一个学期的4月15日之前完成一篇论文,并通过向教师和学生公开展示她的工作来为论文辩护. 这个报告通常安排在学期的最后一周. 论文指导老师对8个论文学分进行评分. 系里的教员投票决定毕业时授予的荣誉等级.

计算机科学系保存了自该系成立以来所写的所有论文的副本. 这些书用红色装订,可以在教职员办公室的书架上找到. 每篇论文的副本也被归档在科学图书馆. Check out a list of past theses.

为什么要写荣誉论文?

如果你符合条件(见下文),这是一个应该认真考虑的选择. 这是一种紧张但有益的经历. 很少有学生后悔,而且这往往是他们本科生涯的亮点. 论文工作导致发表论文的情况并不罕见, 在任何情况下,它都能让学生在申请研究生院时占上风.

Honors Director

Alicia Grubb 是现任荣誉主任吗?如果有关于撰写荣誉论文的问题,应该联系他吗.

Am I eligible?

计算机科学的录取标准如下:

  • At least a 3.到大三所有专业课程的平均绩点(GPA)达到3 (B+).
  • At least a 3.在大三之前,所有专业以外的课程的GPA都是0 (B).
  • 根据学生的书面请愿书,CS教师的多数投票批准上述GPA标准的例外情况.
  • 部门的批准[在你提出申请后]

How do I apply?

详细说明可从指南中找到 class deans website (按字母顺序归档在“申请进入部门荣誉项目”下,很容易被忽视). 下面是总结.

The formal application is due by mid-September of your senior year; it can be started and/or submitted in the late spring of your junior year. 正式申请并不复杂. 最关键的方面是确定一个指导教师和确定一个主题. 后者只需要足够的工作来写一页纸的摘要,你希望在论文中完成什么. 但重要的是要强调你有 not 在开始这个过程之前,需要在头脑中有一个主题,如下所述.

关于确保论文导师,主要有两种模式:

  • Model 1 是学生提出一个话题,然后说服一位老师来指导吗. 这种情况比:
  • Model 2,学生走到教师面前,(有效地)说,你能建议一个话题吗? 然后学生收集所有愿意的老师提出的话题, 并决定追求什么.

计算机科学的一些教员更喜欢 Model 2, 有两个原因:(1)他们可以最明智地在他们完全沉浸的领域指导论文, (2)因为教师们喜欢推进自己的研究. 一般来说,教师每周都会与他们的论文学生见面, 尤其是在研究和写作的关键时刻.

我们鼓励考虑写论文的学生与所有让他们感到舒服的教师联系, 并询问每个人对这些主题是否有想法, 也许在某些限制下(例如.g.,避免编程,包括编程,与人工智能相关的东西等.)一般来说,老师们认为被要求指导一个好学生的论文是一种礼物(所有写论文的学生根据定义都是好的)!),所以不要觉得你是在求别人帮忙. It is best, 虽然不是必需的, 在大四秋季之前开始这个主题调查, 这样这个过程就不必压缩到学期的前两周.

具体要求和申请程序请咨询荣誉主任或部门网站.

五门计算机科学课程没有先决条件. 这就是《互联网是如何运作的》, 103计算机如何工作, 计算机与艺术导论, 111计算机科学编程导论和FYS 164人工智能问题. 考虑主修计算机科学的学生应该在大学生涯早期咨询专业顾问.

With Study Abroad

SEQUENCE 1

计算机科学专业的范例课程顺序#1,在国外学习一门外语(在没有CSC经验的情况下进入), one semester away)

 

YEAR FALL SPRING

1

 

CSC 110

MTH 111 or LOG 100

Foreign language

写作密集[英文或英文]

CSC 120

MTH 153

Foreign language

Elective

2

 

CSC 210

Elective

Elective

Elective

CSC 231

CSC intermediate

Elective

Elective

3

 

CSC 250

CSC intermediate

Elective

Elective

CSC中级(非全日制)

选修课(外出学习)

选修课(外出学习)

选修课(外出学习)

4

 

CSC intermediate

Elective

Elective

Elective

CSC 300-level

Elective

Elective

Elective

CSC中级课程是指满足本专业理论/系统/编程分布要求的三门200级课程之一.

选修指的是完全不受限制的课程——可以是计算机科学, could be outside.

计算机专业学生在国外经常修的课程包括CSC中级课程, 更多高等数学课程, 额外的编程课程, 以及人文和社会科学课程

本课程假定没有计算机科学方面的经验,并且只有一个学期. 先前接触过计算机科学的学生(高中课程,夏令营等).)应跳过CSC 110,并开始他们的课程序列CSC 120. 在接下来的几页中,将会出现通过该专业的替代路径. In these examples, we have attempted to maximize flexibility in course selection while abroad; however, 在国外学习计算机科学项目的学生,如AIT布达佩斯项目,可以选择在国外满足额外的专业要求.g. CSC中级课程).

SEQUENCE 2

对于计算机科学专业的学生,在国外学习一门外语(有CSC的工作经验), 出国一个学期,无专业要求)

 

YEAR FALL SPRING

1

 

CSC 120

MTH 111 or LOG 100

Foreign language

写作密集[英文或英文]

CSC 210

Foreign language

Elective

Elective

2

 

CSC 231

MTH 153

Elective

Elective

CSC 250

CSC intermediate

Elective

Elective

3

 

选修课(外出学习)

选修课(外出学习)

选修课(外出学习)

选修课(外出学习)

CSC intermediate

CSC intermediate

Elective

Elective

4

 

CSC intermediate

CSC intermediate

Elective

Elective

CSC 300-level

Elective

Elective

Elective

SEQUENCE 3

计算机科学专业的范例课程序列#3,在国外学习一门外语(在没有CSC经验的情况下进入), 留学期间专业要求不高)

 

YEAR FALL SPRING

1

 

CSC 110

MTH 111 or LOG 100

Foreign language

写作密集[英文或英文]

CSC 120

MTH 153

Foreign language

Elective

2

 

CSC 210

Elective

Elective

Elective

CSC 231

CSC 250

Elective

Elective

3

 

CSC中级(非全日制)

选修课(外出学习)

选修课(外出学习)

选修课(外出学习)

CSC中级(非全日制)

选修课(外出学习)

选修课(外出学习)

选修课(外出学习)

4

 

CSC intermediate

CSC intermediate

Elective

Elective

CSC 300-level

Elective

Elective

Elective

没有出国留学

对于计算机科学专业的学生来说,在没有CSC工作经验的情况下,从大二下学期开始学习.  学生可以在校外选修与所列课程相当的课程,将大三的学习合并到国外.

 

YEAR FALL SPRING

1

 

写作密集[英文或英文]

Elective

Elective

Elective

Elective

Elective

Elective

Elective

2

 

Elective

Elective

Elective

Elective

CSC 110

MTH 111 or LOG 100

Elective

Elective

3

 

CSC 120

MTH 153

Elective

Elective

CSC 210

CSC 250

CSC intermediate

Elective

4

 

CSC 231

CSC intermediate

CSC intermediate

Elective

CSC 300-level

CSC intermediate

Elective

Elective

主修计算机科学并打算继续在研究生院学习的课程顺序示例, 之前没有CSC工作经验的人, 大四毕业论文.  学生可以在校外选修与所列课程相当的课程,将大三的学习合并到国外.

 

YEAR FALL SPRING

1

 

CSC 110

MTH 111 or LOG 100

写作密集[英文或英文]

Elective

CSC 120

MTH 153

Elective

Elective

2

 

CSC 210

SDS 220

Elective

Elective

CSC 231

CSC 250

Elective

Elective

3

 

CSC 220或223(编程)

CSC 252或253(理论)

Elective

Elective

CSC 230或262(系统)

CSC 294 (ML)

Elective

Elective

4

 

CSC senior thesis

CSC 300-level

Elective

Elective

CSC senior thesis

CSC中级/高级

Elective

Elective

学生应该期望从上面显示的时间有所变化, 这取决于课程的开课时间. 以上课程顺序包括以下所有强烈推荐的课程:

  • CSC 252:算法或CSC 253:应用算法(理论)
  • CSC 220:高级编程或CSC 223:软件工程(编程)
  • CSC 230:数据库或CSC 262:操作系统(系统)
  • CSC 294:计算机器学习(额外选修课)
  • SDS 220:概率论和统计学

Faculty

R. Jordan Crouser

Computer Science

计算机科学副教授; Chair, Department of Computer Science

Jordan Crouser

Emeriti Faculty

Merrie Bergman
计算机科学名誉副教授

Judy Franklin
计算机科学名誉副教授

Joe O'Rourke
Spencer T. and Ann W. 奥林计算机科学名誉教授

Dominique Thiébaut
计算机科学名誉教授

近期访问澳门葡京博彩软件

Mihaela Malita(阿默斯特学院)
Sahar Al Seesi(南康涅狄格州立大学)
约翰·福利(明德学院)
拉兹·法特希(惠特曼学院)

Resources & Opportunities

许多学生在老师的指导下完成计算机科学的独立研究项目. 这些通常在夏季进行, 或者他们可以在学年期间作为特殊研究或荣誉论文完成. 这些项目的资金来源多种多样. 如果你是一个对研究项目感兴趣的学生, 最好是尽快和你希望一起工作的教员交谈. Some research labs have information pages linked below; for others please contact the faculty member directly.

自2008年以来,学生们将他们的研究项目记录在 部门Wiki页面.

 

What is SURF?

暑期本科生研究奖学金(SURF)是澳门葡京博彩软件暑期研究奖学金计划的核心. SURF的应用程序可在 克拉克科学中心网站.

Who is hiring?

Alicia M. Grubb

每年夏天,我都会接受5-8名对软件开发和/或实证研究感兴趣的学生.e.、软件工程).

我们通常至少有一个开发项目正在使用我们的工具, BloomingLeaf今年夏天也不例外. 我们寻求热情的学生的帮助,他们有很强的编程技能,并接触到web开发(javaScript)。, 有良好的沟通技巧(书面/口头英语),能够独立和协作工作. Our online codebase 会帮助你为将来申请雇主和研究生院创建一个作品集吗. 在之前的开发项目中,我们致力于 重构代码库 启用新的模型管理特性和 重构代码库 利用底层库. 我们的下一步是继续实现新的可视化和模型管理特性.

对于那些对经验软件工程研究更感兴趣的人, 我们目前正在评估过去两年开发的一些算法的可用性. SURF过去的研究项目包括 目标模型构建研究 and 评估框架的不确定性.

此外,我们正在研究如何在GitHub存储库中建模工件. 这些都是不断发展的项目,我们欢迎对研究感兴趣的热情学生的见解, 有良好的沟通技巧(书面/口头英语),能够独立和协作工作.

对研究和/或定量研究感兴趣的学生.g.(如电子表格,统计数据)或定性(如数据).g.,开放编码,人种学)数据分析应该在其应用中说明这一点.

查看更多关于Grubb实验室和其他学生项目的详细信息 Grubb Lab website.

R. Jordan Crouser

  • 自动抄写识别项目 用叙利亚的阿拉姆语方言写的古代手稿作为案例研究,探索手写数字分析的最新进展如何帮助澳门葡京博彩软件更好地确定手稿的来源, 鉴定同一抄写员所写的手稿, 并追溯古代文字的年代发展. 虽然最初的项目目标是大大提高我们对叙利亚基督教的理解, 它最大的作用将是为阿拉伯语等其他语言的类似事业提供一个平台和模式, Greek, Hebrew, Latin, and Sanskrit.
  • 个体差异项目研究人员进行了许多研究,观察数据分析师执行特定任务, 并且使用这些观察来定义一个分析工作流. 每个分析人员都有不同的工作流:他们可能以独特的模式组合规范的操作, 专注于特定领域, and so forth. 但是,我们如何预测分析师可能会提前支持哪些工作流呢? In this project, 我们将设计并进行一系列实验,旨在了解用户的不变特征,这些特征可用于确定分析工具的哪些特征我们可以调节以更好地支持单个分析师. 通过将用户的特征映射到工具的特征, 我们的目标是提供一个更好的, 为用户提供更流畅的体验, 从而在纯计算分析失败的领域增强人类的分析能力.
  • 心理健康计算项目:与临床医生的合作 司法资源研究所 探讨计算和交互系统在社区精神卫生倡议中的作用.

Katherine M. Kinaird

我正在寻找有兴趣建立一个新的Python包和/或有兴趣建立一个交互式可视化平台的乐谱表示的学生. Additionally, 我可能会资助一个对数据科学教育研究和文本挖掘交叉感兴趣的学生.

  • 构建一个新的python包,该包重新想象现有的MATLAB代码以构建对齐的层次结构, 乐谱的表示形式. 这是基于ISMIR 2016上发表的研究成果, 但不需要音乐信息检索(MIR)的背景知识. 对这个项目感兴趣的学生应该有python编程的经验. CS 111),他们应该对建筑规范的公开发布感到兴奋.
  • 交互式对齐层次结构也建立在对齐层次结构的基础上, 但是将静态输出链接到分数. 这将允许同时对乐谱和表现形式进行互动探索. 对这个项目感兴趣的学生应该有设计大型项目的经验,并且对将可视化与声音文件联系起来感到兴奋.
  • (可能的资助)作为TRIPODS+X资助的一部分, 有一项暑期作业,旨在探索调查学生在第一次正式数据科学课程之前和之后对数据科学的误解. 除了数据管理之外,这个项目还将依赖于文本挖掘的各个方面.

Ileana Streinu

Recent projects:

  • 病毒衣壳的几何结构
  • 增氧材料原型制作
  • 新机器人课程的教材

 

Nick Howe

手写识别 & 历史的手稿. 如欲了解更多有关 尼克·豪的研究页面.

一个有吸引力的社区

计算机科学系为学生提供了许多参加俱乐部的机会, 校内和校外的活动和事件. 

联系计算机科学系

Ford Hall 255
Smith College
Northampton, MA