소프트웨어 개발의 최신 기술로 '실습'기술 배우기

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

경력을 발전시킬 준비가 되셨습니까?

지도교수와 상의하여 모든 학생들은 아래 왼쪽 열에서 기초 과정을 선택하고 오른쪽 열에서 고급 과정을 선택합니다.

캠퍼스에 도착했을 때 치르는 자격 시험을 기준으로, 입학 준비 트랙 4주 기본 프로그래밍 실습(CS 390) 수업을 들어야 합니다. FOR 506 및 CS 401은 모든 학생에게 요구됩니다. 졸업 요건 보기 >

기초 과정

  • 첫 번째 과정은 최고의 컴퓨터 과학 전문가가 될 수있는 기반을 마련하기 위해 특별히 고안되었습니다. 이 과정은 진정한 잠재력의 성취로 이어지는 초월 명상에 뿌리를두고 있습니다. 초월 명상의 이점에 대해 배우게 될 것입니다. 여기에는 뛰어난 정신 기능을 통해 창의력을 높이고 "즉시"사고를함으로써 복잡한 문제를 해결하는 능력이 포함됩니다. 이 과정은 휴식과 활동의 최적 조합을 개발하여 활동의 최고 성능을 뒷받침하는 원칙에 초점을 맞출 것입니다. 인생의 성공을 지원하는 이상적인 일상을 개발하고 경험하게 될 것입니다. (2 대)

  • FPP 과정은 문제 해결, 데이터 구조, 객체 지향 프로그래밍, Java 프로그래밍 언어 및 Java 프로그램에서 재귀 사용의 다섯 가지 영역에서 프로그래밍 및 분석 기술을 향상시키기 위한 집중 프로그램을 제공합니다.

    이 주제는 컴퓨터 과학 대학원 과정의 전제 조건으로 특히 중요합니다.

    주제에는 Java 프로그래밍 요소, 객체 지향 설계 및 구현, 데이터 구조 (목록, 스택, 큐, 이진 검색 트리, 해시 테이블 및 세트 포함), 예외 계층, 파일 I / O 및 스트림, JDBC가 포함됩니다. (4 학점) 선수 과목 : 학부생 : CS 221; 대학원생 :학과 교수 동의 (4 학점)

  • MPP 과정은 객체 지향 프로그래밍의 기본 원칙을 제시합니다. 학생들은 재사용 가능하고 유지 관리가 잘 되는 소프트웨어를 작성하는 방법을 배우고 이 지식을 실험실 과제 및 프로젝트와 통합합니다. 주제에는 다음이 포함됩니다. 객체 지향 프로그래밍의 기본 원칙 및 모델, UML 클래스 다이어그램 및 소프트웨어의 재사용성과 유지 관리성을 촉진하는 디자인 원칙. (4대)

  • 이 과정은 DB 설계 원칙의 핵심과 SQL 및 NoSQL 데이터베이스에 대한 소개를 다룹니다.

    항목은 다음과 같습니다 : 관계형 DB 설계 원칙, 일반 형식, 기본 및 외래 및 고유 키 쿼리(집계, 조인, 정렬); 업무; 문서 기반 DB 설계 원칙, 인덱스, 데이터베이스 확장 가용성 및 복구(덤프, 복원, 내보내기, 가져오기) 서비스로서의 데이터베이스. 전제 조건이 없습니다.

    (4 개)

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

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

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

  • 이 과정은 비동기 웹 프로그래밍 개념에 대해 자세히 설명하고 관찰자 패턴, 팩토리, 데코레이터 등을 포함하는 JS의 가장 필수적인 디자인 패턴을 다룹니다. 또한 웹 API 및 불변 데이터 구조로 작업하는 방법도 다룹니다.

    항목은 다음과 같습니다 : 협업 Git; TypeScript 및 번들러 소개 비동기 자바스크립트; 이벤트 루프; 히스토리 API, 지리적 위치 API; Ajax(HTTP, Ajax, JSON, Fetch, CORS 소개, 디버깅); 약속 및 Async/Await; 반응형 프로그래밍; RxJS Observable과 연산자 디자인 패턴: Module, Prototype, Singleton, Observer, Façade, Factory, Decorator, Proxy, Strategy, Memoization; 최신 웹 브라우저. 전제 조건이 없습니다.

    (4 개)

  • 컴퓨팅의 미래는 평행합니다. 프로세서 설계가 소형화, 클록 주파수, 전력 및 열의 한계에 도달함에 따라 순차 성능의 증가는 정체되었습니다. 2005년에 프로세서 코어의 수가 갑자기 단일 코어에서 다중 코어로 증가하기 시작하여 프로그램을 훨씬 더 빠르게 실행할 수 있는 가능성이 생겼습니다. 그러나 이 잠재력을 활용하려면 프로그래머가 병렬 프로그래밍 기술에 대한 지식이 있어야 합니다.

    이 과정은 학생들에게 Java 9의 맥락에서 병렬 프로그래밍의 기본 개념을 가르칩니다. 병렬 프로그래밍을 통해 개발자는 다중 코어 컴퓨터를 사용하여 동시에 여러 코어를 사용하여 응용 프로그램을 더 빠르게 실행할 수 있습니다. 이 과정이 끝나면 널리 사용되는 병렬 Java 프레임워크(예: Multi-Threading, Streams 및 Executors)를 사용하여 서버, 데스크탑 또는 모바일 장치를 포함한 광범위한 멀티코어 플랫폼용 병렬 프로그램을 작성하는 방법을 배우게 됩니다.

    이 과정에서 사용되는 소프트웨어 도구에는 Microsoft Visual Studio, Java 다중 스레딩 라이브러리 및 OpenMP 스레딩 표준이 포함됩니다. (4 학점) 전제 조건: Java, C 또는 C++를 사용한 컴퓨터 프로그래밍 지식.

    자세한 내용은 이 과정의 교수가 만든 XNUMX분 길이의 비디오를 시청하십시오.

    https://www.youtube.com/watch?v=dWcWAnn0Ppc

  • 이 과정은 대화형 및 동적 웹 응용 프로그램 프로그래밍에 대한 체계적인 소개를 제공합니다. 이 과정은 웹 애플리케이션 프로그래밍 경험이 거의 또는 전혀 없는 개인을 대상으로 합니다. 이 오퍼링은 서버 측 처리를 위해 NodeJS 및 Express 프레임워크를 사용합니다.

    이 과정은 CSS를 사용한 웹 페이지 레이아웃에 특히 중점을 두고 HTML 및 CSS의 기본 사항을 검토하는 것으로 시작됩니다. JavaScript는 함수, 객체, 모듈, jQuery 프레임워크, Ajax, Promises를 포함한 모든 과정에서 사용되는 프로그래밍 언어입니다. 학생들은 점점 더 복잡해지고 정교해지는 일련의 웹사이트를 프로그래밍하는 데 대부분의 시간을 보냅니다. 과정의 마지막 주 동안의 캡스톤 프로젝트는 최적의 성능을 위해 클라이언트가 비동기적으로 액세스하는 SQL 데이터베이스 백엔드가 있는 웹사이트를 만듭니다.

    이 과정은 CS545 웹 애플리케이션 아키텍처 및 CS572 최신 웹 애플리케이션의 전제 조건입니다. 선행 조건: CS 220 또는 CS 401 또는 학과 교수진의 동의

    (4 개)

  • Android 프로그램 개발은 흥미롭고 잠재적으로 수익성 있는 경험입니다. Android 개발은 프로그래머에게 창의성의 세계를 열어줍니다. 버튼을 한 번만 클릭하면 제품을 만들고 수십억 명의 사용자가 사용할 수 있는 디지털 세상에서 꿈도 꾸지 못한 방식으로 자신을 표현할 수 있습니다. 이 과정은 Kotlin 프로그래밍 언어를 사용하여 Android 애플리케이션을 개발하는 방법을 가르칩니다.

    주제는 다음과 같습니다. Android 프로그래밍을 위한 컴퓨터 설정; 매니페스트 기본; 레이아웃, 활동, 보기 및 UI 구성요소 의도, 프래그먼트 및 공유 기본 설정 작업 웹 보기 및 HTML; 멀티미디어 작업 Android Jetpack 구성 요소, Room Database 및 JSON; 과소 평가 센서; 현지화; Google Play 스토어에 앱 게시. (4 학점) 전제 조건이 필요하지 않습니다.

  • 이 과정은 백엔드(NodeJS)에서 JavaScript를 사용하는 데 중점을 둡니다. 학생들은 NodeJS가 어떻게 작동하는지 배우고 핵심 API(응용 프로그래밍 인터페이스)에 대해 깊이 이해하게 됩니다. 이 과정에서는 JS 컴파일러 엔진(V8)이 작동하는 방법, 모듈을 사용하여 코드를 구조화하는 방법, Node 및 Node 이벤트 루프에서 비동기 코드가 작동하는 방법을 다룹니다. 이 과정은 또한 노드 패키지 관리자(NPM), 웹 서버 구축 방법, Express 프레임워크로 작업하는 방법, Mongoose와 같은 ODM을 사용하여 MongoDB를 관리하는 방법을 가르칩니다. 학생들은 JSON 웹 토큰으로 사용자 인증, 데이터베이스에 데이터 유지, Restful API 구축을 포함하여 최신 웹 애플리케이션을 정의하는 모든 기술을 배웁니다. 다른 컴퓨터 과학 개념도 다룹니다.

    항목은 다음과 같습니다 : HTTP 및 나머지 API 디자인; 상태 비저장 및 상태 저장 응용 프로그램 노드 API; 노드 패키지 관리자(npm); 모델-컨트롤러 아키텍처, Express 프레임워크 및 미들웨어 서버 측 라우팅; 토큰 기반 인증. 전제 조건이 없습니다.

    (4 개)

  • 빅 데이터는 새로운 천연 자원입니다. 데이터는 12-18 개월마다 두 배씩 증가합니다. 이 새로운 빅 데이터 분석 과정은 새로운 통찰력을 생성하기 위해 다양한 대규모 데이터 세트를 마이닝하기 위한 기본 개념과 도구를 다룹니다. R 언어 사용을 마스터하여 Wordcloud, Pagerank, 데이터 시각화, 의사 결정 트리, 회귀, 클러스터링, 신경망 등을 만듭니다. 수백만 개의 대규모 레코드 데이터 세트로 작업하고 Twitter 피드도 마이닝합니다. Hadoop / MapReduce 및 스트리밍 데이터 개념을 배우고 개별 연구 논문을 통해 Spark, Flink, Kafka, Storm, Samza, NoSQL과 같은 다른 Apache 빅 데이터 프로젝트를 탐색합니다. Kaggle.com의 공개 프로젝트에서 그룹으로 작업하여 동급 최고의 데이터 분석 과제를 해결하여 상금을 놓고 경쟁하게됩니다. 또한 업계 최고의 IBM SPSS Modeler 및 오픈 소스 데이터 마이닝 플랫폼을 사용하는 방법을 배웁니다. 이 과정은 또한 MIT, Coursera, Google 및 다른 곳에서 제공하는 광범위한 비디오 교육 자료를 사용합니다. (4 개 학점) 선수 과목 :학과 교수의 동의

  • 소프트웨어 개발은 ​​일부 시스템 또는 응용 프로그램 소프트웨어의 생산과 관련된 구상, 지정, 분석, 설계, 프로그래밍, 테스트, 문서화 및 유지 관리의 체계적인 프로세스입니다.

    이 과정에서 학생들은 개념 구상부터 분석, 설계, 구현 및 테스트, 작동하는 소프트웨어의 제공 및 배포에 이르기까지 요구 사항을 고려하여 엔터프라이즈급 소프트웨어 솔루션을 생성하는 방법을 배웁니다. 다양한 원칙, 모범 사례, 관련 도구 및 기술, 그리고 이러한 것들이 고품질의 강력한 소프트웨어 솔루션 생산에 어떻게 사용되고 적용되는지를 가르칠 것입니다. 다루는 기술과 도구는 대부분 Java 소프트웨어 플랫폼을 중심으로 다루지만 이에 국한되지는 않습니다.

    우리는 소프트웨어 제품에 대한 올바른 요구 사항을 식별하고 도출하는 방법, 이러한 요구 사항을 분석하고 적합한 소프트웨어 솔루션 아키텍처를 선택하고 적절한 디자인을 만드는 방법에 대한 기술을 연구합니다. 그리고 테스트를 포함하여 코드로 디자인을 구현하는 방법과 궁극적으로 전달/배포를 위해 결과 아티팩트를 빌드하고 패키징하는 방법입니다. 클라우드를 포함한 다양한 최신 배포 메커니즘을 고려해 보겠습니다. 전제 조건: CS 401

    주제는 다음과 같습니다.

    • 데이터베이스 설계 및 개발
    • 객체 지향 분석 및 설계
    • 도메인 모델링
    • 시스템 아키텍처
    • Spring Web MVC를 이용한 웹 애플리케이션 개발
    • 시스템 구현 및 테스트 단위 테스트, 모의 및 통합 테스트 포함
    • 소프트웨어 보안 – ID 및 액세스 관리 포함
    • 컨테이너화 및 컨테이너 기술

    (4 개)

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

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

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

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

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

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

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

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

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

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

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

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

    (2 개)

고급 과정

  • 프로젝트 관리는 학생이 프로젝트의 실제 개발, 강의, 읽기, 프로젝트 관리 프레임워크 경험, 지식 영역(10가지 지식 영역 및 관련 프로세스) 및 배포를 통해 배울 수 있도록 소개합니다. 학생들은 응용 프로그램 개발 방법론을 사용하여 소프트웨어 개발 수명 주기의 모든 단계에서 실제 프로젝트 구현을 통해 작업하고 프로젝트 관리의 역할을 경험합니다.

    학생들은 프로젝트 계획, 요구 사항 관리, 범위 관리, 코딩 표준, 달러 가치뿐만 아니라 인력 시간, 일정 관리, 품질 관리, 위험 관리 및 커뮤니케이션 관리 측면에서 모듈/코드에 대한 비용 추정에 대한 실제 경험을 얻습니다. 과정이 끝나면 학생들은 업계에서 사용되는 PM 프로세스를 사용하여 개발된 응용 프로그램을 실행하게 됩니다. (요구 사항에서 프로덕션 배포까지). 이 프로젝트는 웹 서비스 및 디자인 패턴과 함께 최신 Java 기술 및 해당 프레임워크를 사용하여 개발되었습니다.

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

  • 이 과정은 클라우드 프로그래밍 패턴을 다루고 학생들이 AWS 서버리스 기능을 포함한 다양한 웹 클라우드 서비스 작업을 연습할 수 있도록 합니다.

    주제는 다음과 같습니다. ID 및 액세스 관리(IAM); Virtual Private Cloud(VPC), 네트워크 액세스 제어 목록 – NACL, 서브넷, 가용 영역, Simple Storage Service(S3), Elastic Cloud Compute(EC2), Simple Notification Service(SNS), Elastic Load Balancer(ELB), Auto Scaling, Route 53, 클라우드의 API AWS 람다, 서버리스; 웹 서비스; 애플리케이션 배포, 최종 프로젝트. (4학점). (전제조건 없음)

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

  • 불과 몇 년 만에 빅 데이터 기술은 과장된 영역에서 새로운 디지털 시대의 핵심 구성 요소 중 하나로 자리 잡았습니다. 이러한 기술은 정보를 지식으로 변환하는 데 매우 유용합니다. 이 과정의 목표는 다양한 빅 데이터 문제를 해결하는 데 도움이 되는 몇 가지 중요한 도구를 무기고에 추가하는 것입니다.

    이 과정은 "빅 데이터란 무엇이며 그 중요성은 무엇입니까?"와 같은 질문에 대한 답을 제공하는 것으로 시작합니다. 빅 데이터를 안정적이고 저렴하게 저장하는 방법은 무엇입니까? 이 빅 데이터에서 유용한 정보를 찾기 위해 어떤 도구를 사용해야 할까요? 등." 이 과정에서 학생들은 빅 데이터를 분석하기 위한 다양한 도구와 프로그래밍 모델을 공부합니다. 주제에는 MapReduce, Pig, Hive, Sqoop, Flume, HBase(NoSQL DB), Zookeeper와 같은 Hadoop 생태계 프로젝트와 Spark SQL 및 Spark Streaming과 같은 Apache Spark 생태계 프로젝트가 포함됩니다. 학생들은 또한 실시간 데이터 수집에서 시작하여 대시보드에서 그래픽 형식으로 결과를 처리, 분석하고 마지막으로 결과를 보는 완전한 빅 데이터 파이프라인을 구축할 수 있는 기회가 주어집니다. 학생들은 주로 Cloudera 배포판의 단일 노드 Hadoop 클러스터로 작업합니다. (4단위) (MPP가 유일한 전제조건임)

  • 다양한 소스의 데이터가 빠르게 증가함에 따라 대부분의 기업과 조직은 고도로 데이터 기반이 되었습니다. 이러한 데이터에서 핵심 정보를 추출하여 지식과 인텔리전스로 변환하는 것이 Big Data Analytics의 핵심 기능입니다. 그렇기 때문에 점점 더 많은 기업이 데이터 분석에 더 많은 비용을 지출하고 있습니다. 이것은 이제 급속한 성장으로 더욱 가속화됩니다. 디지털 전환. 이 빅 데이터 분석 과정은 새로운 비즈니스 통찰력을 생성하기 위해 다양한 대규모 데이터 세트를 마이닝하기 위한 분석, 알고리즘 및 도구의 기본 개념을 다룹니다.

    모든 주요 분석 – 포함 설명적, 예측적, 규범적 및 진단적 커버됩니다. 대규모 데이터 세트(비구조화, 혼합, 구조화, 그래프 및 스트리밍) 분석에 대한 알고리즘 접근 방식을 다룹니다. 기계 학습(신경망, 딥 러닝, 결정 트리, 랜덤 포레스트 등), AI, 자연어 처리(NLP), 회귀(예측), 분류, 클러스터링, 추천 시스템 등을 위한 최신 분산 분석 플랫폼(예: MapReduce, Hadoop, Spark)을 통한 스트리밍 알고리즘. 고급 빅 데이터 분석특히, 원인 분석 또한 다루어질 것입니다. Python/R 프로그래밍 언어가 주로 사용됩니다. 학생들은 또한 빅 데이터 분석을 사용하여 실제 문제를 해결하기 위한 그룹 프로젝트를 수행합니다.

    (4학점) 선수과목 : 학과 교수진의 동의

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

  • 이 과정은 대규모 엔터프라이즈 응용 프로그램을 개발할 때 사용되는 원칙과 사례를 가르치는 데 중점을 둡니다. ORM(Object Relational Mapping), DI(Dependency Injection), AOP(Aspect Oriented Programming) 및 웹 서비스(RESTfull 및 SOAP), 메시징 및 원격 메서드 호출. 관계형 데이터베이스 및 SQL에 대한 실무 지식이 있어야 합니다. SQL에 대한 강력한 과정이나 작업 지식이 없는 경우 EA에 등록하기 전에 CS422 DBMS에 등록해야 합니다. (4대)

  • 이 과정은 엔터프라이즈 환경에서 웹 애플리케이션을 중점적으로 다룹니다. 엔터프라이즈 응용 프로그램은 회사 또는 정부와 같은 대규모 조직에서 작동하도록 설계된 대형 소프트웨어 시스템입니다. 엔터프라이즈 애플리케이션은 복잡하고 확장 성이 뛰어나며 구성 요소 기반, 분산 및 미션 크리티컬합니다. 이 과정 인 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 또는 부서 교수의 동의.

  • React는 강력한 웹 애플리케이션을 구축하기 위해 가장 많이 사용되는 라이브러리입니다. 이 과정에서 학생들은 최신 Redux 패턴을 사용하여 처음부터 강력하고 확장 가능한 애플리케이션을 구축하여 애플리케이션 상태를 유지 관리하는 React 및 ES6을 사용하는 방법을 배웁니다.

    주제에는 구성 요소 기반 웹 응용 프로그램 개발, 구성 요소 디자인 패턴, 나머지 API 사용, 브라우저 API를 사용한 지속성, JSX 및 React API(props, proptypes, 이벤트, 참조), 응용 프로그램 데이터 흐름 및 React 앱 배포가 포함됩니다. 전제 조건 WAP 또는 CS 477.

    (4 개)

  • 이 과정에서 학생들은 TypeScript 및 Angular를 사용하여 완전한 최신 웹 응용 프로그램을 구축하는 데 필요한 모든 기술과 함께 단일 페이지 웹 응용 프로그램(SPA)의 반응형 프로그래밍 아키텍처를 배웁니다. 학생들은 다음을 포함하여 Angular가 작동하는 방식에 대한 깊은 이해를 얻습니다. 변경 감지; 옵저버블 및 주제를 사용한 반응형 RxJ 프로그래밍 섀도우 DOM; 구역; 모듈, 구성 요소, 사용자 지정 지시문 및 파이프 서비스 및 종속성 주입 Angular 컴파일러: JIT 및 AOF 컴파일 양식(템플릿 기반 및 데이터 기반) 라우팅, 가드 및 경로 보호 HTTP 클라이언트; 및 JWT JSON 웹 토큰 인증. 전제 조건: WAP 또는 CS 477.

    (4 개)

  • 이 과정은 Java 또는 Swift 없이 JavaScript를 사용하여 크로스 플랫폼 네이티브 애플리케이션을 실행할 수 있도록 하는 Facebook의 인기 프레임워크인 React Native를 사용하여 웹 개발에서 모바일 애플리케이션 개발로 전환합니다. 이 과정에서는 JavaScript 확장인 최신 JavaScript-JavaScript XML(JSX)을 소개합니다. 학생들은 React Native와 그 패러다임, 애플리케이션 아키텍처 및 사용자 인터페이스에 대한 경험을 얻습니다. 이 과정은 학생들이 완전히 자신의 디자인으로 모바일 앱을 구현하는 최종 프로젝트에서 절정에 달합니다. 전제 조건: WAA 또는 CS568.

    (4 개)

  • 이 과정에서는 완전한 현대 웹 응용 프로그램을 구축하는 데 필요한 모든 기술과 함께 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 개)

  • 이 실습 과정에서 학생들은 기술 전문적인 위치에서 컴퓨터 관련 작업을 수행합니다. 수행되는 작업은 새로운 시스템의 설계 및 개발 또는 특정 목적을위한 기존 시스템의 적용 일 수 있습니다. 실습 직무 설명은 고용주와 학생이 작성하며, 학생이 배치 된 실습 감독자와상의하여학과 대학원 교수 중 한 명이 사전 승인을 받아야합니다. (이 과정은 주로 인턴십 또는 협력 프로그램에있는 학생들을위한 것입니다.) (블록 당 0.5-1 단위 – 반복 가능)

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

    이 과정은 다양한 학습 패러다임, 알고리즘, 이론적 결과 및 응용 프로그램을 다룹니다. 인공 지능, 정보 이론, 통계 및 제어 이론의 기본 개념을 머신 러닝과 관련이있는 한 사용합니다. 주제는 다음과 같습니다.지도 학습 (생성 / 차별 학습, 모수 / 비모수 학습, 신경망, 지원 벡터 머신, 의사 결정 트리, 베이지안 학습 및 최적화); 비지도 학습 (클러스터링, 차원 감소, 커널 방법); 학습 이론 (편향 / 분산 트레이드 오프, VC 이론, 큰 마진); 강화 학습 및 적응 제어. 다른 주제로는 HMM (Hidden Markov Model), Evolutionary Computing, Deep Learning (With Neural Nets) 및 기본적인 기계 학습 문제에 대해 성능을 엄격하게 분석 할 수있는 알고리즘 설계가 있습니다.

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

  • 인공 지능(AI)은 지능형 시스템을 구축하고 이해하려고 시도하는 분야입니다. 인간 수준의 지능을 갖춘 컴퓨터는 사회에 큰 영향을 미칠 것입니다. 지능형 소프트웨어 에이전트 및 다중 에이전트 시스템은 디지털 변환, 자동화, 대화형 시스템, 웹 검색, 로봇 공학, 제조, 건강, 제약, 은행, 공급망, 자율 주행, 광고, 게임과 같은 많은 영역에서 빠르게 성장하고 도움을 주고 있습니다. 몇 가지를 말하십시오. AI는 수조 달러 규모의 산업을 주도합니다. 이 과정은 AI의 기초를 가르치고 학생들에게 해당 분야에 대한 실질적인 이해를 제공합니다. 주제에는 AI의 핵심 개념인 지능형 에이전트, 다중 에이전트 시스템, 지능형 검색, XNUMX차 및 상위 논리, 지식 표현, 추론, 인식, 학습, 의미론(NLP, 이미지, 객체..), 계획, 의사 결정, 행동, 반응, 심의, 합리적, 적응, 의사 소통 및 상호 작용. 이 과정은 실제 관련성이 있는 접근 방식을 강조하고 최근 인기 있는 여러 AI 응용 프로그램에 대해 논의합니다. AI(Low code 및 No code 포함)를 위한 주요 오픈 소스 도구 및 프로그래밍 언어에 대해 간략하게 설명합니다. 학생들은 또한 AI를 사용하여 실생활 문제를 해결하기 위한 그룹 프로젝트를 수행합니다.

    (4학점) 선수과목 : 학과 교수진의 동의

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

  • MIU 교육의 50년을 기념하여 컴퓨터 과학부는 새로운 Golden Jubilee ComPro Tech Talks 시리즈를 시작하게 된 것을 기쁘게 생각합니다.

    대화 가능 여기에서 지금 확인해 보세요..

학습 옵션

유학생을 위한 3가지 학습 옵션이 있습니다.
각각 컴퓨터 과학 석사를 제공합니다.
모두 XNUMX월, XNUMX월, XNUMX월 또는 XNUMX월에 입학 날짜가 있습니다.

프로그램개월 수의 캠퍼스 스터디유료 실습실습 중 원격 교육(DE)
CPT8-92 년까지 CPT4 DE 코스
선택적 실무 연수(OPT)8-911.5 개월까지 CPT + 3년 선택적 실무 연수(OPT) (선택 사항)4 DE 코스
캠퍼스 풀타임12-133 년 선택적 실무 연수(OPT) 선택권NA

“MSCS 프로그램에 대해 처음 들었을 때 의심 스러웠습니다. 나는 이런 것이 존재한다는 것을 믿을 수 없었다. 하지만 어느 날 제 친구가 프로그램에 참여했습니다. 그것이 진짜임을 확인했을 때였습니다. 그런 다음 신청 절차를 재개했습니다. 잘! 사실입니다. 저는 여기 있고 프로그램을 마쳤고 너무 행복합니다.”

새로운 경력을 시작할 준비가 되셨습니까?

신제품 서부 및 북아프리카 모집 투어 7월 22~XNUMX일

> 자세한 내용을 확인하고 무료 티켓을 예약하세요

(이제 5개 행사 모두 티켓을 구매하실 수 있습니다)

미국 대사관 인터뷰 대기 시간 및 MSCS 지원 처리 시간

우리는 많은 국가에서 인터뷰 날짜가 매우 지연된다는 사실을 발견했습니다. 참조하십시오 비자 예약 대기 시간(state.gov) 귀하의 국가/도시에 대한 인터뷰 날짜를 얻는 데 걸리는 시간을 알아보십시오.

면접 대기 시간이 2개월 이상인 경우, 향후 입국을 신청할 예정이더라도 즉시 지원하여 지원서를 작성하는 것이 좋습니다. 이렇게 하면 지원 절차를 완료하고 I-20를 받은 다음 인터뷰 날짜를 잡을 수 있습니다. 인터뷰 날짜를 얻으려면 I-20이 있어야 합니다. 날짜가 미국에 올 계획보다 빠르다면 비자를 받은 후 언제든지 도착 날짜를 연기할 수 있습니다. 우리는 당신이 올 예정인 입국 날짜에 대해 새로운 I-20를 발급할 것입니다.

이 정보에 관한 질문은 다음 주소로 입학처에 문의하십시오. Admissionsdirector@miu.edu.

자신에게 다음 4가지 질문을 해보십시오.

  1. 기술 분야의 학사 학위가 있습니까? 예 혹은 아니오?

  2. 학사 학위에서 좋은 성적을 받았습니까? 예 혹은 아니오?

  3. 학사 학위를 취득한 후 소프트웨어 개발자로서 최소 12개월의 풀타임 유급 업무 경험이 있습니까? 예 혹은 아니오?

  4. 수업을 위해 미국에 올 수 있습니까(이 프로그램은 온라인으로 제공되지 않음)? 예 혹은 아니오?

위 질문에 모두 '예'라고 답하셨다면, 당신은 신청할 수 있습니다 (그렇다고 해서 승인이 보장되는 것은 아닙니다.)