课程

CS-001 Ots网络课程(0学分)
CS-101计算机科学概论(3学分)
计算机科学与工程的动手入门. 符合工程101的电气和计算机工程部分. 包括对编程、机器人和传感器的简短介绍. Fall.
CS-105计算机科学概论(3学分)
适用于非计算机科学或工程专业的学生. 广泛介绍计算中使用的各种概念和工具. 主题包括数字系统, Boolean algebra, problem solving, computability, databases, networking, Internet/Web, user interfaces, 人工智能, robotics, 以及编程的简短介绍. 背景应包括两个学期的高中代数. cs101或cs105或机械工程101中不多于一门可获学分.
CS-205科学编程(3学分)
探索在科学中使用计算机的能力和局限性. 包括各种方法来解决科学问题,如数字表示的研究, 计算数值方法, 科学模拟. 对于计算机科学或工程专业的学生,这门课程可能不计入毕业成绩. 先决条件:数学134或221.
CS-210编程基础I(3学分)
强调在软件解决方案的分析和设计中使用的解决问题的技术, 包括结构化的自顶向下设计, abstraction, 良好的编程风格, debugging, and testing. 所涉及的编程结构包括控制结构, functions, and basic, 和聚合数据类型. 递归和动态分配简介. Fall, spring.
CS-215编程基础II(3学分)
项目和问题解决课程强调使用类封装抽象数据类型和抽象数据结构. 主题包括类, templates, 动态分配, 搜索和排序, recursion, 异常处理. 算法分析简介. 前提条件:C-或更好的等级在cs210.
CS-220逻辑设计与机器组织(3学分)
介绍逻辑设计和计算机硬件的概念. 主题包括布尔代数, 数字表示, 时序逻辑, 计数器和寄存器, 微型计算机体系结构, 和汇编语言编程. Spring.
CS-290面向对象设计(3学分)
对抽象数据类型和对象的深入研究, 包括继承和多态性, 框架和设计模式, 并将这些原理应用到问题解决和程序设计中. 先决条件:cs215. Spring.
CS-310益智编程(1学分)
学习在时间压力下解决问题. 模拟的编程比赛环境. 所有考虑的问题都来自过去的编程竞赛. 强烈推荐给任何对编程竞赛感兴趣的学生. 先决条件:cs215或讲师的许可. 可以重复最多三个学分吗. Fall.
CS-315算法和数据结构(3学分)
设计和实现算法和高级数据结构,注意复杂性和空间分析. 解决问题的策略,包括贪婪和分治算法以及动态规划技术. 先决条件:CS 215,数学370. Spring.
CS-320计算机架构(3学分)
研究从四比特机到超级计算机的计算机系统架构. 详细研究了存储器系统、I/O处理器和多计算机系统. 介绍了RISC、CISC和神经网络. 建立硬件和软件的关系. 包括处理图形用户界面及其实现的实际项目. Prerequisites: CS 210; CS 220 or EE 254. Spring.
CS-350计算机/人机交互(3学分)
研究用户界面设计,包括人机工程学因素. 包括处理图形用户界面及其实现的实际项目. 先决条件:cs215.
CS-355计算机图形学
计算机图形学基础课程. 主题包括渲染二维和三维图像, 二维和三维变换, line clipping, hidden lines, shading, 以及透视投影. Prerequisites: CS 215; MATH 323.
CS-375 UNIX系统编程(3学分)
涵盖UNIX软件开发和UNIX管理. 包括对常用shell和脚本语言的讨论, X Windows, 以及进程间通信. 先决条件:cs215.
CS-376小型计算机软件
介绍Windows(TM)操作系统使用c#提供的图形用户界面.NET. 主题包括控制台应用程序、windows窗体、基础图形、ASP.Net网页表单,ADO.. NET、计算机之间的TCP/IP连接、动态链接库(dll)和/或设备驱动程序. Prerequisites: ENGR 123 or CS 210; EE 254 or CS 220. Same as EE 356. Fall.
CS-380编程语言(3学分)
选定高级语言的比较分析. 涵盖由各种编程语言表示的虚拟计算机, 数据类型的表示, 序列控制结构, data access, scoping, typing systems, 运行时存储管理, 语言语义, alternative, 程序设计范型, 以及平行语言结构. 先决条件:cs215. Fall.
CS-381形式语言(3学分)
计算模型包括有限自动机, 常规的语法, 正则表达式, 下推自动机, 上下文无关文法, 图灵机, computability, 和不可判定性. Prerequisites: CS 210; MATH 370. Fall.
CS-390软件工程(3学分)
在大型群体编程项目的背景下研究软件设计和开发过程. 涵盖的主题包括:项目管理, 软件管理, 要求和规范方法, 软件设计与实现, 验证和确认, 软件测试和文档标准方面, 技术文件, contracts, risks, and liabilities. 先决条件:cs215. 推荐:cs290. Fall.
CS-391软件工程II(3学分)
CS-390软件工程的延续. 为外部客户开发大规模、持续的软件应用程序的实际经验. 涵盖的主题包括:项目管理、质量保证和期望管理. 前提条件:cs390. Spring.
CS-395软件项目管理(3学分)
管理软件项目的问题和技术. 项目评估, 范围管理, 利益相关者管理, 风险评估, scheduling, quality, rework, 谈判和冲突管理. 软件开发伦理. 先决条件或先决条件:cs390.
CS-413软件安全(3学分)
为软件设计和实现提供系统的处理方法,以创建安全的计算机程序和应用程序. 涉及软件实现和web的漏洞和安全问题的类型, cryptographic, 并且确定了网络应用程序,并提供了包括包含安全性的软件开发生命周期模型的解决方案. 先决条件或先决条件:cs390.
CS-415密码学
介绍常规和公钥加密, 密码系统,如DES和RSA, 以及密码学在网络和系统安全中的应用. Prerequisites: CS 215; MATH 370.
CS-430人工智能(3学分)
智能计算机系统设计的基本思想和技术. 主题包括启发式搜索, problem solving, game playing, 知识表示, 逻辑推理, and planning. 高级主题,如机器人, expert systems, learning, 如果时间允许,语言理解能力也会提高. 先决条件:cs215. 推荐:cs315,380.
CS-440数据库(3学分)
介绍数据库概念和体系结构. 主题包括基本的文件结构, 数据字典, data models, 用于数据定义和查询的语言, 以及数据安全的事务管理, 并发控制, and reliability. 有数据库和查询系统的实践经验. Prerequisites: CS 215; MATH 222.
CS-445大型编程(3学分)
将软件扩展到大量用户的技术. 主题将包括web应用程序编程, 数据库扩展技术, 使用web服务和api, 虚拟化和容器. 前提条件:cs380.
CS-455高级计算机图形学(3学分)
计算机图形学高级课程. 主题包括光栅图形,纹理映射,曲线近似和光线追踪. 前提条件:cs355.
CS-470操作系统(3学分)
操作系统组件. 任务和处理, 流程协调和调度, 内存组织与管理, 设备管理, security, networks, 分布式和实时系统. 先决条件:cs215. 推荐必修科目:cs320. Spring.
cs - 472并发 & 并行编程(3学分)
用于并行体系结构的各种编程模型. 主题范围从集群上的并发编程, 到多核编程, 到高度并行和GPU编程. 并行算法与策略. 先决条件:cs470.
移动应用程序开发(3学分)
Hands-on, 以项目为导向的课程,探索设计和构建移动设备应用程序所涉及的原则和工具. 主题包括移动应用程序开发和概述, 应用程序体系结构, 管理应用程序资源, 设计用户界面, 数据存储选项, 集音视频于一体, 基于位置的服务. 每个产品都将专注于当前的一个移动平台. 针对不同移动平台内容的可重复课程. 先决条件:cs215. 推荐:cs290.
CS-475网络(3学分)
数字数据通信系统的硬件和软件, 同步和异步通信, standards, protocols, 网络配置, 网络应用程序. Prerequisites: CS 215; MATH 222.
嵌入式系统和实时编程(3学分)
涵盖了嵌入式系统中常用的实时编程技术. 主题包括实时操作系统概念, 并发编程和任务调度算法, 互斥和同步方法, 以及进程间通信. 学生通过为两种流行的嵌入式操作系统编写应用程序来获得实际经验. Prerequisites: EE 354 or CS 215; or permission of instructor. Same as EE 458. Spring.
CS-491软件质量保证(3学分)
软件质量保证的各个方面. 动态分析方法,如断言和测试. 静态分析方法,如评审和验证. 强调各种测试技术,如单元测试, integration, system, 验收和回归测试. 先决条件或先决条件:cs390.
CS-494高级项目研讨会编程(0学分)
为高年级设计专题的选题提供指导. 项目(一些行业赞助)供学生选择. 所选项目的大纲和简短介绍是必需的. 前提条件:12小时的300级计算机科学课程. 计算机工程师可以替换EE 494. Spring.
CS-495高级项目第一期(3学分)
在教师和行业顾问的指导下,规划计算机科学项目并制定初步设计. 讨论计算机科学作为一门学科与人文社会科学的关系. 准备一份正式的书面提案,并对提案进行口头陈述. 研讨会讨论道德问题, environmental, economic, safety, 以及计算机科学的人体工程学方面. 对研讨会主题的书面反应. Prerequisites: CS 494; GPA of at least 2.0. 计算机工程师可以替代EE 495. Fall.
CS-497高级项目第二阶段编程(3学分)
学生完成并构建cs495中提出的设计. 正式的设计审查在学期初进行. 练习口头报告, 书面的最终报告, 最后口头报告, 和示范完成的项目是必需的. 前提条件:cs495. 计算机工程师可以替换EE 497.
CS-498计算机科学程序设计独立研究(1-3学分)
对学生感兴趣的题目进行独立研究. 需要教师赞助和批准的详细学习计划.
CS-499计算机科学编程专题(1-3学分)
研究特别感兴趣的话题. 主题将会公布. 可以重复. 先决条件将在安排时公布.