相关链接
课程
永久课程
此处的课程信息包括所有永久课程,并在教务会批准更改时定期更新。有关历史信息,请参阅课程目录. 对于任何给定术语中的实际课程可用性,请使用中的课程搜索门户.
本课程是一种结构化的算法开发和问题解决方法,使用面向对象编程语言(如Java或Python)进行计算机编程。除了教授高级计算机编程语言的标准特性外,本课程还开发了过程抽象、程序设计、调试和测试的概念。将向学生介绍面向对象编程的关键概念,包括类、继承、多态性和接口。还将讨论与计算机相关的社会问题(例如道德、隐私、责任和安全)。(1)每学期提供。
介绍网页和网站的设计、创建和维护。学生学习如何批判性地评估网站质量,如何创建和维护网页,如何设计网页布局和有效的网站导航,并学习网页设计标准及其重要性。本课程包括使用HTML、CSS和其他基本工具实现基于Web的构建。然后,本课程将继续使用更高级的工具,包括页面设计工具、DHTML和相关工具。介绍了一些站点管理技术,讨论了可访问性问题和与客户的合作。本课程从网页设计的入门工作发展到最终项目,通常是学生选择的项目或当地社区组织的网站。提供偶数年,春季学期。先决条件:初级资格。
适用于一般观众的专题。课程名称和内容各不相同,当名称和内容发生变化时,课程可能会重复以获得学分。偶尔提供。先决条件:随主题不同而不同。
本课程介绍计算机物理部件(硬件)的组织和硬件之间的接口,特别是通过中央处理单元(CPU),和程序/指令(软件),导致了一个运行的计算机器。此外,本课程还将深入学习CPU的功能子单元(寄存器文件、算术和逻辑单元(ALU)、数据路径和控制、流水线)和互连,以及它与内存和外部世界的接口。本课程包括数字逻辑、指令集架构(ISA)、汇编语言、存储器层次结构、存储单元的正式学习。本课程还探讨了替代处理器架构和多处理。每年秋季。前提条件:计算机科学
数据结构的实际覆盖与软件解决问题的机会。涵盖链接列表,跳过列表,一般和平衡的树木,散列和图形,以及算法和标准工具,为其实现,以及用于各种分类方法的算法和算法的复杂性分析。学生了解如何在设计软件中使用数据结构的抽象,以实现编写程序中的算法的细节,并分析数据结构和算法的选择中的权衡。提供每个春天。前提条件:计算机科学
介绍了计算机数据通信网络的概念、设计和实现,提出了服务模型和分层体系结构模型。本课程根据客户端-服务器、基于套接字的模型,在应用程序、传输、网络和物理层检查因特网及其服务和协议。本文还讨论了互联网的发展和控制及其社会影响。介绍了网络、通信、数据安全和完整性的原理。提供甚至几年,春季学期。前提条件:计算机科学
对动态网站构建的编程技术简介,以及Web应用程序开发的介绍。学生将学习在Web的构建块中编程,包括JavaScript(客户端),PHP或Python(服务器端)和SQL(数据库通信)。引入的其他技术包括HTML表单,HTML5,文档对象模型(DOM),XML,JSON和AJAX。学生将在团队中工作以设计,实施和部署全功能的Web应用程序,提供预设的项目或个人设计的项目。提供甚至几年,春季学期。先决条件:计算机科学204和计算机科学165,或教师许可。
计算机科学的某些方面反映了讲师的特殊兴趣和经验。课程名称和内容各不相同,当名称和内容发生变化时,课程可能会重复以获得学分。偶尔提供。先决条件:随主题不同而不同。
跨计算机科学不同领域使用的主要算法类别,包括图形算法、模式匹配、图形算法、并行算法、加密和压缩。算法设计的一般方法,包括分治法、回溯法、动态规划和问题的转换。进一步的技术分析算法的效率。介绍抽象的问题类别:P(可解决的)、NP和NP-完全(可解决但难以解决的)和不可解决的问题。奇数年,春季学期。先决条件:计算机科学204和数学160。
概述多线程程序的基本技术,其中多个任务共享计算机资源,并概述现代操作系统的原则。涵盖的主题包括数据竞争、死锁、原子性/互斥及其实现、线程之间的通信(包括共享内存和消息传递)、操作系统设计、硬件影响、并发机制、线程和进程、进程状态和图表、调度、上下文状态和中断、内存管理、文件系统以及来自主要当代操作系统的示例。将进行实际的线程编程。奇数年提供,秋季学期。前提条件:计算机科学
为了理解计算机能做什么,不能做什么,我们研究了用于计算机编程的不同风格的语言,研究机器学习,计算机部分地自己编程,并构建计算机的抽象模型,以更正式地分析它们的能力和局限性。重点是编程语言本质上不同于学生期望熟悉的面向对象语言。我们调查他们的能力和优势,以及他们是如何实施的。我们学习了计算机的三个主要抽象类的基本属性:有限状态机、上下文无关语法和图灵机。我们了解到一些计算机无法解决的问题,以及这些无法解决的问题对计算机技术的影响。提供在偶数年,秋季学期。先决条件:计算机科学204,外加2学分200级或以上的计算机科学课程。
本课程介绍关系数据库系统,包括设计、体系结构、SQL、关系数据建模、实体关系、事务和可靠性。本课程还介绍信息管理系统,包括人类需求、索引、质量问题、面向对象模型以及信息表示和应用。学生将以小组形式设计数据库应用程序,包括测试、文档和审查。学生将在团队环境中体验不同的角色,并继续向观众展示作品。将学习和使用适当的软件开发工具。学生将学习职业道德和义务。(CP)。每年都有。先决条件:初级资格和CSCI 204。
计算机科学的某些方面反映了讲师的特殊兴趣和经验。课程名称和内容各不相同,当名称和内容发生变化时,课程可能会重复以获得学分。偶尔提供。先决条件:随主题不同而不同。
调查现代软件工程的基础知识,重点关注大量软件项目的要求,规范和初始设计。学生,在团队中工作,开发需求场景,规格文件以及项目的初步用户手册。该课程作为整体审查,批评,并批准这些文件,通常通过多种草稿。并行,团队还会为软件产生初步架构设计选项,而该课程比较和评论所提供的选项。作为一个Capstone课程,我们还研究了该职业的各种问题,学生将学生研究了他们的感兴趣并将其提交给课堂。(CP)在奇数年份提供,秋季学期。先决条件:初级站,计算机科学204。
本课程从上学期计算机科学375制作的软件规范和设计开始,着重于将软件设计实现为代码。将软件系统的对象分配给不同的团队,团队从构建系统的各个对象中学习协调构建更大系统所需的技能。重点放在方法的设计、“按合同”编程,以及使用自动化测试来验证这些合同。定期使用结构化的对象文档和代码检查方法。团队组件的持续协作集成是通过正式的配置管理工具实现的。作为一门顶点课程,我们还将研究该行业当前的各种问题,学生们将研究他们感兴趣的问题,并将其呈现给全班。(CP)提供偶数年,春季学期。先修课程:大专学历,计算机科学204;建议使用计算机科学375。
在计算机科学中,对一个问题或主题进行独立的、有指导的研究。先决条件:大二站。
与教师一起进行课堂教学。信贷/没有信用评分。