你准备好了吗? 推进你的职业生涯?

所有课程旨在帮助您提升职业生涯,每门课程都包含实际作业。 视图 毕业要求。

数据科学课程

标准核心课程

  • 本课程提供了一个集中的程序,用于增强五个领域的编程和分析技能:问题解决,数据结构,面向对象的编程,Java编程语言以及Java程序中递归的使用。

    这些主题作为计算机科学研究生课程课程的前提条件特别重要。

    主题包括:Java编程元素,面向对象的设计和实现,数据结构(包括列表,堆栈,队列,二进制搜索树,哈希表和集合),异常层次结构,文件I / O和流以及JDBC。 (4个学分)先修课程:本科生:CS 221; 研究生用:系主任同意(4个单元)

  • 本课程介绍面向对象编程的基本原理。 学生将学习如何编写可重复使用且维护良好的软件,并将这些知识与实验室作业和项目相结合。 主题包括:面向对象编程的基本原理和模型,UML类图和促进软件可重用性和可维护性的设计原则。 (4单位)

  • 本课程考虑了当前用于良好设计软件系统的方法和实践。 主题包括:软件设计模式,框架,体系结构和设计系统,以应用这些多级抽象。 (2-4学分)先决条件:CS 401或部门教员的同意。

  • 本课程介绍了分析算法效率的方法(包括最坏情况和平均情况分析),并介绍了各种已知的高效算法。 算法的分析,设计和实现同等重要。 主题包括搜索和排序,数据结构(包括列表,哈希表,平衡二叉搜索树,优先级队列)的操作效率,图算法,组合算法,递归关系,动态编程,NP完全问题以及一些特殊主题作为时间允许。 (特殊主题包括计算几何,密码系统算法,近似,大数据和并行计算。)

  • 本课程重点讲授开发大型企业应用程序时使用的原则和实践。 我们将研究经常使用的不同架构层以及与这些层相关的不同技术,包括对象关系映射(ORM),依赖注入(DI),面向方面编程(AOP)以及通过Web服务与其他应用程序集成(RESTfull)和SOAP),消息传递和远程方法调用。 必须具备关系数据库和SQL的工作知识。 如果您没有强大的课程或良好的SQL工作知识,则应在注册EA之前注册CS422 DBMS。 (4单位)

  • 软件工程是一门课程,通过软件开发方法向学生介绍软件开发的最佳实践。 学生已经在以前使用面向对象范例的课程中获得了一些经验,并且已经使用了一些基本的UML图来建模软件对象之间的关系。 在软件工程中,学生将培养将这些工具组合在一起的技能,以生成功能强大,易于维护的软件。 软件开发方法描述了何时以及如何使用OO概念和UML图来实现构建高质量软件的目标。 该课程围绕一个小项目,其中可以说明和应用讲座形式中讨论的原则。 在课程结束时,学生将拥有一个正在运行的应用程序,该应用程序符合RUP(Rational Unified Process)开发方法的高标准。

  • 本课程将Web应用程序集中在企业环境中。 企业应用程序是一种大型软件系统,旨在在大型组织(如公司或政府)中运行。 企业应用程序是复杂,可扩展,基于组件,分布式和关键任务。 本课程CS545主要关注企业Web应用程序的前端或表示层。 CS544企业架构是一个配套课程,侧重于后端或业务层,包括业务逻辑,事务和持久性。 CS472,Web应用程序编程,是一门必备课程,涵盖HTML,CSS,JavaScript,servlet和JSP。

    该课程教授跨平台和框架的一般原则和模式。 本课程将研究和使用两个主要的Java Web框架,Java Server Faces(JSF)和SpringMVC。 JSF是一个基于组件的框架,是Java Enterprise Edition技术堆栈的官方表示框架规范。 SpringMVC是Core Spring框架的一部分,近年来已成为使用最广泛的Java Web框架。 (4单位)先决条件:CS 472或部门教员的同意。

  • 本课程系统地介绍了交互式和动态Web应用程序的编程。 本课程适用于几乎没有或没有Web应用程序编程经验的个人。 该产品将使用Java servlet和JSP进行服务器端处理。 本课程将介绍HTML和CSS。 JavaScript是本课程的重点,并作为一种功能性编程语言(包括jQuery,Ajax和JavaScript名称空间和模块)进行了介绍。 这是CS545 Web应用程序体系结构的先决条件。 它不涉及AngularJS或NodeJS,但此处介绍的JavaScript将使您学习这些技术。 (4个单位)
    先决条件:CS 220或CS 401或部门教员的同意。

  • 您的第一门课程是专门设计的,旨在为您如何成为顶尖的计算机科学专业人员奠定基础。 该课程植根于先验冥想的实践,这将使您发挥出真正的潜力。 您将了解TM的好处,包括通过出色的心理功能来增强创造力和“即开即用”的思维能力来解决复杂问题。 本课程将着重于通过建立休息与活动的最佳组合来支撑活动中最佳表现的原理。 您将发展并体验一个理想的日常生活,这将支持您的生活成功。 (2个单位)

  • 本课程的目标是为学生提供领导知识和技能,包括沟通技巧,为未来的领导角色做准备。

    在本课程结束时,学生将了解有关有效领导的关键问题的答案,包括以下内容:

    是否有'天生的'领导者?

    你必须有魅力才能有效领导吗?

    成为领导者需要哪一项资产?

    管理和领导有什么区别?

    在这个时代领导需要多少“智慧”?

    什么是“管理弊端”以及它如何导致自我破坏?

    知道反馈对领导过程至关重要,我们如何克服对给予和接受它的恐惧?

    80%在工作场所发现的问题的根源是什么?

    是否有科学研究可帮助组织提高个人和团队领导能力?

    演讲嘉宾将包括知名企业家,计算机科学家,慈善家,学者和其他社会杰出领袖。

    (2单元)

其他MSCS课程

  • 本课程考虑编程语言设计中的高级主题,重点是形式化方法和抽象机制。 主题包括数据和控制抽象,语法和语义的形式规范,程序正确性的证明,非确定性编程,高级控制结构和特定语言的研究。 (4单位)先决条件:CS 401或部门教员的同意。

  • 现代信息处理由庞大的数据存储库定义,传统数据库系统无法处理这些存储库。 本课程涵盖行业领导者开发和使用的最新技术,以最有效的方式解决此问题。 涵盖的具体主题包括MapReduce算法,MapReduce算法设计模式,HDFS,Hadoop集群架构,YARN,计算相对频率,二级排序,Web爬行,反向索引和索引压缩,Spark算法和Scala。 (4单位)先决条件:CS 435算法。

  • 大数据是新的自然资源:数据每 12-18 个月翻一番。 这个新的大数据分析课程涵盖了挖掘大量不同数据集以产生新见解的基本概念和工具。 您将掌握使用 R 语言来创建 Wordcloud、Pagerank、数据可视化、决策树、回归、聚类、神经网络等。 您将使用一些数百万的大型记录数据集,并挖掘 Twitter 提要。 您将学习 Hadoop/MapReduce 和流数据概念,并将通过个人研究论文探索其他 Apache 大数据项目,例如 Spark、Flink、Kafka、Storm、Samza、NoSQL。 您将在 Kaggle.com 的开放项目中分组工作,通过解决同类最佳的数据分析挑战来争夺奖金。 您还将学习使用行业领先的 IBM SPSS Modeler 和开源数据挖掘平台。 该课程还将使用来自 MIT、Coursera、Google 和其他地方的各种视频培训材料。 (4 学分) 先决条件:系教员同意

  • 在短短几年内,大数据技术已从炒作领域转变为新数字时代的核心组件之一。 这些技术对于将信息转化为知识非常有用。

    本课程的目的是在军械库中添加一些非常重要的工具,以帮助您解决各种大数据问题。 我们将首先回答诸如“什么是大数据? 为什么重要或有用? 您如何存储这些大数据?” 然后,我们将研究大数据技术堆栈中的不同工具和编程模型,这将有助于我们分析数据。 主题包括Hadoop生态系统中的一些项目,例如MapReduce,Pig,Hive,Sqoop,Flume,HBase(NoSQL DB),Zookeeper和Apache Spark生态系统项目。 我们还将介绍AWS和EMR的介绍。 您将主要使用Cloudera的单节点Hadoop发行版。 (4个单元)(没有先决条件)

  • 数据库系统组织和检索信息,允许用户轻松有效地访问所需信息。 主题包括:关系数据模型; SQL; ER建模; 关系代数; 数据规范化; 交易; 数据库中的对象; 数据安全性和完整性; 数据仓库,OLAP和数据挖掘; 分布数据库; 和研究特定的商业数据库系统。 (4单位)先决条件:CS 401或部门教员的同意。

  • 机器学习是赋予计算机从数据中学习的能力的研究领域,几乎是每个科学学科的核心,而对数据泛化(即预测)的研究是机器学习的核心主题。 本课程对机器学习进行了研究生级别的介绍,并深入介绍了机器学习中的新方法和先进方法及其基础理论。 它强调与实际相关的方法,并讨论了机器学习的一些最新应用,例如数据挖掘(大数据/数据科学、数据分析)、自然语言处理、计算机视觉、机器人、生物信息学以及文本和 Web 数据处理。 机器学习用于各种行业,包括金融服务、石油和天然气、医疗保健、营销和广告、政府、互联网和物联网。

    本课程涵盖各种学习范例,算法,理论结果和应用。 它使用了人工智能,信息论,统计学和控制论等与机器学习相关的基本概念。 主题包括:有监督的学习(生成/区分学习,参数/非参数学习,神经网络,支持向量机,决策树,贝叶斯学习和优化); 无监督学习(聚类,降维,核方法); 学习理论(偏见/方差权衡; VC理论;大幅度利润); 强化学习和自适应控制。 其他主题包括HMM(隐马尔可夫模型),进化计算,深度学习(具有神经网络)和设计算法,可以针对基本的机器学习问题对其性能进行严格分析。

    课程的一个重要部分是小组项目。 将简要介绍用于并行,分布式和可扩展机器学习的主要开源工具,以帮助学生完成项目。 (4单位)先决条件:无。

  • 移动设备编程的重要性近年来已成为软件开发的新领域。 本课程帮助学生开发在iPhone,iPad或Android手机等移动设备上运行的应用程序。 这是一个快速发展的市场。 课程重点是安装,开发,测试和分发移动应用程序。 在本课程结束时,学生可以为所涵盖的平台开发应用程序,模拟它们,在真实设备上测试它们,最后在应用程序商店上发布以向用户提供可用性。 (4单位)先决条件:CS472或部门教员的同意。

  • 在本课程中,您将学习SPA(单页Web应用程序)的反应式编程体系结构以及构建完整的现代Web应用程序所需的所有技能。 技术包括:NodeJS,ExpressJS,TypeScript,AngularJS2,Firebase和NoSQL数据库(MongoDB)。 课程将包括:

    • C ++ V8引擎和异步代码如何在Node和Node事件循环中工作。
    • 如何构建代码以便重用,并使用模块和ExpressJS构建Restful API。
    • NoSQL数据库的工作原理:Mongo Shell,聚合框架,副本集,群集,碎片,Mongoose ORM。
    • 深入了解Angular(由Google支持)如何工作,变更检测,使用Observables和Subjects的Reactive RxJs编程,Shadow DOM,Zones,模块和组件,自定义指令和管道,服务和依赖注入,Angular Compiler,JIT和AOF编译,表单(模板驱动和数据驱动),数据绑定,路由,保护和路由保护,HTTP客户端,JWT JSON Web令牌认证。

    (4单元)

  • 所有新计算机的标准处理器现在都是一个多核处理器,它有可能更快地执行程序。 但是,为了利用这种潜力,程序员必须具备并行编程技术的一些知识。 在本课程中,学生将花费大部分时间编写和调试并行程序。 预期的结果将是开发一种新的实用编程技能。 该技能不仅对多核处理器的编程有用,而且对操作系统编程和分布式数据库编程也有用。 本课程中使用的软件工具包括Microsoft Visual C / C ++,Java多线程库和OpenMP线程标准。 (4单元)先决条件:使用Java,C或C ++的计算机编程知识。

  • 在本实践课程中,学生以技术专业职位执行与计算机有关的任务。 所执行的任务可以是在新系统的设计和开发中,也可以是出于特定目的的现有系统的应用中。 实习生的工作描述由用人单位和学生制定,并需要经该系的一名研究生院事先批准,并与实习生所在的实习生主管协商。 (本课程主要针对实习或合作项目的学生。)(每节0.5-1个单元-可以重复。)

  • 在本课程中,我们将介绍如何使用微服务设计灵活,可扩展,可测试和弹性的软件系统的技术,原理和模式。 我们将研究如何将大型应用程序拆分为更易于构建的小型微服务,以及与单片企业应用程序相比的其他优势。 分布式微服务架构也带来了许多挑战。 我们将研究这些挑战以及如何解决这些挑战。 本课程的主题是架构风格,集成技术和模式,域驱动设计,事件驱动架构和反应式编程。 (4学分)。 (没有先决条件)

“当我第一次听说MSCS程序时,我对此表示怀疑。 我不敢相信存在这样的东西。 但是有一天,我的一个朋友加入了该计划。 那是我确认它是真实的。 然后,我恢复了我的申请过程。 好! 的确,我在这里,已经完成了计划,我感到非常高兴。”