计算机专业人员意识科学与技术(FOR 506A)
您的第一门课程是专门设计的,旨在为您如何成为顶尖的计算机科学专业人员奠定基础。 该课程植根于先验冥想的实践,这将使您发挥出真正的潜力。 您将了解TM的好处,包括通过出色的心理功能来增强创造力和“即开即用”的思维能力来解决复杂问题。 本课程将着重于通过建立休息与活动的最佳组合来支撑活动中最佳表现的原理。 您将发展并体验一个理想的日常生活,这将支持您的生活成功。 (2个单位)
在与他们的顾问协商后,所有学生从下面的左栏中选择基础课程,从右栏中选择高级课程。
根据他们到达校园时参加的资格考试,只有在校学生 预备入学轨道 将需要参加为期 4 周的基础编程实践 (CS 390) 课程。 所有学生都需要 FOR 506 和 CS 401。 查看毕业要求 >
计算机专业人员意识科学与技术(FOR 506A)
您的第一门课程是专门设计的,旨在为您如何成为顶尖的计算机科学专业人员奠定基础。 该课程植根于先验冥想的实践,这将使您发挥出真正的潜力。 您将了解TM的好处,包括通过出色的心理功能来增强创造力和“即开即用”的思维能力来解决复杂问题。 本课程将着重于通过建立休息与活动的最佳组合来支撑活动中最佳表现的原理。 您将发展并体验一个理想的日常生活,这将支持您的生活成功。 (2个单位)
基础编程实践(CS 390)
FPP 课程提供了一个重点计划,用于增强五个领域的编程和分析技能:问题解决、数据结构、面向对象编程、Java 编程语言以及递归在 Java 程序中的使用。
这些主题作为计算机科学研究生课程课程的前提条件特别重要。
主题包括:Java编程元素,面向对象的设计和实现,数据结构(包括列表,堆栈,队列,二进制搜索树,哈希表和集合),异常层次结构,文件I / O和流以及JDBC。 (4个学分)先修课程:本科生:CS 221; 研究生用:系主任同意(4个单元)
现代编程实践(Java编程)(CS 401)
MPP 课程介绍了面向对象编程的基本原则。 学生将学习如何编写可重用和更好维护的软件,并将这些知识与实验室作业和项目相结合。 主题包括:面向对象编程的基本原则和模型、UML 类图和促进软件可重用性和可维护性的设计原则。 (4 个单元)
基于关系文档的数据库 (CS 415)
本课程涵盖数据库设计原则的基本知识以及 SQL 和 NoSQL 数据库的介绍。
主题包括: 关系数据库设计原则、范式、主键、外键和唯一键; 查询(聚合、连接、排序); 交易; 基于文档的数据库设计原则、索引、缩放数据库; 可用性和恢复(转储、恢复、导出、导入); 数据库即服务。 没有先决条件。
(4单元)
数据库管理系统(CS 422)
数据库系统组织和检索信息,允许用户轻松有效地访问所需信息。 主题包括:关系数据模型; SQL; ER建模; 关系代数; 数据规范化; 交易; 数据库中的对象; 数据安全性和完整性; 数据仓库,OLAP和数据挖掘; 分布数据库; 和研究特定的商业数据库系统。 (4单位)先决条件:CS 401或部门教员的同意。
软件工程(CS 425)
软件工程是一门课程,通过软件开发方法向学生介绍软件开发的最佳实践。 学生已经在以前使用面向对象范例的课程中获得了一些经验,并且已经使用了一些基本的UML图来建模软件对象之间的关系。 在软件工程中,学生将培养将这些工具组合在一起的技能,以生成功能强大,易于维护的软件。 软件开发方法描述了何时以及如何使用OO概念和UML图来实现构建高质量软件的目标。 该课程围绕一个小项目,其中可以说明和应用讲座形式中讨论的原则。 在课程结束时,学生将拥有一个正在运行的应用程序,该应用程序符合RUP(Rational Unified Process)开发方法的高标准。
算法(CS 435)
本课程介绍了分析算法效率的方法(包括最坏情况和平均情况分析),并介绍了各种已知的高效算法。 算法的分析,设计和实现同等重要。 主题包括搜索和排序,数据结构(包括列表,哈希表,平衡二叉搜索树,优先级队列)的操作效率,图算法,组合算法,递归关系,动态编程,NP完全问题以及一些特殊主题作为时间允许。 (特殊主题包括计算几何,密码系统算法,近似,大数据和并行计算。)
现代异步编程(CS 445)
本课程深入探讨异步 Web 编程概念并涵盖 JS 最基本的设计模式,包括观察者模式、工厂、装饰器等等。 它还涵盖了使用 Web API 和不可变数据结构。
主题包括: 协作 Git; TypeScript 和 Bundler 简介; 异步 JavaScript; 事件循环; 历史 API、地理位置 API; Ajax(HTTP、Ajax、JSON、Fetch、CORS 简介、调试); 承诺和异步/等待; 反应式编程; RxJS Observables 和 Operators; 设计模式:模块、原型、单例、观察者、外观、工厂、装饰器、代理、策略、记忆; 现代网络浏览器。 没有先决条件。
(4单元)
并行编程(CS 471)
计算的未来是并行的。 随着处理器设计达到小型化、时钟频率、功率和热量的极限,顺序性能的提高已趋于平稳。 2005 年,处理器内核的数量突然开始从单核增加到多核,从而为更快地执行程序创造了潜力。 然而,要利用这种潜力,程序员必须具备一些并行编程技术的知识。
本课程教授学生在 Java 9 环境中并行编程的基本概念。并行编程使开发人员能够使用多核计算机,通过同时使用多个核来使他们的应用程序运行得更快。 在本课程结束时,您将学习如何使用流行的并行 Java 框架(例如多线程、流和执行程序)为各种多核平台(包括服务器、台式机或移动设备)编写并行程序。
本课程使用的软件工具包括 Microsoft Visual Studio、Java 多线程库和 OpenMP 线程标准。 (4 学分) 先决条件:了解使用 Java、C 或 C++ 进行计算机编程。
如需更多信息,请观看本课程教授制作的五分钟视频:
Web应用程序编程(CS 472)
本课程系统地介绍了交互式和动态 Web 应用程序的编程。 本课程适用于之前很少或没有 Web 应用程序编程经验的个人。 该产品将使用 NodeJS 和 Express 框架进行服务器端处理。
本课程首先回顾 HTML 和 CSS 的基础知识,特别关注使用 CSS 的网页布局。 JavaScript 是贯穿整个课程的编程语言,包括函数、对象、模块、jQuery 框架、Ajax 和 Promises。 学生们大部分时间都在编写一系列日益复杂和复杂的网站。 课程最后一周的一个顶点项目创建了一个带有 SQL 数据库后端的网站,客户端可以异步访问该网站以获得最佳性能。
本课程是 CS545 Web 应用程序架构和 CS572 现代 Web 应用程序的先决条件。 先决条件:CS 220 或 CS 401 或系教师的同意
(4单元)
移动设备编程(CS 473)
开发 Android 程序是一种令人兴奋且可能有利可图的体验。 Android 开发为程序员打开了创造力的世界。 它允许您以您在数字世界中从未梦想过的方式表达自己,您只需单击一个按钮即可创建产品并将其提供给数十亿用户。 本课程将教授如何使用 Kotlin 编程语言开发 Android 应用程序。
主题包括: 为 Android 编程设置您的计算机; 清单基础; 布局、活动、视图和 UI 组件; 使用意图、片段和共享首选项; 网页视图和 HTML; 使用多媒体; Android Jetpack 组件、Room 数据库和 JSON; 低估传感器; 本土化; 将应用发布到 Google Play 商店。 (4 个单元)不需要先决条件。
服务器端编程 (CS 477)
本课程侧重于在后端使用 JavaScript (NodeJS)。 学生将了解 NodeJS 的工作原理,并深入了解其核心应用程序编程接口 (API)。 本课程涵盖 JS 编译器引擎 (V8) 的工作原理、如何使用模块构建代码,以及异步代码如何在 Node 和 Node 事件循环中工作。 该课程还教授 Node Package Manager (NPM)、如何构建 Web 服务器、如何使用 Express 框架以及如何使用 Mongoose 等 ODM 来管理 MongoDB。 学生将学习定义现代 Web 应用程序的所有技术,包括使用 JSON Web 令牌对用户进行身份验证、在数据库中保存数据以及构建 Restful API。 还涵盖了其他计算机科学概念。
主题包括: HTTP & Rest API 设计; 无状态与有状态应用程序; 节点 API; 节点包管理器(npm); Model-Controller 架构、Express 框架和中间件; 服务器端路由; 基于令牌的身份验证。 没有先决条件。
(4单元)
大数据分析(数据科学)(CS 488)
大数据是新的自然资源:数据每 12-18 个月翻一番。 这个新的大数据分析课程涵盖了挖掘大量不同数据集以产生新见解的基本概念和工具。 您将掌握使用 R 语言来创建 Wordcloud、Pagerank、数据可视化、决策树、回归、聚类、神经网络等。 您将使用一些数百万的大型记录数据集,并挖掘 Twitter 提要。 您将学习 Hadoop/MapReduce 和流数据概念,并将通过个人研究论文探索其他 Apache 大数据项目,例如 Spark、Flink、Kafka、Storm、Samza、NoSQL。 您将在 Kaggle.com 的开放项目中分组工作,通过解决同类最佳的数据分析挑战来争夺奖金。 您还将学习使用行业领先的 IBM SPSS Modeler 和开源数据挖掘平台。 该课程还将使用来自 MIT、Coursera、Google 和其他地方的各种视频培训材料。 (4 学分) 先决条件:系教员同意
应用软件开发(CS 489)
软件开发是涉及某些系统或应用软件生产的构思、指定、分析、设计、编程、测试、记录和维护的系统过程。
在本课程中,学生将学习如何制作企业级软件解决方案,从概念到分析、设计、实施和测试,再到工作软件的交付和部署。 它将教授一系列原则、最佳实践以及相关工具和技术,以及如何在高质量、强大的软件解决方案的生产中使用和应用这些内容。 所涵盖的技术和工具将主要围绕(但不限于)Java 软件平台。
我们将研究如何识别和得出软件产品的正确需求,如何分析这些需求并选择合适的软件解决方案架构并创建适当的设计的技术。 以及如何在代码中实现设计,包括测试以及最终如何构建和打包生成的工件以进行交付/部署。 我们将考虑各种现代部署机制,包括云。 先决条件:CS 401
主题将包括:
(4单元)
技术经理领导(FOR 506B)
本课程的目标是为学生提供领导知识和技能,包括沟通技巧,为未来的领导角色做准备。
在本课程结束时,学生将了解有关有效领导的关键问题的答案,包括以下内容:
是否有'天生的'领导者?
你必须有魅力才能有效领导吗?
成为领导者需要哪一项资产?
管理和领导有什么区别?
在这个时代领导需要多少“智慧”?
什么是“管理弊端”以及它如何导致自我破坏?
知道反馈对领导过程至关重要,我们如何克服对给予和接受它的恐惧?
80%在工作场所发现的问题的根源是什么?
是否有科学研究可帮助组织提高个人和团队领导能力?
演讲嘉宾将包括知名企业家,计算机科学家,慈善家,学者和其他社会杰出领袖。
(2单元)
项目管理(CS 490)
项目管理向学生介绍通过项目的实际开发、讲座、阅读、体验项目管理框架、其知识领域体系(10 个知识领域和相关流程)和部署来学习。 学生通过一个真实的项目实施工作,并使用应用程序开发方法体验项目管理在软件开发生命周期的所有阶段中的作用。
学生将在项目规划、需求管理、范围管理、编码标准、模块/代码的美元价值以及工时、进度管理、质量管理、风险管理和通信管理方面获得实际经验。 到课程结束时,学生将拥有一个正在运行的应用程序,该应用程序是使用工业中使用的 PM 流程开发的。 (从需求开始到生产部署)。 该项目是使用最新的 Java 技术及其框架以及 Web 服务和设计模式开发的。
高级编程语言(CS 505)
本课程考虑编程语言设计中的高级主题,重点是形式化方法和抽象机制。 主题包括数据和控制抽象,语法和语义的形式规范,程序正确性的证明,非确定性编程,高级控制结构和特定语言的研究。 (4单位)先决条件:CS 401或部门教员的同意。
云计算 (CS 516)
本课程将涵盖云编程模式,并允许学生练习使用各种 Web 云服务,包括 AWS 无服务器功能。
主题包括:身份和访问管理 (IAM); 虚拟私有云 (VPC)、网络访问控制列表 – NACL、子网、可用区、简单存储服务 (S3)、弹性云计算 (EC2)、简单通知服务 (SNS)、弹性负载均衡器 (ELB)、Auto Scaling、 Route 53,云端 API; AWS Lambda,无服务器; 网页服务; 应用程序部署,最终项目。 (4 个学分)。 (无先决条件)
大数据(数据科学)(CS 522)
现代信息处理由庞大的数据存储库定义,传统数据库系统无法处理这些存储库。 本课程涵盖行业领导者开发和使用的最新技术,以最有效的方式解决此问题。 涵盖的具体主题包括MapReduce算法,MapReduce算法设计模式,HDFS,Hadoop集群架构,YARN,计算相对频率,二级排序,Web爬行,反向索引和索引压缩,Spark算法和Scala。 (4单位)先决条件:CS 435算法。
大数据技术(数据科学)(CS 523)
在短短几年内,大数据技术已经从炒作的领域变成了新数字时代的核心组成部分之一。 这些技术对于将信息转化为知识非常有用。 本课程的目的是为您的武器库添加一些重要的工具,以帮助您解决各种大数据问题。
该课程首先回答“什么是大数据及其重要性?”等问题。 如何可靠且廉价地存储大数据? 使用哪些工具可以从这些大数据中找到有用的信息? ETC。” 在本课程中,学生将学习用于分析大数据的不同工具和编程模型。 主题包括 Hadoop 生态系统项目,例如 MapReduce、Pig、Hive、Sqoop、Flume、HBase (NoSQL DB)、Zookeeper 以及 Apache Spark 生态系统项目,例如 Spark SQL 和 Spark Streaming。 学生还有机会构建完整的大数据管道,从实时数据收集、处理、分析到最终在仪表板上以图形格式查看结果。 学生将主要使用 Cloudera 发行版的单节点 Hadoop 集群。 (4 个单元)(MPP 是唯一的先决条件)
大数据分析(数据科学)(CS 524)
随着来自各种来源的数据的快速增长,大多数企业和组织已经成为高度数据驱动的。 从这些数据中提取关键信息并将其转化为知识和情报是大数据分析的关键功能。 这就是为什么越来越多的企业在数据分析上投入更多资金的原因。 现在通过快速增长进一步加速 数字化改造. 这个大数据分析课程涵盖了分析、算法和工具的基本概念,用于挖掘大量不同的数据集以产生新的业务洞察力。
所有主要分析——包括 描述性、预测性、规范性和诊断性 将被覆盖。 它将涵盖分析大型数据集(非结构化、混合、结构化、图形和流)的算法方法:机器学习(神经网络、深度学习、决策树、随机森林等)、人工智能、自然语言处理 (NLP)、统计和流算法,在现代分布式分析平台(例如 MapReduce、Hadoop、Spark)上用于回归(预测)、分类、聚类、推荐系统等。 高级大数据分析,特别是 因果分析 也会被覆盖。 将主要使用 Python / R 编程语言。 学生还将完成一个小组项目,使用大数据分析解决现实生活中的问题。
(4 个单元)先决条件:部门教师的同意
高级软件设计(CS 525)
本课程考虑当前用于良好设计软件系统的方法和实践。 主题包括软件设计模式、框架、体系结构和设计系统以应用这些多级抽象。 (2-4 学分) 先决条件:CS 401 或系教师的同意。
企业应用程序 (CS 544)
本课程侧重于教授开发大型企业应用程序时使用的原则和实践。 我们将研究经常使用的不同架构层以及与这些层相关的不同技术,包括对象关系映射 (ORM)、依赖注入 (DI)、面向方面编程 (AOP) 以及通过 Web 服务与其他应用程序的集成 (RESTfull和 SOAP)、消息传递和远程方法调用。 必须具备关系数据库和 SQL 的工作知识。 如果您没有很强的 SQL 课程或良好的工作知识,您应该在注册 EA 之前注册 CS422 DBMS。 (4个单位)
Web应用程序架构和框架(CS 545)
本课程将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 应用程序开发 1 (CS 568)
React 是用于构建强大的 Web 应用程序的最流行的库。 在本课程中,学生将学习如何使用 React 和 ES6 从头开始构建健壮、可扩展的应用程序,并使用最新的 Redux 模式来维护其应用程序状态。
主题包括:基于组件的 Web 应用程序开发、组件设计模式、使用 rest API、浏览器 API 的持久性、JSX 和 React API(props、proptypes、events、refs)、应用程序数据流和部署 React 应用程序。 先决条件 WAP 或 CS 477。
(4单元)
Web 应用程序开发 2 (CS 569)
在本课程中,学生将学习单页 Web 应用程序 (SPA) 的反应式编程架构以及使用 TypeScript 和 Angular 构建完整的现代 Web 应用程序的所有必要技能。 学生深入了解 Angular 的工作原理,包括: 变更检测; 带有可观察对象和主题的反应式 RxJs 编程; 影子 DOM; 区域; 模块、组件、自定义指令和管道; 服务和依赖注入; Angular编译器:JIT和AOF编译; 表单(模板驱动和数据驱动); 路由、守卫和路由保护; HTTP客户端; 和 JWT JSON Web Token 身份验证。 先决条件:WAP 或 CS 477。
(4单元)
移动应用程序开发(CS 571)
本课程使用 React Native 从 Web 开发过渡到移动应用程序开发,React Native 是 Facebook 的一个流行框架,它允许跨平台原生应用程序使用 JavaScript 运行,而无需 Java 或 Swift。 该课程介绍了现代 JavaScript——JavaScript XML (JSX)——一种 JavaScript 扩展。 学生将获得 React Native 及其范例、应用程序架构和用户界面的经验。 该课程在一个最终项目中达到高潮,学生在该项目中实施一个完全由他们自己设计的移动应用程序。 先决条件:WAA 或 CS568。
(4单元)
现代Web应用程序(CS 572)
在本课程中,您将学习SPA(单页Web应用程序)的反应式编程体系结构以及构建完整的现代Web应用程序所需的所有技能。 技术包括:NodeJS,ExpressJS,TypeScript,AngularJS2,Firebase和NoSQL数据库(MongoDB)。 课程将包括:
(4单元)
软件开发实习(CS 575)
在本实践课程中,学生以技术专业职位执行与计算机有关的任务。 所执行的任务可以是在新系统的设计和开发中,也可以是出于特定目的的现有系统的应用中。 实习生的工作描述由用人单位和学生制定,并需要经该系的一名研究生院事先批准,并与实习生所在的实习生主管协商。 (本课程主要针对实习或合作项目的学生。)(每节0.5-1个单元-可以重复。)
机器学习(数据科学)(CS 582)
机器学习 (ML) 是赋予计算机从数据中学习能力的研究领域,是几乎所有科学学科的核心,而对数据的泛化(即预测)研究是机器学习的中心主题。 本课程对机器学习进行研究生水平的介绍,并深入介绍机器学习中的新的和先进的方法及其基础理论。 它强调具有实际意义的方法,并讨论了机器学习的一些最新应用,例如数据挖掘(大数据/数据科学、数据分析)、自然语言处理、计算机视觉、机器人、生物信息学以及文本和网络数据处理。 机器学习应用于各个行业,包括金融服务、石油和天然气、医疗保健、营销和广告、政府、互联网和物联网。
本课程涵盖各种学习范例,算法,理论结果和应用。 它使用了人工智能,信息论,统计学和控制论等与机器学习相关的基本概念。 主题包括:有监督的学习(生成/区分学习,参数/非参数学习,神经网络,支持向量机,决策树,贝叶斯学习和优化); 无监督学习(聚类,降维,核方法); 学习理论(偏见/方差权衡; VC理论;大幅度利润); 强化学习和自适应控制。 其他主题包括HMM(隐马尔可夫模型),进化计算,深度学习(具有神经网络)和设计算法,可以针对基本的机器学习问题对其性能进行严格分析。
课程的一个重要部分是小组项目。 将简要介绍用于并行,分布式和可扩展机器学习的主要开源工具,以帮助学生完成项目。 (4单位)先决条件:无。
人工智能(数据科学)(CS 589)
人工智能 (AI) 是一门试图构建和理解智能系统的学科。 具有人类智能的计算机将对社会产生巨大影响。 智能软件代理和多代理系统正在迅速发展,并在数字化转型、自动化、会话系统、网络搜索、机器人、制造、健康、制药、银行、供应链、自动驾驶、广告、游戏等许多领域提供帮助,只是为了举几个例子。 AI 推动着价值数万亿美元的产业。 本课程将教授 AI 的基础知识,并让学生对该领域有实际的了解。 主题包括人工智能的核心概念——智能代理、多代理系统、智能搜索、一阶和高阶逻辑、知识表示、推理、感知、学习、语义(NLP、图像、对象..)、规划、决策制定、行动、反应、审慎、理性、适应、沟通和互动。 该课程强调具有实际相关性的方法,并讨论了一些最近流行的 AI 应用。 将简要介绍人工智能的主要开源工具和编程语言(包括低代码和无代码)。 学生还将完成一个小组项目,使用 AI 解决现实生活中的问题。
(4 个单元)先决条件:部门教师的同意
软件架构(CS 590)
在本课程中,我们将介绍如何使用微服务设计灵活,可扩展,可测试和弹性的软件系统的技术,原理和模式。 我们将研究如何将大型应用程序拆分为更易于构建的小型微服务,以及与单片企业应用程序相比的其他优势。 分布式微服务架构也带来了许多挑战。 我们将研究这些挑战以及如何解决这些挑战。 本课程的主题是架构风格,集成技术和模式,域驱动设计,事件驱动架构和反应式编程。 (4学分)。 (没有先决条件)
技术讲座——非学分讲座
为了纪念 MIU 教育 50 周年,计算机科学系很高兴发起我们新的金禧 ComPro 技术讲座系列。
本月刊系列由 Renuka Mohanraj 教授组织和主持。
会谈可在 https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.
从 28 年 2022 月 XNUMX 日星期六开始,查看我们最新录制的演讲:
MIU 计算机科学讲师 Unubold Tumenbayar 是 AWS 认证的专业解决方案架构师,在我们最新的 ComPro 技术讲座中讨论了这些主题:
o 在云中在几分钟内构建一个全栈应用程序
o 现代技术讨论
ØGraphQL
o 反应
o NoSQL 使用 AWS 服务和工具
查看 Unbold 的幻灯片 点击此处.
这次谈话是我们的一个很好的预览 云计算课程 (CS 516)。
“当我第一次听说MSCS程序时,我对此表示怀疑。 我不敢相信存在这样的东西。 但是有一天,我的一个朋友加入了该计划。 那是我确认它是真实的。 然后,我恢复了我的申请过程。 好! 的确,我在这里,已经完成了计划,我感到非常高兴。”
美国大使馆面试等待时间和 MSCS 申请处理时间
我们发现许多国家的面试日期都非常延迟。 请参阅 签证预约等待时间 (state.gov) 找出您所在国家/城市获得面试日期的时间长度。
如果面试等待时间超过 2 个月,我们鼓励您立即申请并完成申请,即使您打算申请未来的入境。 这样您就可以完成申请流程,获得 I-20,然后确定面试日期。 您必须有 I-20 才能获得面谈日期。 如果日期早于您计划来美国的日期,您可以在获得签证后随时推迟抵达日期。 我们只会在您计划入境的日期发给您新的 I-20。
有关此信息的问题,请联系我们的招生办公室 招生主任@miu.edu.
如果您对以上所有问题的回答都是“是”, 你可以申请 (虽然这不能保证你会被接受。)