Học các kỹ năng 'Thực hành' với các công nghệ mới nhất trong phát triển phần mềm

Bạn đã sẵn sàng để Nâng cao sự nghiệp của bạn?

Bạn đã sẵn sàng để thăng tiến trong sự nghiệp của mình chưa?

Tham khảo ý kiến ​​của Cố vấn, tất cả sinh viên chọn Khóa học cơ bản từ cột bên trái bên dưới và Khóa học nâng cao từ cột bên phải.

Dựa trên các bài kiểm tra đủ điều kiện được thực hiện khi họ đến trường, chỉ những sinh viên trên Theo dõi chuẩn bị đầu vào sẽ cần tham gia lớp Thực hành Lập trình Cơ bản (CS 4) kéo dài 390 tuần. FOR 506 và CS 401 là bắt buộc đối với tất cả học sinh. Xem Yêu cầu Tốt nghiệp >

Các khóa học cơ bản

  • Khóa học đầu tiên của bạn được thiết kế đặc biệt để thiết lập cơ sở về cách bạn có thể trở thành một chuyên gia khoa học máy tính có hiệu suất cao nhất. Khóa học bắt nguồn từ việc thực hành Thiền Siêu Việt dẫn đến việc hoàn thiện tiềm năng thực sự của bạn. Bạn sẽ tìm hiểu về những lợi ích của TM bao gồm khả năng giải quyết các vấn đề phức tạp bằng cách vận hành tinh thần vượt trội, tăng cường khả năng sáng tạo và tư duy “vượt trội”. Khóa học sẽ tập trung vào các nguyên tắc làm nền tảng cho hiệu suất cao nhất trong hoạt động bằng cách phát triển sự kết hợp tối ưu giữa nghỉ ngơi và hoạt động. Bạn sẽ phát triển và trải nghiệm một thói quen hàng ngày lý tưởng hỗ trợ thành công trong cuộc sống. (2 đơn vị)

  • Khóa học này cung cấp một chương trình tập trung để nâng cao kỹ năng lập trình và phân tích trong năm lĩnh vực: giải quyết vấn đề, cấu trúc dữ liệu, lập trình hướng đối tượng, ngôn ngữ lập trình Java và sử dụng đệ quy trong các chương trình Java.

    Những chủ đề này có tầm quan trọng đặc biệt như một điều kiện tiên quyết cho các khóa học trong chương trình sau đại học về Khoa học Máy tính.

    Các chủ đề bao gồm: các yếu tố của lập trình Java, thiết kế và triển khai hướng đối tượng, cấu trúc dữ liệu (bao gồm danh sách, ngăn xếp, hàng đợi, cây tìm kiếm nhị phân, bảng băm và tập hợp), hệ thống phân cấp ngoại lệ, tệp i / o và luồng, và JDBC. (4 tín chỉ) Điều kiện tiên quyết: Đối với sinh viên đại học: CS 221; đối với nghiên cứu sinh: được sự đồng ý của tập thể giảng viên bộ môn (4 đơn vị)

  • Khóa học này trình bày các nguyên tắc cơ bản của lập trình hướng đối tượng. Học sinh sẽ học cách viết phần mềm có thể tái sử dụng và bảo trì tốt hơn, và tích hợp kiến ​​thức này với các bài tập và dự án trong phòng thí nghiệm. Các chủ đề bao gồm: các nguyên tắc cơ bản và mô hình lập trình hướng đối tượng, sơ đồ lớp UML và nguyên tắc thiết kế nhằm thúc đẩy khả năng sử dụng lại và khả năng bảo trì của phần mềm. (Đơn vị 4)

  • Khóa học này bao gồm các khái niệm cơ bản về các nguyên tắc thiết kế DB và giới thiệu về cơ sở dữ liệu SQL và NoSQL.

    Các chủ đề bao gồm: Các nguyên tắc thiết kế DB quan hệ, Dạng thông thường, Khóa chính và Khóa ngoại và Khóa duy nhất; Truy vấn (Tổng hợp, Kết hợp, Sắp xếp); Giao dịch; Các nguyên tắc thiết kế DB dựa trên tài liệu, Chỉ mục, Cơ sở dữ liệu tỷ lệ; Tính khả dụng và phục hồi (kết xuất, khôi phục, xuất khẩu, nhập khẩu); Cơ sở dữ liệu như một Dịch vụ. Không có điều kiện tiên quyết.

    (Đơn vị 4)

  • Hệ thống cơ sở dữ liệu tổ chức và truy xuất thông tin, cho phép người dùng truy cập thông tin mong muốn một cách dễ dàng và hiệu quả. Các chủ đề bao gồm: mô hình dữ liệu quan hệ; SQL; Mô hình hóa ER; đại số quan hệ; chuẩn hóa dữ liệu; giao dịch; các đối tượng trong cơ sở dữ liệu; bảo mật và toàn vẹn dữ liệu; lưu trữ dữ liệu, OLAP và khai thác dữ liệu; cơ sở dữ liệu phân tán; và nghiên cứu một hệ thống cơ sở dữ liệu thương mại cụ thể. (Đơn vị 4) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của khoa khoa.

  • Kỹ thuật phần mềm là khóa học giới thiệu cho sinh viên những thực tiễn tốt nhất trong phát triển phần mềm thông qua phương pháp phát triển phần mềm. Các sinh viên đã có một số kinh nghiệm trong các khóa học trước với mô hình Hướng đối tượng và đã sử dụng một số sơ đồ UML cơ bản cho các mục đích mô hình hóa mối quan hệ giữa các đối tượng phần mềm. Trong Kỹ thuật phần mềm, sinh viên sẽ phát triển các kỹ năng kết hợp các công cụ này lại với nhau để tạo ra phần mềm mạnh mẽ, dễ bảo trì. Một phương pháp phát triển phần mềm mô tả thời điểm và cách sử dụng các khái niệm OO và sơ đồ UML để thực hiện mục tiêu xây dựng phần mềm chất lượng. Khóa học xoay quanh một dự án nhỏ trong đó các nguyên tắc được thảo luận trong định dạng bài giảng có thể được minh họa và áp dụng. Kết thúc khóa học, sinh viên sẽ có một ứng dụng đang chạy, được xây dựng phù hợp với các tiêu chuẩn cao của phương pháp phát triển RUP (Rational Unified Process).

  • Khóa học này trình bày các phương pháp để phân tích hiệu quả của các thuật toán (bao gồm phân tích trường hợp xấu nhất và trường hợp trung bình) và giới thiệu một loạt các thuật toán được biết đến, hiệu quả cao. Phân tích, thiết kế và thực hiện các thuật toán được nhấn mạnh như nhau. Các chủ đề bao gồm tìm kiếm và sắp xếp, hiệu quả của các hoạt động trên cấu trúc dữ liệu (bao gồm danh sách, hàm băm, cây tìm kiếm nhị phân cân bằng, hàng đợi ưu tiên), thuật toán đồ thị, thuật toán kết hợp, quan hệ lặp lại, Lập trình động, vấn đề hoàn thành NP và một số chủ đề đặc biệt theo thời gian cho phép. (Các chủ đề đặc biệt bao gồm hình học tính toán, thuật toán cho hệ thống mật mã, xấp xỉ, Dữ liệu lớn và tính toán song song.)

  • Khóa học này đi sâu vào các khái niệm lập trình web không đồng bộ và bao gồm các mẫu thiết kế cần thiết nhất cho JS, bao gồm mẫu người quan sát, nhà máy, trình trang trí, v.v. Nó cũng bao gồm việc làm việc với Web API và cấu trúc dữ liệu bất biến.

    Các chủ đề bao gồm: Git cộng tác; Giới thiệu về TypeScript và Bundlers; JavaScript không đồng bộ; Sự kiện-Vòng lặp; API lịch sử, API định vị địa lý; Ajax (HTTP, Ajax, JSON, Tìm nạp, Giới thiệu về CORS, Gỡ lỗi); Hứa hẹn và Không đồng bộ / Chờ đợi; Lập trình phản ứng; RxJS Observables và Operator; Các mẫu thiết kế: Mô-đun, Nguyên mẫu, Singleton, Người quan sát, Mặt nạ, Nhà máy, Trình trang trí, Proxy, Chiến lược, Bản ghi nhớ; Trình duyệt web hiện đại. Không có điều kiện tiên quyết.

    (Đơn vị 4)

  • Tương lai của điện toán là song song. Sự gia tăng hiệu suất tuần tự đã tiếp tục vì các thiết kế bộ xử lý đã đạt đến các giới hạn về thu nhỏ, tần số xung nhịp, công suất và nhiệt. Vào năm 2005, số lượng lõi của bộ xử lý bắt đầu tăng đột ngột từ một lõi lên nhiều lõi, tạo ra khả năng thực thi các chương trình nhanh hơn nhiều. Tuy nhiên, để sử dụng tiềm năng này, một lập trình viên phải có một số kiến ​​thức về các kỹ thuật lập trình song song.

    Khóa học này dạy cho sinh viên các khái niệm cơ bản về lập trình song song trong bối cảnh của Java 9. Lập trình song song cho phép các nhà phát triển sử dụng máy tính đa lõi để làm cho các ứng dụng của họ chạy nhanh hơn bằng cách sử dụng nhiều lõi cùng một lúc. Vào cuối khóa học này, bạn sẽ học cách sử dụng các khung Java song song phổ biến (chẳng hạn như Đa luồng, Luồng và Thực thi) để viết các chương trình song song cho một loạt các nền tảng đa lõi bao gồm máy chủ, máy tính để bàn hoặc thiết bị di động.

    Các công cụ phần mềm được sử dụng trong khóa học này bao gồm Microsoft Visual Studio, thư viện đa luồng Java và tiêu chuẩn phân luồng OpenMP. (4 đơn vị) Điều kiện tiên quyết: Có kiến ​​thức về lập trình máy tính sử dụng Java, C hoặc C ++.

    Để biết thêm thông tin, hãy xem video dài năm phút do Giáo sư của khóa học này thực hiện:

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

  • Khóa học này giới thiệu một cách có hệ thống về lập trình các ứng dụng web động và tương tác. Khóa học dành cho những cá nhân có ít hoặc không có kinh nghiệm lập trình ứng dụng web trước đây. Cung cấp này sẽ sử dụng NodeJS và khung Express để xử lý phía máy chủ.

    Khóa học bắt đầu với việc xem xét các nguyên tắc cơ bản của HTML và CSS, đặc biệt tập trung vào bố cục trang web sử dụng CSS. JavaScript là ngôn ngữ lập trình được sử dụng xuyên suốt trong khóa học bao gồm các hàm, đối tượng, mô-đun, khuôn khổ jQuery, Ajax và Promises. Sinh viên dành phần lớn thời gian của họ để lập trình một loạt các trang web ngày càng phức tạp và tinh vi. Một dự án capstone trong tuần cuối cùng của khóa học tạo ra một trang web có phần phụ trợ cơ sở dữ liệu SQL được máy khách truy cập không đồng bộ để có hiệu suất tối ưu.

    Khóa học này là điều kiện tiên quyết cho Kiến trúc ứng dụng web CS545 và Ứng dụng web hiện đại CS572. Điều kiện tiên quyết: CS 220 hoặc CS 401 hoặc sự đồng ý của giảng viên bộ môn

    (Đơn vị 4)

  • Phát triển các chương trình Android là một trải nghiệm thú vị và có tiềm năng sinh lợi. Sự phát triển của Android mở ra thế giới sáng tạo cho các lập trình viên. Nó cho phép bạn thể hiện bản thân theo những cách mà bạn chưa từng mơ tới trong thế giới kỹ thuật số, nơi bạn có thể tạo ra sản phẩm và cung cấp sản phẩm đó cho hàng tỷ người dùng chỉ bằng một lần nhấp vào nút. Khóa học này sẽ dạy cách phát triển các ứng dụng Android bằng ngôn ngữ lập trình Kotlin.

    Các chủ đề bao gồm: Thiết lập máy tính của bạn để lập trình Android; Khái niệm cơ bản về bản kê khai; Bố cục, Hoạt động, Chế độ xem và các thành phần giao diện người dùng; Làm việc với Ý định, Mảnh vỡ và Tùy chọn được chia sẻ; Chế độ xem web và HTML; Làm việc với Đa phương tiện; Các thành phần Android Jetpack, Cơ sở dữ liệu phòng và JSON; Cảm biến cơ bản; Bản địa hóa; Xuất bản ứng dụng vào cửa hàng Google play. (4 đơn vị) Không yêu cầu Điều kiện tiên quyết.

  • Khóa học này tập trung vào việc sử dụng JavaScript ở phần phụ trợ (NodeJS). Sinh viên sẽ tìm hiểu cách thức hoạt động của NodeJS và hiểu sâu sắc về giao diện lập trình ứng dụng (API) cốt lõi của nó. Khóa học bao gồm cách hoạt động của công cụ trình biên dịch JS (V8), cách cấu trúc mã bằng cách sử dụng mô-đun và cách mã không đồng bộ hoạt động trong Node và vòng lặp sự kiện Node. Khóa học cũng dạy Node Package Manager (NPM), cách xây dựng một máy chủ web, cách làm việc với Express framework và cách sử dụng ODM như Mongoose để quản lý MongoDB. Sinh viên sẽ học tất cả các kỹ thuật xác định một ứng dụng web hiện đại, bao gồm xác thực người dùng bằng Mã thông báo web JSON, lưu trữ dữ liệu trong cơ sở dữ liệu và xây dựng API khôi phục. Các khái niệm khoa học máy tính khác cũng được đề cập.

    Các chủ đề bao gồm: Thiết kế API HTTP & Rest; Ứng dụng trạng thái và không trạng thái; API nút; Trình quản lý gói nút (npm); Kiến trúc Model-Controller, Express framework và phần mềm trung gian; Định tuyến phía máy chủ; Xác thực dựa trên mã thông báo. Không có điều kiện tiên quyết.

    (Đơn vị 4)

  • Dữ liệu lớn là tài nguyên thiên nhiên mới: dữ liệu tăng gấp đôi sau mỗi 12-18 tháng. Khóa học Phân tích dữ liệu lớn mới này bao gồm các khái niệm và công cụ cơ bản để khai thác các tập dữ liệu đa dạng lớn nhằm tạo ra thông tin chi tiết mới. Bạn sẽ thành thạo việc sử dụng ngôn ngữ R để tạo Wordcloud, Pagerank, Trực quan hóa dữ liệu, Cây quyết định, Hồi quy, Phân cụm, Mạng thần kinh và hơn thế nữa. Bạn sẽ làm việc với một số tập dữ liệu bản ghi lớn nhiều triệu người và cũng khai thác nguồn cấp dữ liệu Twitter. Bạn sẽ học các khái niệm Hadoop / MapReduce và Streaming Data, đồng thời sẽ khám phá các Dự án dữ liệu lớn Apache khác như Spark, Flink, Kafka, Storm, Samza, NoSQL thông qua các bài nghiên cứu cá nhân. Bạn sẽ làm việc theo nhóm trong các dự án mở từ Kaggle.com để tranh giải thưởng bằng cách giải quyết các thách thức phân tích dữ liệu hay nhất. Bạn cũng sẽ học cách sử dụng IBM SPSS Modeler hàng đầu trong ngành và các nền tảng khai thác dữ liệu nguồn mở. Khóa học cũng sẽ sử dụng một loạt các tài liệu đào tạo bằng video từ MIT, Coursera, Google và các nơi khác. (4 đơn vị) Điều kiện tiên quyết: Được sự đồng ý của giảng viên bộ môn

  • Mục tiêu của khóa học này là cung cấp cho sinh viên kiến ​​thức và kỹ năng lãnh đạo, bao gồm các kỹ năng giao tiếp để chuẩn bị cho vai trò lãnh đạo trong tương lai.

    Kết thúc khóa học này, sinh viên sẽ hiểu câu trả lời cho các câu hỏi chính liên quan đến khả năng lãnh đạo hiệu quả, bao gồm:

    Có những nhà lãnh đạo 'sinh ra tự nhiên'?

    Bạn có phải có sức thu hút để lãnh đạo hiệu quả?

    Những gì một tài sản được yêu cầu để trở thành một nhà lãnh đạo?

    Sự khác biệt giữa quản lý và lãnh đạo là gì?

    Nhiều "trí tuệ" cần có để lãnh đạo trong thời đại này là gì?

    "Sai lầm trong quản lý" là gì và nó dẫn đến việc tự phá hoại như thế nào?

    Biết rằng phản hồi là điều cần thiết cho quá trình hàng đầu, làm thế nào để chúng ta vượt qua nỗi sợ phải cho và nhận nó?

    Nguồn 80% của các vấn đề được tìm thấy ở nơi làm việc là gì?

    Có nghiên cứu khoa học nào để hỗ trợ tổ chức cải thiện kỹ năng lãnh đạo cá nhân và nhóm không?

    Khách mời sẽ bao gồm các doanh nhân nổi tiếng, các nhà khoa học máy tính, nhà từ thiện, Viện hàn lâm và các nhà lãnh đạo nổi bật khác trong xã hội.

    (Đơn vị 2)

Khóa học nâng cao

  • Quản lý dự án giới thiệu cho sinh viên học thông qua phát triển thực tế một dự án, bài giảng, đọc, trải nghiệm Khung quản lý dự án, các lĩnh vực kiến ​​thức (10 lĩnh vực kiến ​​thức và các quy trình liên quan) và triển khai. Học sinh làm việc thông qua triển khai dự án thực tế và trải nghiệm vai trò quản lý dự án trong tất cả các giai đoạn của Vòng đời phát triển phần mềm bằng phương pháp phát triển ứng dụng.

    Sinh viên có được kinh nghiệm thực tế trong việc lập kế hoạch dự án, quản lý yêu cầu, quản lý phạm vi, tiêu chuẩn mã hóa, ước tính chi phí cho mô-đun / mã về giá trị đô la cũng như về giờ làm việc, quản lý lịch trình, quản lý chất lượng, quản lý rủi ro và quản lý truyền thông. Vào cuối khóa học, sinh viên sẽ có một ứng dụng đang chạy được phát triển bằng các quy trình PM được sử dụng trong công nghiệp. (Bắt đầu từ yêu cầu thông qua triển khai sản xuất). Dự án được phát triển bằng cách sử dụng Công nghệ Java mới nhất và các khuôn khổ của chúng với các dịch vụ Web và Mẫu thiết kế.

  • Khóa học này xem xét các chủ đề nâng cao trong thiết kế ngôn ngữ lập trình, tập trung vào các phương pháp chính thức và cơ chế trừu tượng hóa. Các chủ đề bao gồm trừu tượng hóa dữ liệu và kiểm soát, đặc tả chính thức về cú pháp và ngữ nghĩa, bằng chứng về tính chính xác của chương trình, lập trình không xác định, cấu trúc điều khiển nâng cao và nghiên cứu các ngôn ngữ cụ thể. (Đơn vị 4) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của khoa khoa.

  • Khóa học này sẽ bao gồm các mẫu lập trình đám mây và sẽ cho phép sinh viên thực hành làm việc với các dịch vụ đám mây web khác nhau, bao gồm các chức năng AWS Serverless.

    Các chủ đề bao gồm: Quản lý Danh tính & Truy cập (IAM); Đám mây riêng ảo (VPC), Danh sách kiểm soát truy cập mạng - NACL, Mạng con, Vùng khả dụng, Dịch vụ lưu trữ đơn giản (S3), Tính toán đám mây đàn hồi (EC2), Dịch vụ thông báo đơn giản (SNS), Bộ cân bằng tải đàn hồi (ELB), Tự động mở rộng quy mô, Lộ trình 53, API trên đám mây; AWS Lambda, Serverless; Dịch vụ Web; Triển khai ứng dụng, Dự án cuối cùng. (4 tín chỉ). (Không có điều kiện tiên quyết)

  • Xử lý thông tin hiện đại được xác định bởi kho dữ liệu khổng lồ không thể xử lý bởi các hệ thống cơ sở dữ liệu truyền thống. Khóa học này bao gồm công nghệ mới nhất được phát triển và sử dụng bởi các nhà lãnh đạo ngành để giải quyết vấn đề này một cách hiệu quả nhất. Các chủ đề cụ thể bao gồm thuật toán MapReduce, mẫu thiết kế thuật toán MapReduce, HDFS, kiến ​​trúc cụm Hadoop, YARN, tính toán tần số tương đối, sắp xếp thứ cấp, thu thập dữ liệu web, chỉ mục đảo ngược và nén chỉ mục, thuật toán Spark và Scala. (Đơn vị 4) Điều kiện tiên quyết: Thuật toán CS 435.

  • Chỉ trong vài năm ngắn ngủi, các công nghệ dữ liệu lớn đã đi từ lĩnh vực cường điệu hóa thành một trong những thành phần cốt lõi của thời đại kỹ thuật số mới. Những công nghệ này rất hữu ích để chuyển đổi Thông tin thành Kiến thức. Mục đích của khóa học là thêm một số công cụ quan trọng vào kho vũ khí của bạn để giúp bạn giải quyết các vấn đề về dữ liệu lớn khác nhau.

    Khóa học bắt đầu bằng việc đưa ra câu trả lời cho các câu hỏi như “Dữ liệu lớn là gì và tầm quan trọng của nó? Làm thế nào để bạn lưu trữ dữ liệu lớn một cách đáng tin cậy và rẻ tiền? Sử dụng công cụ nào để tìm thông tin hữu ích từ dữ liệu lớn này? vân vân." Trong khóa học này, sinh viên sẽ nghiên cứu các công cụ và mô hình lập trình khác nhau để phân tích dữ liệu lớn. Các chủ đề bao gồm các dự án hệ sinh thái Hadoop như MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper cũng như các dự án hệ sinh thái Apache Spark như Spark SQL và Spark Streaming. Học sinh cũng có cơ hội xây dựng một hệ thống dữ liệu lớn hoàn chỉnh bắt đầu từ việc thu thập dữ liệu trong thời gian thực, xử lý, phân tích và cuối cùng là xem kết quả ở định dạng đồ họa trên bảng điều khiển. Học sinh sẽ chủ yếu làm việc với một cụm Hadoop nút duy nhất của phân phối Cloudera. (4 đơn vị) (MPP là điều kiện tiên quyết duy nhất)

  • Với sự tăng trưởng nhanh chóng của dữ liệu từ nhiều nguồn khác nhau, hầu hết các doanh nghiệp và tổ chức đều hướng đến dữ liệu cao. Trích xuất thông tin chính từ dữ liệu đó và chuyển đổi thông tin đó thành kiến ​​thức và trí thông minh là chức năng chính của Phân tích dữ liệu lớn. Đó là lý do tại sao ngày càng có nhiều doanh nghiệp chi nhiều tiền hơn cho Phân tích dữ liệu. Điều này bây giờ được tăng tốc hơn nữa bởi sự phát triển nhanh chóng chuyển đổi kỹ thuật số. Khóa học Phân tích dữ liệu lớn này bao gồm các khái niệm cơ bản về phân tích, thuật toán và công cụ để khai thác các tập dữ liệu lớn đa dạng nhằm tạo ra những hiểu biết kinh doanh mới.

    Tất cả các phân tích chính – bao gồm Mô tả, Dự đoán, Kê đơn và Chẩn đoán sẽ được bảo hiểm. Nó sẽ bao gồm các phương pháp thuật toán để phân tích các tập dữ liệu lớn (không có cấu trúc, hỗn hợp, có cấu trúc, biểu đồ & phát trực tuyến): Học máy (Mạng thần kinh, Học sâu, Cây quyết định, Rừng ngẫu nhiên, v.v.), Trí tuệ nhân tạo, Xử lý ngôn ngữ tự nhiên (NLP), Dữ liệu thống kê và các thuật toán phát trực tuyến, trên các nền tảng phân tích phân tán hiện đại (ví dụ: MapReduce, Hadoop, Spark,) cho Hồi quy (dự đoán), phân loại, phân cụm, hệ thống đề xuất, v.v. Phân tích dữ liệu lớn nâng cao, Đặc biệt là Phân tích nhân quả cũng sẽ được bảo hiểm. Các ngôn ngữ lập trình Python/R sẽ được sử dụng chủ yếu. Học sinh cũng sẽ thực hiện một dự án nhóm để giải quyết vấn đề thực tế bằng cách sử dụng Phân tích dữ liệu lớn.

    (4 đơn vị) Điều kiện tiên quyết: Sự đồng ý của khoa khoa

  • Khóa học này xem xét các phương pháp và thực hành hiện tại để thiết kế tốt hệ thống phần mềm. Các chủ đề bao gồm các mẫu thiết kế phần mềm, khuôn khổ, kiến ​​trúc và thiết kế hệ thống để áp dụng những trừu tượng đa cấp này. (2-4 tín chỉ) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của giảng viên bộ môn.

  • Khóa học này tập trung vào việc giảng dạy các nguyên tắc và thực hành được sử dụng khi phát triển các ứng dụng doanh nghiệp quy mô lớn hơn. Chúng tôi sẽ xem xét các lớp kiến ​​trúc khác nhau thường được sử dụng và các công nghệ khác nhau liên quan đến các lớp này, bao gồm Ánh xạ quan hệ đối tượng (ORM), Injection phụ thuộc (DI), Lập trình hướng theo phương diện (AOP) và tích hợp với các ứng dụng khác thông qua Dịch vụ Web (RESTfull và SOAP), Nhắn tin và gọi phương thức từ xa. Phải có kiến ​​thức làm việc về cơ sở dữ liệu quan hệ và SQL. Nếu bạn không có một khóa học vững chắc hoặc kiến ​​thức làm việc tốt về SQL, bạn nên đăng ký CS422 DBMS trước khi đăng ký EA. (4 chiếc)

  • Khóa học này tập trung các ứng dụng web trong một thiết lập doanh nghiệp. Ứng dụng doanh nghiệp là một hệ thống phần mềm lớn được thiết kế để hoạt động trong một tổ chức lớn như một công ty hoặc chính phủ. Các ứng dụng doanh nghiệp là phức tạp, có thể mở rộng, dựa trên thành phần, phân phối và nhiệm vụ quan trọng. Khóa học này, CS545, tập trung vào giao diện người dùng hoặc lớp trình bày của ứng dụng web doanh nghiệp. CS544 Enterprise Architecture là một khóa học đồng hành tập trung vào mặt sau hoặc lớp doanh nghiệp, bao gồm logic kinh doanh, giao dịch và tính bền bỉ. CS472, Lập trình ứng dụng web, là khóa học tiên quyết bao gồm HTML, CSS, JavaScript, servlets và JSP.

    Khóa học dạy các nguyên tắc và mô hình chung trên các nền tảng và khung. Khóa học sẽ kiểm tra và làm việc với hai khung web Java chiếm ưu thế là Java Server Faces (JSF) và SpringMVC. JSF là một khung dựa trên thành phần và là đặc tả khung trình bày chính thức cho ngăn xếp công nghệ Java Enterprise Edition. SpringMVC là một phần của khung công tác Core Spring và đã trở thành khung công tác web Java được sử dụng rộng rãi nhất trong những năm gần đây. (Đơn vị 4) Điều kiện tiên quyết: CS 472 hoặc sự đồng ý của khoa khoa.

  • React là thư viện phổ biến nhất để xây dựng các ứng dụng web mạnh mẽ. Trong khóa học này, sinh viên sẽ học cách sử dụng React và ES6 để xây dựng các ứng dụng mạnh mẽ, có thể mở rộng ngay từ đầu bằng cách sử dụng các mẫu Redux mới nhất để duy trì trạng thái ứng dụng của họ.

    Các chủ đề bao gồm: Phát triển ứng dụng web dựa trên thành phần, Mẫu thiết kế thành phần, Tiêu thụ API phần còn lại, Sự bền bỉ với API trình duyệt, JSX và API React (đạo cụ, proptypes, sự kiện, giới thiệu), Luồng dữ liệu ứng dụng và Triển khai ứng dụng React. Điều kiện tiên quyết WAP hoặc CS 477.

    (Đơn vị 4)

  • Trong khóa học này, sinh viên học Kiến trúc lập trình phản ứng của các ứng dụng web trang đơn (SPA) cùng với tất cả các kỹ năng cần thiết để xây dựng một ứng dụng web hiện đại đầy đủ bằng cách sử dụng TypeScript và Angular. Sinh viên hiểu sâu về cách thức hoạt động của Angular, bao gồm: Phát hiện thay đổi; Lập trình Reactive RxJs với các đối tượng và đối tượng quan sát được; DOM bóng tối; Các khu; Mô-đun, thành phần, chỉ thị tùy chỉnh và đường ống; Dịch vụ và tiêm thuốc phụ thuộc; Trình biên dịch Angular: biên dịch JIT và AOF; Biểu mẫu (hướng mẫu và hướng dữ liệu); Định tuyến, bảo vệ và bảo vệ tuyến đường; Máy khách HTTP; và xác thực Mã thông báo web JWT JSON. Điều kiện tiên quyết: WAP hoặc CS 477.

    (Đơn vị 4)

  • Khóa học này chuyển từ phát triển web sang phát triển ứng dụng di động bằng cách sử dụng React Native, một khuôn khổ phổ biến của Facebook cho phép các ứng dụng gốc đa nền tảng chạy bằng JavaScript mà không cần Java hoặc Swift. Khóa học giới thiệu JavaScript – JavaScript XML (JSX) – một phần mở rộng JavaScript hiện đại. Sinh viên có được kinh nghiệm với React Native và các mô hình, kiến ​​trúc ứng dụng và giao diện người dùng của nó. Khóa học đạt đến đỉnh điểm trong một dự án cuối cùng, trong đó sinh viên triển khai một ứng dụng di động hoàn toàn do chính họ thiết kế. Điều kiện tiên quyết: WAA hoặc CS568.

    (Đơn vị 4)

  • Trong khóa học này, bạn sẽ học Kiến trúc lập trình phản ứng của SPA (Ứng dụng web một trang) cùng với tất cả các kỹ năng cần thiết để xây dựng một Ứng dụng Web hiện đại đầy đủ. Các công nghệ bao gồm: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase và NoQuery cơ sở dữ liệu (MongoDB). Khóa học sẽ bao gồm:

    • Cách công cụ C ++ V8 và mã không đồng bộ hoạt động trong vòng lặp sự kiện Node và Node.
    • Cách cấu trúc mã của bạn để sử dụng lại và xây dựng API đầy đủ bằng cách sử dụng các mô-đun và ExpressJS.
    • Cách thức hoạt động của cơ sở dữ liệu NoQuery: Mongo Shell, khung tổng hợp, Bộ bản sao, Phân cụm, Phân đoạn, Mongoose ORM.
    • Hiểu sâu về cách thức hoạt động của Angular (được hỗ trợ bởi Google), Phát hiện thay đổi, lập trình RxJ phản ứng với các đối tượng và chủ đề quan sát, Shadow DOM, Khu, mô-đun và thành phần, Chỉ thị và đường ống tùy chỉnh, Dịch vụ và tiêm phụ thuộc, Trình biên dịch góc, JIT và AOF , Biểu mẫu (Điều hướng mẫu và hướng dữ liệu), Liên kết dữ liệu, định tuyến, bảo vệ và bảo vệ tuyến đường, ứng dụng khách HTTP, Xác thực mã thông báo web JWT JSON.

    (Đơn vị 4)

  • Trong khóa học thực hành này, sinh viên thực hiện các công việc liên quan đến máy tính ở vị trí chuyên môn kỹ thuật. Các nhiệm vụ được thực hiện có thể là thiết kế và phát triển các hệ thống mới hoặc áp dụng các hệ thống hiện có cho các mục đích cụ thể. Mô tả công việc thực tập được xây dựng bởi nhà tuyển dụng và sinh viên, và yêu cầu phê duyệt trước bởi một trong những giảng viên tốt nghiệp của khoa, với sự tham khảo ý kiến ​​của người giám sát thực tập nơi sinh viên được sắp xếp. (Khóa học này chủ yếu dành cho sinh viên trong các chương trình thực tập hoặc hợp tác.) (0.5-1 đơn vị mỗi khối - có thể được lặp lại.)

  • Học máy là lĩnh vực nghiên cứu cung cấp cho máy tính khả năng học hỏi từ dữ liệu, là trọng tâm của hầu hết mọi ngành khoa học và nghiên cứu tổng quát hóa (tức là dự đoán) từ dữ liệu là chủ đề trung tâm của học máy. Khóa học này giới thiệu ở cấp độ sau đại học về học máy và bao quát chuyên sâu về các phương pháp mới và tiên tiến trong học máy, cũng như lý thuyết cơ bản của chúng. Nó nhấn mạnh các phương pháp tiếp cận có liên quan thực tế và thảo luận về một số ứng dụng gần đây của học máy, chẳng hạn như Khai thác dữ liệu (trong Dữ liệu lớn / Khoa học dữ liệu, Phân tích dữ liệu), Xử lý ngôn ngữ tự nhiên, Thị giác máy tính, Người máy, Tin sinh học và Xử lý dữ liệu văn bản và web. Học máy được sử dụng trong nhiều ngành khác nhau bao gồm Dịch vụ tài chính, Dầu khí, Chăm sóc sức khỏe, Tiếp thị & Quảng cáo, Chính phủ, Internet và Internet of Things.

    Khóa học này bao gồm nhiều mô hình học tập, thuật toán, kết quả lý thuyết và ứng dụng. Nó sử dụng các khái niệm cơ bản từ trí tuệ nhân tạo, lý thuyết thông tin, thống kê và lý thuyết điều khiển trong chừng mực chúng có liên quan đến học máy. Các chủ đề bao gồm: học có giám sát (học tập chung / phân biệt, học tham số / không tham số, mạng nơron, máy vectơ hỗ trợ, cây quyết định, học & tối ưu hóa Bayesian); học không giám sát (phân cụm, giảm số chiều, phương pháp hạt nhân); lý thuyết học tập (sự cân bằng độ lệch / phương sai; lý thuyết VC; biên lợi nhuận lớn); học tăng cường và kiểm soát thích ứng. Các chủ đề khác bao gồm HMM (Mô hình Markov ẩn), Điện toán tiến hóa, Học sâu (Với Nets thần kinh) và thiết kế các thuật toán có hiệu suất có thể được phân tích chặt chẽ cho các vấn đề máy học cơ bản.

    Một phần quan trọng của khóa học là một dự án nhóm. Các công cụ nguồn mở chính được sử dụng cho học máy song song, phân tán và có thể mở rộng sẽ được trình bày ngắn gọn để giúp sinh viên thực hiện các dự án. (Đơn vị 4) Điều kiện tiên quyết: Không có.

  • Trí tuệ nhân tạo (AI) là nguyên tắc cố gắng xây dựng và hiểu các Hệ thống thông minh. Máy tính với trí thông minh cấp độ con người sẽ có tác động rất lớn đến xã hội. Tác nhân phần mềm thông minh và Hệ thống đa tác nhân đang phát triển nhanh chóng và hỗ trợ trong nhiều lĩnh vực như Chuyển đổi kỹ thuật số, Tự động hóa, Hệ thống đàm thoại, Tìm kiếm trên web, Người máy, Sản xuất, Y tế, Dược phẩm, Ngân hàng, Chuỗi cung ứng, Lái xe tự hành, Quảng cáo, Trò chơi, v.v. một vài tên. AI thúc đẩy một ngành công nghiệp trị giá hàng nghìn tỷ đô la. Khóa học này sẽ dạy các nền tảng của AI và cung cấp cho sinh viên hiểu biết thực tế về lĩnh vực này. Các chủ đề bao gồm các khái niệm cốt lõi của AI – tác nhân thông minh, hệ thống đa tác nhân, tìm kiếm thông minh, logic bậc nhất và bậc cao, biểu diễn tri thức, lập luận, nhận thức, học tập, ngữ nghĩa (NLP, Hình ảnh, Đối tượng..), lập kế hoạch, ra quyết định, hành động, phản ứng, thảo luận, hợp lý, thích nghi, giao tiếp và tương tác. Khóa học nhấn mạnh các phương pháp tiếp cận có liên quan đến thực tế và thảo luận về một số ứng dụng phổ biến gần đây của AI. Các công cụ mã nguồn mở và ngôn ngữ lập trình chính cho AI (bao gồm Mã thấp & Không mã) sẽ được đề cập ngắn gọn. Học sinh cũng sẽ thực hiện một dự án nhóm để giải quyết vấn đề thực tế bằng AI.

    (4 đơn vị) Điều kiện tiên quyết: Sự đồng ý của khoa khoa

  • Trong khóa học này, chúng tôi sẽ xem xét các kỹ thuật, nguyên tắc và mô hình về cách thiết kế các hệ thống phần mềm linh hoạt, có thể mở rộng, có thể kiểm tra và có khả năng phục hồi bằng cách sử dụng microservice. Chúng tôi sẽ nghiên cứu làm thế nào chúng ta có thể chia các ứng dụng lớn thành các dịch vụ siêu nhỏ dễ xây dựng hơn và các lợi thế khác so với các ứng dụng doanh nghiệp nguyên khối. Một kiến ​​trúc microservice phân tán cũng đưa ra nhiều thách thức. Chúng tôi sẽ nghiên cứu những thách thức này và làm thế nào để giải quyết chúng. Chủ đề của khóa học này là phong cách kiến ​​trúc, kỹ thuật tích hợp và mô hình, thiết kế hướng tên miền, kiến ​​trúc hướng sự kiện và lập trình phản ứng. (Tín dụng 4). (Không có điều kiện tiên quyết)

  • Để tôn vinh 50 năm thành lập giáo dục MIU, Khoa Khoa học Máy tính vui mừng khởi xướng loạt bài Trò chuyện Công nghệ ComPro của Golden Jubilee mới của chúng tôi.

    Loạt bài hàng tháng này đang được tổ chức và kiểm duyệt bởi Giáo sư Renuka Mohanraj.

    Các cuộc nói chuyện có sẵn tại https://www.youtube.com/playlist?list=PLoBuI1C_-EtrAMdD45sldMnd8HXNhmyBQ.

    Xem cuộc nói chuyện được ghi lại mới nhất của chúng tôi, từ Thứ Bảy, ngày 28 tháng 2022 năm XNUMX:

    Giảng viên Khoa học Máy tính MIU Unubold Tumenbayar, một kiến ​​trúc sư giải pháp chuyên nghiệp được AWS chứng nhận, đã đề cập đến các chủ đề này trong ComPro Tech Talk mới nhất của chúng tôi:
    o Xây dựng ứng dụng Full-stack trong vài phút trên đám mây
    o Thảo luận về Công nghệ hiện đại
    o GraphQL
    o Phản ứng
    o NoSQL sử dụng các dịch vụ và công cụ AWS

    Xem các trang trình bày của Unbold ở đây.

    Buổi nói chuyện này là một bản xem trước tốt về Khóa học điện toán đám mây (CS 516).

Lựa chọn học tập

Có 3 lựa chọn học tập cho Sinh viên Quốc tế.
Mỗi trường cung cấp một MS về Khoa học Máy tính.
Tất cả đều có ngày nhập cảnh là tháng Giêng, tháng Tư, tháng Tám hoặc tháng Mười.

Khóa HọcTháng học trong khuôn viên trườngThực hành trả phíGiáo dục từ xa (DE) trong thời gian thực hành
CPT8-9Lên đến 2 năm CPT4 khóa học DE
OPT9-10Lên đến 11.5 tháng CPT + 3 năm OPT (Không bắt buộc)3 khóa học DE
Toàn thời gian trên Campus12-133 năm OPT tùy chọnNA

“Lần đầu tiên tôi nghe về chương trình MSCS, tôi đã nghi ngờ về điều đó. Tôi không thể tin rằng một cái gì đó như thế này tồn tại. Nhưng một ngày nọ, một người bạn của tôi tham gia chương trình. Đó là khi tôi xác nhận rằng nó là có thật. Sau đó, tôi tiếp tục quá trình đăng ký của mình. Tốt! Đó là sự thật, tôi đã ở đây, tôi đã hoàn thành chương trình và tôi rất hạnh phúc ”.

Bạn đã sẵn sàng để bắt đầu một sự nghiệp mới?

ĐẠI SỨ QUÁN HOA KỲ PHỎNG VẤN THỜI GIAN CHỜ VÀ THỜI GIAN XỬ LÝ ĐƠN MSCS

Chúng tôi đã phát hiện ra rằng nhiều quốc gia có ngày phỏng vấn rất muộn. xin vui lòng xem Thời gian chờ hẹn lấy visa (state.gov) để tìm hiểu khoảng thời gian để có được ngày phỏng vấn cho quốc gia/thành phố của bạn.

Nếu thời gian chờ phỏng vấn kéo dài hơn 2 tháng, chúng tôi khuyến khích bạn nộp đơn và hoàn thiện hồ sơ của mình ngay lập tức, ngay cả khi bạn đang có ý định nộp đơn xin nhập cảnh trong tương lai. Bằng cách này, bạn có thể hoàn tất quy trình đăng ký, nhận I-20 và sau đó nhận được ngày phỏng vấn. Bạn phải có I-20 để lấy ngày phỏng vấn. Nếu ngày đến Hoa Kỳ sớm hơn dự định, bạn luôn có thể hoãn ngày đến sau khi nhận được thị thực. Chúng tôi sẽ chỉ cấp cho bạn một I-20 mới cho ngày nhập cảnh mà bạn dự định đến.

Đối với các câu hỏi liên quan đến thông tin này, xin vui lòng liên hệ với văn phòng tuyển sinh của chúng tôi tại csadmissions@miu.edu.

Hãy tự hỏi mình 4 câu hỏi sau:

  1. Bạn có bằng Cử nhân trong lĩnh vực kỹ thuật? Có hay không?

  2. Bạn có đạt điểm cao trong bằng Cử nhân của mình không? Có hay không?

  3. Bạn có ít nhất 6 tháng kinh nghiệm làm việc toàn thời gian, được trả lương với tư cách là nhà phát triển phần mềm sau khi lấy bằng Cử nhân không? Có hay không?

  4. Bạn có sẵn sàng đến Hoa Kỳ để tham gia các lớp học không (chương trình này không có sẵn trực tuyến)? Có hay không?

Nếu bạn trả lời 'có' cho tất cả các câu hỏi trên, bạn có thể áp dụng (Mặc dù điều này không đảm bảo rằng bạn sẽ được chấp nhận.)