준비 됐니? 당신의 경력을 향상 시키시겠습니까?

우리의 프로그램은 OOP (Java), 웹 응용 프로그램 및 데이터 과학을 사용하는 소프트웨어 시스템 및 소프트웨어 개발 분야를 전문으로합니다. 핵심 연구 분야는 고급 소프트웨어 개발, 웹 응용 프로그램 프로그래밍 및 아키텍처, 대형 데이터 분석 및 기술, 기계 학습 및 몇 가지 중요한 응용 분야입니다.

모든 과정은 당신의 경력을 향상시킬 수 있도록 고안되었으며 각 과정에는 실제적인 과제가 포함되어 있습니다. 전망 졸업 요건.

새로운! 수상 경력 데이터 과학

표준 핵심 과정

  • 현대 프로그래밍 관행 (Java 프로그래밍) (CS 401)

    이 과목에서는 객체 지향 프로그래밍의 기본 원리를 설명한다. 학생들은 재사용이 가능하고 유지 보수가 잘 된 소프트웨어를 작성하고이 지식을 실험실 과제 및 프로젝트와 통합하는 방법을 배우게됩니다. 주제는 객체 지향 프로그래밍의 기본 원칙과 모델, 소프트웨어의 재사용 성과 유지 보수를 촉진하는 디자인 원칙 및 UML 클래스 다이어그램입니다. (4 개)

  • 고급 소프트웨어 개발 (CS 525)

    이 과정은 소프트웨어 시스템의 올바른 설계를위한 현재의 방법과 관행을 고려합니다. 소프트웨어 디자인 패턴, 프레임 워크, 아키텍처 및 이러한 다단계 추상화를 적용하는 시스템 설계 주제가 포함됩니다. (2-4 학점) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 알고리즘 (CS 435)

    이 과정은 알고리즘의 효율성을 분석하는 방법 (최악의 경우 및 평균 사례 분석 포함)을 제시하고 다양한 알려진 고효율 알고리즘을 소개합니다. 알고리즘의 분석, 설계 및 구현에는 동일한 강조가 부여됩니다. 주제에는 검색 및 정렬, 데이터 구조 (목록, 해시 테이블, 균형 이진 검색 트리, 우선 순위 대기열 포함), 그래프 알고리즘, 조합 알고리즘, 반복 규칙, 동적 프로그래밍, NP 완전 문제 및 몇 가지 특수 주제에 대한 작업의 효율성 있습니다. (특수 주제에는 전산 기하학, 암호 시스템 알고리즘, 근사, Big Data 및 병렬 컴퓨팅이 포함됩니다.)

  • 컴퓨터 네트워크 (CS 450)

    이 과정의 목적은 네트워크가 작동하는 방법과 네트워크 응용 프로그램을 개발함으로써 컴퓨터 네트워크의 개념, 아키텍처 원칙 및 용어를 학습하는 것입니다. 이 과정은 네트워크 원칙을 구현하는 주요 예로 인터넷 아키텍처 및 프로토콜을 사용하여 네트워크를 이해하는 하향식 접근 방식을 따릅니다. 우리는 애플리케이션 계층에서 시작하여 전송 계층, 네트워크 계층, 링크 계층 및 컴퓨터 네트워크의 물리적 계층을 계속합니다. 학생들은 여러 네트워크 응용 프로그램을 개발하고 인터넷에서 사용되는 주요 네트워크 프로토콜을 추적하고 이해하도록 설계된 여러 실험실을 완료합니다. (4 units) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 데이터베이스 관리 시스템 (CS 422)

    데이터베이스 시스템은 정보를 구성 및 검색하여 사용자가 원하는 정보에 쉽고 효율적으로 액세스 할 수 있도록합니다. 주제는 다음과 같습니다. 관계형 데이터 모델; SQL; ER 모델링; 관계형 대수학; 데이터 정규화; 업무; 데이터베이스의 객체. 데이터 보안 및 무결성; 데이터웨어 하우징, OLAP 및 데이터 마이닝; 분산 데이터베이스; 특정 상용 데이터베이스 시스템에 대한 연구. (4 units) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 소프트웨어 공학 (CS 425)

    소프트웨어 공학은 소프트웨어 개발 방법론을 통해 소프트웨어 개발의 모범 사례를 학생에게 소개하는 과정입니다. 학생들은 이미 객체 지향 패러다임을 사용하여 이전 과정에서 약간의 경험을 가졌으며 소프트웨어 객체 간의 관계를 모델링하기 위해 일부 기본 UML 다이어그램을 사용했습니다. 소프트웨어 엔지니어링에서 학생은 강력하고 쉽게 관리 할 수있는 소프트웨어를 만들기 위해 이러한 도구를 함께 사용하는 기술을 개발할 것입니다. 소프트웨어 개발 방법론은 양질의 소프트웨어 구축이라는 목표를 달성하기 위해 OO 개념과 UML 다이어그램을 사용해야하는시기와 방법을 설명합니다. 이 과정은 강의 형식으로 토론 된 원칙을 설명하고 적용 할 수있는 소규모 프로젝트를 중심으로합니다. 과정이 끝나면 학생은 RUP (Rational Unified Process) 개발 방법론의 높은 기준에 따라 개발 된 실행중인 응용 프로그램을 갖게됩니다.

  • 웹 응용 프로그램 아키텍처 및 프레임 워크 (CS 545)

    이 과정은 엔터프라이즈 환경에서 웹 애플리케이션을 중점적으로 다룹니다. 엔터프라이즈 응용 프로그램은 회사 또는 정부와 같은 대규모 조직에서 작동하도록 설계된 대형 소프트웨어 시스템입니다. 엔터프라이즈 애플리케이션은 복잡하고 확장 성이 뛰어나며 구성 요소 기반, 분산 및 미션 크리티컬합니다. 이 과정 인 CS545는 엔터프라이즈 웹 응용 프로그램의 프런트 엔드 또는 프레젠테이션 계층에 중점을 둡니다. CS544 Enterprise Architecture는 비즈니스 논리, 트랜잭션 및 지속성을 포함하여 백엔드 또는 비즈니스 계층에 중점을 둔 보조 과정입니다. CS472, 웹 응용 프로그램 프로그래밍은 HTML, CSS, JavaScript, 서블릿 및 JSP를 다루는 전제 조건입니다.

    이 과정은 플랫폼과 프레임 워크 전반에 걸쳐 일반적인 원칙과 패턴을 가르칩니다. 이 과정은 두 가지 주요 Java 웹 프레임 워크 인 Java Server Faces (JSF) 및 SpringMVC를 검사하고 작업합니다. JSF는 컴포넌트 기반 프레임 워크이며 Java Enterprise Edition 기술 스택의 공식 프레젠테이션 프레임 워크 스펙입니다. SpringMVC는 Core Spring 프레임 워크의 일부이며 최근 몇 년 동안 가장 널리 사용되는 Java 웹 프레임 워크가되었습니다. (4 units) 선수 과목 : CS 472 또는 부서 교수의 동의.

  • 웹 응용 프로그래밍 (CS 472)

    이 과정은 인터랙티브하고 동적 인 웹 어플리케이션 프로그래밍을 체계적으로 소개합니다. 이 과정은 웹 응용 프로그램 프로그래밍 경험이 거의 없거나 전혀없는 개인을 대상으로합니다. 이 오퍼링은 서버 측 처리를 위해 Java 서블릿과 JSP를 사용합니다. 이 과정은 HTML과 CSS를 소개합니다. JavaScript는 과정의 초점이며, jQuery, Ajax 및 JavaScript 네임 스페이스와 모듈을 포함한 함수형 프로그래밍 언어로 다뤄집니다. 이는 CS545 웹 응용 프로그램 아키텍처의 전제 조건입니다. AngularJS 또는 NodeJS는 다루지 않지만 여기서 다루는 JavaScript는 해당 기술을 배우기 위해 준비 할 것입니다. (4 개)
    선행 조건 : CS 220 또는 CS 401 또는 부서 교수의 동의.

  • 컴퓨터 전문가를위한 의식의 과학과 기술 (506 용)

    첫 번째 코스는 컴퓨터 과학 분야의 최고 전문가가 될 수있는 기반을 마련하기 위해 특별히 고안되었습니다. 이 과정은 당신의 진정한 잠재력을 성취하는 초월 명상 연습에 뿌리를두고 있습니다. 우수한 정신 기능을 통해 복잡한 문제를 해결할 수있는 능력을 포함한 TM의 이점에 대해 배우게됩니다. 이 과정은 휴식과 활동의 최적 혼합을 개발함으로써 활동에서 최고 성과를내는 원칙에 초점을 맞출 것입니다. 인생의 성공을 지원하는 이상적인 일상을 개발하고 경험하게 될 것입니다. (2 개)

  • 기술 관리자를위한 리더십 (506B)

    이 과정의 목표는 학생들에게 미래 리더십 역할을위한 준비로서 의사 소통 기술을 포함하여 리더십에 대한 지식과 기술을 제공하는 것입니다.

    이 과정이 끝나면 학생들은 다음을 포함하여 효과적인 지도력에 관한 핵심 질문에 대한 대답을 이해하게됩니다.

    자연 타고난 지도자가 있습니까?

    당신은 효과적으로 이끌 기 위해 카리스마를 가져야합니까?

    리더가되기 위해 필요한 자산은 무엇입니까?

    관리와 선도의 차이점은 무엇입니까?

    이 시대를 이끌어야하는 많은 '지능'은 무엇입니까?

    '경영 과실 (management mplractice)'이란 무엇이며 어떻게 자기 파괴 행위로 이어질까요?

    피드백이 선행 프로세스에 반드시 필요하다는 것을 안다면, 그것을주고받는 것에 대한 두려움을 어떻게 극복 할 수 있을까요?

    작업장에서 발견 된 문제 중 80 %의 원인은 무엇입니까?

    조직이 개인 및 팀 리더십 기술을 향상시키는 데 도움이되는 과학적 연구가 있습니까?

    초청 연사는 저명한 사업가, 컴퓨터 과학자, 자선가, 학자 및 사회의 저명한 지도자를 포함 할 것입니다.

    (2 개)

추가 MSCS 과정

  • 고급 프로그래밍 언어 (CS 505)

    이 과정은 공식적인 방법과 추상화 메커니즘에 중점을두고 프로그래밍 언어 디자인의 고급 주제를 고려합니다. 주제에는 데이터 및 제어 추상화, 구문 및 의미의 공식 사양, 프로그램 정확성 증명, 비 결정적 프로그래밍, 고급 제어 구조 및 특정 언어 연구가 포함됩니다. (4 units) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 빅 데이터 (데이터 과학) (CS 522)

    최신 정보 처리는 전통적인 데이터베이스 시스템에서 처리 할 수없는 방대한 데이터 저장소에 의해 정의됩니다. 이 과정은 업계 리더가 개발하여이 문제를 가장 효율적으로 해결하는 데 사용하는 최신 기술에 대해 다룹니다. 특정 주제에는 MapReduce 알고리즘, MapReduce 알고리즘 설계 패턴, HDFS, Hadoop 클러스터 아키텍처, YARN, 컴퓨팅 상대 주파수, 2 차 정렬, 웹 크롤링, 역 색인 및 색인 압축, Spark 알고리즘 및 Scala가 포함됩니다. (4 units) 전제 조건 : CS 435 알고리즘.

  • 빅 데이터 분석 (데이터 과학) (CS 488)

    Big Data는 새로운 천연 자원입니다. 12-18 개월마다 데이터가 두 배가됩니다. 이 새로운 빅 데이터 분석 과정은 새로운 통찰력을 창출하기 위해 다양한 다양한 데이터 세트를 마이닝하는 데 필요한 기본 개념과 도구를 다루고 있습니다. Wordcloud, PageRank, 데이터 시각화, 의사 결정 트리, 회귀, 클러스터링, 신경망 등을 만들기 위해 R 언어 사용법을 익 힙니다. 수백만 개의 대규모 레코드 데이터 세트로 작업하고 트위터 피드를 생성합니다. Hadoop / MapReduce 및 스트리밍 데이터 개념을 배우고 개별 연구 논문을 통해 Spark, Flink, Kafka, Storm, Samza, NoSQL과 같은 다른 Apache Big Data Project를 살펴 봅니다. Kaggle.com의 공개 프로젝트에서 그룹으로 일하면서 최고의 데이터 분석 문제를 해결하여 상금을 놓고 경쟁 할 수 있습니다. 또한 업계 최고의 IBM SPSS Modeler 및 오픈 소스 데이터 마이닝 플랫폼을 사용하는 방법을 배우게됩니다. 이 코스에서 사용 된 #1 베스트셀러 교과서는 강사가 직접 작성합니다. 이 과정에서는 MIT, Coursera, Google 및 기타 지역의 다양한 비디오 교육 자료도 사용합니다. (4 units) 선수 과목 : 부서 교수의 동의

  • 빅 데이터 기술 (데이터 과학) (CS 523)

    불과 몇 년 만에 빅 데이터 기술은 과장된 영역에서 새로운 디지털 시대의 핵심 구성 요소 중 하나로 탈바꿈했습니다. 이러한 기술은 정보를 지식으로 변환하는 데 매우 유용합니다.

    이 과정의 목적은 여러 가지 중요한 데이터 문제를 해결하는 데 도움이되는 매우 중요한 도구를 병기에 추가하는 것입니다. "빅 데이터 란 무엇인가?"와 같은 질문에 대한 답변부터 시작하겠습니다. 왜 그것이 중요하거나 유용합니까? 이 큰 데이터를 어떻게 저장합니까? "그러면 우리는 큰 데이터 기술 스택에서 다른 도구와 프로그래밍 모델을 연구하여 데이터를 분석하는 데 도움이 될 것입니다. 주제에는 MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), 사육사 및 Apache Spark 생태계 프로젝트와 같은 Hadoop 생태계의 일부 프로젝트가 포함됩니다. 또한 AWS 및 EMR 소개를 다룹니다. 주로 Cloudera의 단일 노드 Hadoop 배포로 작업 할 것입니다. (4 단위) (전제 조건 없음)

  • 컴퓨터 보안 (CS 466)

    이 과정은 컴퓨터 보안의 세 가지 측면, 즉 기밀성, 무결성 및 가용성에 대해 자세히 설명합니다. 기밀 및 무결성 보안 정책을위한 여러 모델을 연구합니다. 기밀성 및 무결성을 보장하는 데있어 암호의 역할을 조사합니다. 다른 주제에는 인증, 감사, 침투 테스트, 일반적인 취약점 및 침입 탐지가 포함됩니다. 이 과정은 현실적인 보안 시스템에 대한 사례 연구로 마무리됩니다. 학생들은 보안 문헌에서 논문을 읽고 강의 자료에 적용 해 줄 것을 요청 받게됩니다. (4 학점) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 엔터프라이즈 아키텍처 (CS 544)

    이 과정은 대규모 엔터프라이즈 응용 프로그램을 개발할 때 사용되는 원칙과 사례를 가르치는 데 중점을 둡니다. ORM (Object Relational Mapping), DI (Dependency Injection), AOP (Aspect Oriented Programming) 및 웹 서비스 (RESTfull을 통한 다른 응용 프로그램과의 통합)를 비롯하여 자주 사용되는 다양한 아키텍처 계층과 이러한 계층과 관련된 다양한 기술을 살펴 봅니다. SOAP), 메시징 및 원격 메소드 호출. 관계형 데이터베이스와 SQL에 대한 실무 지식이 있어야합니다. 강좌 나 SQL에 대한 실무 지식이 없다면 EA에 가입하기 전에 CS422 DBMS에 등록해야합니다. (4 개)

  • 기계 학습 (데이터 과학) (CS 582)

    컴퓨터에서 데이터를 통해 학습하는 능력을 제공하는 학습 분야 인 컴퓨터 학습은 거의 모든 과학 분야의 핵심이며, 데이터로부터 일반화 (즉, 예측)에 대한 연구가 기계 학습의 핵심 주제입니다. 이 과정은 기계 학습에 대한 대학원 수준의 소개와 기계 학습에서의 새롭고 진보 된 방법에 대한 심층적 인 적용 및 기본 이론을 제공합니다. 실용적인 접근법을 강조하고 데이터 마이닝 (빅 데이터 / 데이터 과학, 데이터 분석), 자연어 처리, 컴퓨터 비전, 로보틱스, 생물 정보학 및 텍스트 및 웹 데이터 처리와 같은 기계 학습의 최근 응용 프로그램에 대해 설명합니다. 기계 학습은 금융 서비스, 석유 및 가스, 건강 관리, 마케팅 및 광고, 정부, 인터넷 및 사물의 인터넷을 포함한 다양한 산업에서 사용됩니다.

    이 과정은 다양한 학습 패러다임, 알고리즘, 이론적 결과 및 애플리케이션을 다룹니다. 인공 지능, 정보 이론, 통계 및 제어 이론의 기본 개념을 기계 학습과 관련이있는 한 사용합니다. 주제는 다음과 같습니다 : 감독 학습 (생성 / 식별 학습, 매개 변수 / 비모수 적 학습, 신경망, 지원 벡터 기계, 의사 결정 트리, 베이지안 학습 및 최적화); 감독되지 않은 학습 (클러스터링, 차원 감소, 커널 방법); 학습 이론 (바이어스 / 분산 트레이드 오프, VC 이론, 큰 마진); 강화 학습 및 적응 제어. 다른 주제로는 HMM (Hidden Markov Model), 진화 컴퓨팅, 딥 학습 (Neural Nets 포함) 및 기본적인 기계 학습 문제에 대한 성능을 엄격하게 분석 할 수있는 알고리즘을 설계하는 것 등이 있습니다.

    이 과정의 중요한 부분은 그룹 프로젝트입니다. 병렬, 분산 및 확장 가능한 기계 학습에 사용되는 주요 오픈 소스 도구는 학생들이 프로젝트를 수행하는 데 도움이되도록 간략하게 설명됩니다. (4 units) 전제 조건 : 없음.

  • 모바일 장치 프로그래밍 (CS 473)

    최근 몇 년 동안 소프트웨어 개발의 새로운 영역으로 모바일 장치 프로그래밍의 중요성이 대두되었습니다. 이 과정에서는 학생들이 iPhone, iPad 또는 Android 휴대 전화와 같은 모바일 장치에서 실행되는 응용 프로그램을 개발할 수 있도록 준비합니다. 이것은 빠르게 발전하는 시장입니다. 교육 과정은 모바일 응용 프로그램의 설치, 개발, 테스트 및 배포에 중점을 둡니다. 이 과정이 끝나면 학생들은 해당 플랫폼에 맞는 앱을 개발하고 시뮬레이션 한 다음 실제 기기에서 테스트하고 마지막으로 앱 스토어에 게시하여 사용자에게 유용한 정보를 제공 할 수 있습니다. (4 units) 선수 과목 : CS472 또는 부서 교수의 동의.

  • 현대 웹 응용 프로그램 (CS 572)

    이 과정에서는 완전한 현대 웹 응용 프로그램을 구축하는 데 필요한 모든 기술과 함께 SPA (단일 페이지 웹 응용 프로그램)의 Reactive Programming Architecture를 배우게됩니다. 기술에는 NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase 및 NoSQL 데이터베이스 (MongoDB)가 포함됩니다. 이 과정은 다음을 포함합니다 :

    • 노드 및 노드 이벤트 루프에서 C ++ V8 엔진 및 비동기 코드가 작동하는 방식.
    • 재사용을위한 코드를 구조화하고 모듈과 ExpressJS를 사용하여 안정적인 API를 작성하는 방법.
    • NoSQL 데이터베이스 작동 방법 : Mongo Shell, 집계 프레임 워크, 복제 세트, 클러스터링, 샤드, 몽구스 ORM.
    • Angular (Google 지원), 변경 감지, Observables 및 주제를 사용한 RxJs 프로그래밍, 그림자 DOM, 영역, 모듈 및 구성 요소, 사용자 지정 지시문 및 파이프, 서비스 및 종속성 삽입, 각도 컴파일러, JIT 및 AOF 편집 방법에 대한 깊은 이해 , 양식 (템플릿 기반 및 데이터 기반), 데이터 바인딩, 라우팅, 가드 및 라우트 보호, HTTP 클라이언트, JWT JSON 웹 토큰 인증.

    (4 개)

  • 운영 체제 (CS 465)

    운영 체제는 컴퓨터 시스템의 중앙 리소스를 제어하고이를 개별 사용자에게 할당합니다. 과정 주제에는 순차 및 동시 프로세스, 상호 배제, 리소스 공유, 프로세스 협력, 교착 상태, 리소스 할당, 프로세서 스케줄링, 메모리 관리, 분할 및 페이징 알고리즘, 시분할 시스템, 스케줄링 알고리즘 및 리소스 보호가 포함됩니다. (4 units) 선수 과목 : CS 401 또는 부서 교수의 동의.

  • 병렬 프로그래밍 (CS 471)

    모든 새 컴퓨터의 표준 프로세서는 이제 멀티 코어 프로세서이므로 훨씬 더 빨리 프로그램을 실행할 수 있습니다. 그러나 이러한 잠재력을 이용하려면 프로그래머는 병렬 프로그래밍 기술에 대해 어느 정도 알고 있어야합니다. 이 과정에서 학생들은 대부분의 시간을 병렬 프로그램을 작성하고 디버깅하는 데 보냅니다. 예상되는 결과는 새로운 차원의 실질적인 프로그래밍 기술을 개발하는 것입니다. 이 기술은 멀티 코어 프로세서 프로그래밍뿐만 아니라 운영 체제 프로그래밍 및 분산 데이터베이스 프로그래밍에도 유용합니다. 이 과정에서 사용되는 소프트웨어 도구에는 Microsoft Visual C / C ++, Java 다중 스레드 라이브러리 및 OpenMP 스레딩 표준이 포함됩니다. (4 units) 선수 과목 : Java, C 또는 C ++를 사용한 컴퓨터 프로그래밍에 대한 지식.

  • 소프트웨어 아키텍처 (CS 590)

    이 과정에서는 마이크로 서비스를 사용하여 유연하고 확장 가능하며 테스트 가능하고 탄력적 인 소프트웨어 시스템을 설계하는 방법의 기법, 원리 및 패턴을 살펴 봅니다. 대규모 응용 프로그램을 단일 마이크로 엔터프라이즈 응용 프로그램과 비교하여 구축하기가 쉬운 작은 마이크로 서비스와 다른 장점으로 나누는 방법을 연구 할 것입니다. 분산 마이크로 서비스 아키텍처는 또한 많은 어려움을 낳습니다. 우리는 이러한 과제와 해결 방법을 연구 할 것입니다. 이 과정의 주제는 아키텍처 스타일, 통합 기술 및 패턴, 도메인 기반 디자인, 이벤트 기반 아키텍처 및 반응 형 프로그래밍입니다. (4 크레딧). (전제 조건 없음)

  • 소프트웨어 개발 실습 (CS 575)

    이 실습 과정에서 학생들은 기술적 인 전문적 위치에서 컴퓨터 관련 작업을 수행합니다. 수행되는 작업은 새로운 시스템의 설계 및 개발 또는 특정 목적을위한 기존 시스템의 적용에있을 수 있습니다. 실무 직무 설명은 고용주와 학생에 의해 공식화되며 학생이 배치 된 실무 감독관과 협의하여학과의 대학원 교수가 미리 승인해야합니다. (이 과정은 주로 인턴쉽 프로그램이나 협동 프로그램 학생들을위한 과정입니다.) (블록 당 0.5-1 단위 - 반복 될 수 있음)

"MSCS 프로그램에 대해 처음 들었을 때, 나는 그것을 의심했다. 나는 이와 같은 것이 존재한다고 믿을 수 없었다. 그러나 어느 날, 내 친구가 프로그램에 가입했습니다. 그것이 그것이 사실임을 확인한 때였습니다. 그런 다음 신청 절차를 재개했습니다. 잘! 사실입니다. 저는 여기 있습니다. 나는 프로그램을 마치고 너무 행복합니다. "

에드윈 벌 뱅레우간다