计算机科学系提供了多种开始学习计算机科学的方法, 适合考虑主修或辅修计算机科学的学生, 那些可能想在其他专业中使用计算机的人, 对于那些对计算机科学感兴趣的人,想从一个不需要编程的入门开始.
对于考虑主修或辅修计算机科学的学生:
如果你对计算机科学专业或辅修专业感兴趣,推荐的入门点是any comsc - 151 提供. 这是一门编程密集型课程,介绍使用计算机作为解决问题的工具. 有多种comsc - 151产品(例如, comsc - 151 cp, comsc - 151 ds, comsc - 151 hc),它们都涵盖了相同的基本材料,但有不同的激励例子.
具有先前编程经验的学生可以参加分班考试,以确定是否有资格跳过上述内容并开始 comsc - 205.
comsc - 100计算与数字世界
介绍基本的计算机科学概念. 讲座将涵盖诸如计算机的起源等主题, 计算机体系结构, 人工智能, 隐私和安全. 会有一些编程练习.
comsc - 106应用计算基础
您是否曾经使用谷歌的图像搜索工具并想知道搜索结果是如何找到的? 为什么计算机很难像我们一样“看”? 计算机科学家正在积极研究如何应对“计算机视觉”这一挑战.本课程将以计算机视觉为主题,介绍应用计算的基础知识. 在更独立地使用计算工具之前,学生将学习编程(Python编程语言)的基础知识.
COMSC-107设计学习实验室
在规划大学毕业后的道路时, 元认知框架可以为有意识的反思提供框架. 坐落在芬贝尔制造商 & 创新实验室, 本课程将利用实际活动来讨论影响学习的因素和策略. 例如, 在芭蕾舞裙中嵌入微控制器来制造动作感应灯,这与自我调节学习的周期相似. 没有电子或计算机科学方面的经验, 学生将学习动手教程,学习开发自己的交互式技术项目所需的基础知识.
comsc - 109设计工作室
设计师们不断创新将技术融入当今世界的方式, 从格莱美演出礼服上的蝴蝶投影,到能感知钱包不见的“智能”钱包. 最近出现了低成本, 用户友好的组件使这个新的设计世界对广泛的社区开放. 在本课程中, 学生将对市场上已有的产品进行批判性思考,并将获得创建自己设计的工具. 一系列关于电子基础知识和微控制器编程的动手研讨会将提供令人惊讶的最低水平的舒适和技术背景,以生产这些设计的原型.
计算机科学主题:“人工智能伦理”
人工智能(AI)正在迅速改变我们的世界, 从我们开车的方式到我们交流的方式. 但是这些变化的伦理含义是什么呢? 在本课程中,我们将探讨人工智能带来的道德挑战和机遇. 我们将讨论数据隐私、公平、偏见、问责制和透明度等主题. 我们还将研究人工智能在社会中的作用及其对我们的价值观和生活方式的潜在影响.
COMSC-120
介绍编程语言R以及如何使用它进行统计分析和数据可视化. 学生将学习如何编写基本的R程序来读取、写入和操作数据. 他们将使用R函数执行常见的统计分析,并学习如何使用图形和图表显示结果. 通过一系列的项目, 学生将获得编写自己的函数的经验, 学习如何使用R文档以及如何扩展他们自己的语言知识.
面向对象程序设计
本课程将向有Python编程基础并有兴趣继续学习的学生介绍面向对象编程 comsc - 205 数据结构. 它涵盖了类、对象、方法和子类型.
comsc - 122 Java编程语言
本课程将向已经具备另一种面向对象编程语言编程能力的学生教授Java编程语言.
COMSC-132人人工程学
工程师通过开发几乎影响我们生活方方面面的技术,每天都在改变着我们生活的世界. 在本课程中,我们将学习工程事物如何塑造我们生活的世界. 学生将以团队为基础, 实践工程设计项目, 从头脑风暴的解决方案到当代问题, 构建, 测试, 迭代设计方案. 在此过程中,学生将学习基本的编程和制作技能. 我们将一起反思工程设计的伦理, 最后对技术和社会的互动方式有了更细致的理解. 谁来决定哪些技术重要? 什么是“好的”技术解决方案,对谁来说是“好的”?
COMSC-133DV数据可视化:设计与感知
数据可视化,如图形、图表和信息图无处不在! 但是创建有效沟通的数据可视化并不是一项简单的任务. 在这门入门课程中, 学生将探索设计如何影响数据的理解方式,以及如何利用这一点为不同类型的数据制作有效的可视化. 数据处理经验, 设计, or data visualization are not expected; students will work on a series of projects which will build these skills over the semester.
comsc - 150计算机科学入门
计算机科学领域概论. 向学生介绍Python编程,包括算法, 基本数据结构(列表), 字典), 以及编程技术. 不包括面向对象编程.
comsc - 151计算问题解决导论
计算机科学领域的专题介绍. 利用在每个主题课程的主题焦点中发现的问题. 所有主题课程 comsc - 151 涵盖相同的概念和技能,并满足计算机科学专业和数据科学专业的要求. 这门课程是编程密集型的,包括面向对象编程的主题. 学生不妨考虑一下 comsc - 150 作为不涉及面向对象编程主题的另一个入口点.
comsc - 151 cp计算问题解决导论:“计算原理”
向学生介绍算法、基本数据结构和编程技术. 学生通过探索来自广泛领域的问题来学习计算原理, 比如密码学, 数据分析和游戏.
comsc - 151 ds计算问题解决入门:“大数据”
向学生介绍算法、基本数据结构和编程技术, 专注于数据收集, 准备, 分析. 探索数据操作的编程, 数据的表示和表示, 以及处理大规模数据的道德规范.
comsc - 151 hc计算问题解决导论:“人文计算”
向学生介绍算法、基本数据结构和编程技术. 学生将探索解决人文学科中出现的问题:各种形式的文本分析, 图像处理, 动画, 声音处理.
comsc - 151SG计算问题解决导论:“社会公益计算”
向学生介绍算法、基本数据结构和编程技术. 包括计算机如何改善人类生活和社会的讨论, 比如改善残疾人的无障碍环境, 或者在紧急情况下帮助组织救援队.
计算机科学导论第2部分:面向对象编程
本课程建立在学习的编程概念 comsc - 150,涵盖面向对象编程和介绍Java编程语言.
数据结构
本课程建立在计算机科学151中所学的基本编程概念的基础上, 将重点转移到数据的组织上,以提高程序的效率和简单性. 主题包括抽象数据类型和数据结构(如链表)的研究, 栈, 队列, 二叉树). 本课程是编程密集型课程,介绍Java编程语言.
comsc - 205 py数据结构(Python)
本课程建立在计算机科学150和计算机科学121的基本编程概念的基础上, 将重点转移到数据的组织上,以提高程序的效率和简单性. 主题包括抽象数据类型和数据结构(如链表)的研究, 栈, 队列, 二叉树). 本课程是编程密集型课程.
comsc - 221计算机系统概论
本课程着眼于计算机和计算机系统的内部工作原理. 这是计算机体系结构的入门课程. 具体的主题包括汇编语言编程、内存和并行性. 本课程是编程密集型课程.
软件设计与开发
构建大型软件系统给软件开发带来了新的挑战. 适当的设计决策和编程方法可以在开发正确且可维护的软件方面产生重大影响. 在本课程中, 学生将学习用于构建正确且可维护的软件的技术和工具, 提高他们的设计技能, 写作, 调试, 测试软件. 主题包括面向对象的设计、测试、设计模式和软件体系结构. 本课程是编程密集型课程.
COMSC-226工程机器人系统
这个中级水平的课程介绍了机器人技术的实践介绍. 每个学生将构建和修改一个机器人由类似arduino的微控制器控制. 主题包括运动学, 逆运动学, 控制理论, 传感器, 机电一体化, 运动规划. 材料将通过每周一次的讲座和每周一次的指导实验室来提供. 作业包括实验室准备作业, 指导实验环节, 以及建立在课堂教学基础上的课外项目. 学生可以进入芬贝尔制造和创新实验室制造和展示他们的机器人.
COMSC-243HC主题:人机交互
人机交互(HCI)是探索人与计算机之间关系的多学科领域. 这个广泛的领域包括人们如何与技术互动等主题的研究, 设计是如何影响人们使用技术的, 以及设计真正为人们服务的新技术的方法. 在这个课堂上, 学生将学习并应用以人为本的设计原则, 采用本领域常用的研究方法, 并探索该领域的最新文献.
COMSC-243HR主题:人机交互
人机交互是一个跨学科的领域,它研究了一系列关于设计用于与人类交互的机器人的问题.g.(教育、辅助和服务机器人). 机器人的行为和外观如何改变人类对它的感知和与它的互动? 我们如何设计和编程自然、可靠和有效的机器人? 在本课程中, 学生学习交互式机器人的算法基础, 获得构建和评估交互式机器人的经验, 阅读并发表学术研究论文. 课堂时间分为讲座、学生报告、讨论和实践活动.
COMSC-243ST主题:搜索技术概论
web和组织数据库中大量的非结构化和结构化数据增加了对处理大量文本的方法的需求. 这种分析有助于研究人员和企业深入了解消费者在特定环境下预计会花多少钱等问题,否则人工操作既耗费资源又耗时, 仇恨团体的兴起及其对社交媒体的影响, 或者新发现的手稿可能属于谁. 在本课程中, 向学生介绍用于获得这些见解的工具和技术, 比如Map-Reduce和情感分析, 在自然语言处理和搜索技术的背景下.g.谷歌).
COMSC-243SW主题:“计算系统研讨会”
在Python等高级编程语言以及游戏机和智能手机等消费设备的光鲜外表下,隐藏着计算机系统的基本组成部分——硬件组件等元素, 操作系统, 数字逻辑. 本课程将使用结合硬件和软件的动手方法,作为在低水平上理解此类系统的一种方式. 学生将有机会使用树莓派电脑构建各种有形的项目,并将有机会访问芬贝尔制造商 & 创新实验室. 具体主题将涉及低级数据表示, 声音一代, 以及经典的任天堂娱乐系统.
计算理论
电脑的功能有什么限制吗? 这个问题的答案是否取决于你使用的是PC还是Mac? C比PASCAL更强大吗? 本研讨会通过研究几种计算模型来探讨这些问题, 说明每种模型的功能和局限性, 并将它们与计算问题和应用联系起来. 主题包括有限状态自动机, 下推自动机, 语法, 图灵机, 通用图灵机, 和可计算性.
comsc - 312算法
谷歌地图如何找到两个地点之间的最佳路线? 计算机如何帮助解码人类基因组? 这些和其他复杂的计算机应用程序的核心是重要的算法. 而算法必须专门用于某个应用程序, 有一些处理算法问题的标准方法在许多应用中都很有用. 在其他主题中, 我们探索图算法, 贪心算法, 分治法, 动态规划, 网络流. 学生们学会识别何时应用这些策略,以及评估他们设计的算法的预期运行时间成本.
COMSC-316开发创新软件
厌倦了编写没人用的程序? 那么,这门课就是为你准备的. 许多人对软件提出了新颖的想法, 但缺乏开发软件的资源或能力. 学生将运用他们的编程技能,根据客户的要求开发和交付软件. 学生将学习与客户合作所需的关键沟通技巧, 与同学团队合作, 并体验从需求引出到交付的软件生命周期. 学生将综合先前课程中所学的许多主题,并探索完成特定项目所需的新技术. 编程的.
comsc - 322操作系统
介绍协调使用计算机资源所涉及的问题. 主题包括操作系统的演变, 内存管理, 虚拟内存, 资源调度, 多道程序设计, 死锁, 并发进程, 保护, 设计原则. 课程重点:理解操作系统设计对你运行和编写的程序的影响.e.,在安全、性能等方面.). 本课程是编程密集型课程.
COMSC-334人工智能
人工智能, 作为一个领域, 从最初的科幻小说发展成为计算机科学中最广泛的领域之一, 涵盖了非常广泛的主题. 这些主题之间的一个共同线索是“我们如何构建显示逻辑和理性的计算机系统”?或者更确切地说,“我们如何构建能够智能地解决问题而不诉诸暴力的系统??我们将在这门课程中涉及几个主要话题, 最值得注意的是搜索, 逻辑推理, 计划以及游戏/理论, 不确定性推理, 图形模型. 本课程是编程密集型课程.
COMSC-335机器学习
奈飞公司是如何了解一个人喜欢什么电影的? 计算机如何读取包裹上手写的地址,或识别图像中的人脸? 机器学习是计算机编程的实践,通过经验来学习和改进, 它在科技领域变得越来越普遍. 本课程将涵盖数学基础, 算法, 以及使计算机能够学习的实践. 主题将包括监督学习, 无监督学习, 评价方法, 和贝叶斯概率建模. 学生将学习MATLAB或Python编程,并应用课程技能来解决现实世界的预测和模式识别问题. 编程的.
COMSC-341CC主题:编译器设计
编译器和解释器设计和实现的原则和实践. Will cover the st年龄s of the compilation 和 execution process: lexical 分析; parsing; symbol tables; type systems; scope; semantic 分析; intermediate representations; run-time environments 和 interpreters; code generation; program 分析 和 optimization; 和 garb年龄 collection. 学生将构建一个完整的编译器.
COMSC-341CV主题:计算机视觉
本课程介绍了图像分析和从图像数据的3D解释. 它揭开了像滤波这样的图像处理标准技术背后的奥秘, 边缘检测, 立体视觉, 流, 等. 数学爱好者们,这门课是为你们准备的! 整个学期, 每个学生将通过编程作业开发自己的计算机视觉库. 此外, 学生将学习到新的, 先进的基于机器学习的计算机视觉算法.
主题:“游戏编程”
电子游戏不仅好玩,编程也很有趣,很有挑战性, 包括对其他类型的系统编程有用的元素. 它们结合了图形, audio, 和动画, 必须为相对复杂的系统建模吗, 而且往往对时机有比较严格的要求. 在这个过程中,我们通过实现一些我们自己的探索游戏实现背后的技术. 本课程是编程(和游戏)密集型课程.
主题:“自然语言处理”
本课程介绍自然语言处理, 使计算机处理和理解人类语言的学科. 我们将学习自动文本和语音分析和理解的基本技术, 用语言学的见解. 学生将得到实践实践的计算算法, 阅读学术研究文章,设计并完成一个独立的期末项目.
COMSC-341NP主题:“网络架构和协议简介”
本课程是一门以互联网为重点的计算机网络入门课程. 在高层, 我们将强调那些有助于互联网成功发展的概念和原则,这些概念和原则使互联网从最初的不起眼发展成为世界上一半以上人口使用的系统. 在低水平上, 我们将调查技术, 构成网络基础的技术和协议, 以及建立在这些网络之上的关键协议. 具体的主题包括分层, 路由, 寻址, 可靠的交付, 拥塞控制, DNS, HTTP, 和其他人.
COMSC-341RP主题:机器人规划算法
机器人规划是开发自主机器人的一项基本技能. 本课程将向学生介绍机器人规划的基本概念和算法. 学生将学习如何运用他们在数据结构中学到的概念来实现和分析流行的规划算法的性能. 学生还将了解机器人导航领域的进步和差距, 操纵, 和协作.
COMSC-341TE主题:“数据科学的文本技术”
本课程的重点是文本分析和技术. 我们着眼于处理大量非结构化、半结构化和结构化数据的挑战. 在这种情况下, 我们探讨了统计分析应用于搜索等方面的一些方法, 分类e.g. 垃圾邮件过滤,推荐系统,剽窃检测和隐藏消息查找.
COMSC-343编程语言设计与实现
有没有想过为什么Java程序中有这么多分号, 或者一门语言不是面向对象的意味着什么? 在本课程中, 我们将探讨与编程语言的设计和实现相关的问题. 在这个过程中,我们会发现这些问题的答案,甚至更多. 主题将包括语法, 语义, 对语言的运行时支持以及函数式编程的介绍.