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

Chương trình của chúng tôi chuyên về các lĩnh vực phát triển hệ thống phần mềm và phần mềm bằng OOP (Java), ứng dụng web và khoa học dữ liệu. Các lĩnh vực nghiên cứu cốt lõi bao gồm: phát triển phần mềm tiên tiến, lập trình và kiến ​​trúc ứng dụng web, phân tích dữ liệu lớn và công nghệ, học máy và một số lĩnh vực ứng dụng quan trọng.

Tất cả các khóa học được thiết kế để giúp bạn thăng tiến trong sự nghiệp và mỗi khóa học đều có những bài tập thực tế. Lượt xem yêu cầu tốt nghiệp.

MỚI! Giành giải thưởng Khoa học dữ liệu

Khóa học tiêu chuẩn

  • Thực hành lập trình hiện đại (lập trình Java) (CS 401)

    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)

  • Phát triển phần mềm nâng cao (CS 525)

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

  • Thuật toán (CS 435)

    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.)

  • Mạng máy tính (CS 450)

    Mục tiêu của khóa học này là tìm hiểu các khái niệm, nguyên tắc kiến ​​trúc và thuật ngữ của mạng máy tính bằng cách khám phá cách các mạng hoạt động và phát triển các ứng dụng mạng. Khóa học này tuân theo cách tiếp cận từ trên xuống để hiểu các mạng bằng cách sử dụng kiến ​​trúc và giao thức của Internet làm ví dụ chính cho việc thực hiện các nguyên tắc mạng. Chúng tôi bắt đầu ở lớp ứng dụng và tiếp tục qua lớp vận chuyển, lớp mạng, lớp liên kết và lớp vật lý của mạng máy tính. Học sinh phát triển một số ứng dụng mạng và hoàn thành một số phòng thí nghiệm được thiết kế để theo dõi và hiểu các giao thức mạng chiếm ưu thế được sử dụng trên Internet. (Đơn vị 4) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của khoa khoa.

  • Hệ thống quản lý cơ sở dữ liệu (CS 422)

    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 (CS 425)

    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).

  • Kiến trúc và khung ứng dụng web (CS 545)

    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.

  • Lập trình ứng dụng web (CS 472)

    Khóa học này cung cấp một giới thiệu có hệ thống để lập trình các ứng dụng web tương tác và năng động. Khóa học dành cho các cá nhân có ít hoặc không có kinh nghiệm lập trình ứng dụng web trước đó. Việc cung cấp này sẽ sử dụng các máy chủ Java và JSP để xử lý phía máy chủ. Khóa học sẽ giới thiệu HTML và CSS. JavaScript là trọng tâm của khóa học và được trình bày dưới dạng ngôn ngữ lập trình chức năng bao gồm các không gian và mô-đun tên jQuery, Ajax và JavaScript. Đây là điều kiện tiên quyết cho Kiến trúc ứng dụng web CS545. Nó không bao gồm AngularJS hoặc NodeJS, nhưng JavaScript được đề cập ở đây sẽ chuẩn bị cho bạn tìm hiểu các công nghệ đó. (Đơn vị 4)
    Điều kiện tiên quyết: CS 220 hoặc CS 401 hoặc sự đồng ý của khoa khoa.

  • Khoa học và Công nghệ Ý thức cho Chuyên gia Máy tính (FOR 506)

    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 hiệu suất hàng đầu. 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 thực hiệ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 chức năng tinh thần vượt trội giúp tăng cường khả năng sáng tạo và thoát ra khỏi suy nghĩ. 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. (Đơn vị 2)

  • Lãnh đạo cho các nhà quản lý kỹ thuật (FOR 506B)

    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 có sẵn để 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)

Các khóa học bổ sung của MSCS

  • Ngôn ngữ lập trình nâng cao (CS 505)

    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.

  • Dữ liệu lớn (Khoa học dữ liệu) (CS 522)

    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.

  • Phân tích dữ liệu lớn (Khoa học dữ liệu) (CS 488)

    Dữ liệu lớn là tài nguyên thiên nhiên mới: dữ liệu đang tăng gấp đôi sau mỗi tháng 12-18. Khóa học Big Data Analytics 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 để tạo ra những hiểu biế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.v. Bạn sẽ làm việc với một số bộ dữ liệu kỷ lục lớn, và cũng khai thác các nguồn cấp dữ liệu Twitter. Bạn sẽ tìm hiểu các khái niệm Hadoop / MapReduce và Streaming Data và sẽ khám phá các Dự án dữ liệu lớn khác của Apache như Spark, Flink, Kafka, Storm, Samza, NoQuery thông qua các tài liệu nghiên cứu riêng lẻ. Bạn sẽ làm việc theo nhóm trong các dự án mở từ Kaggle.com để cạnh tranh kiếm tiền thưởng bằng cách giải quyết các thách thức phân tích dữ liệu tốt nhất. Bạn cũng sẽ học cách sử dụng Trình tạo mô hình SPSS của IBM hàng đầu trong ngành và các nền tảng khai thác dữ liệu nguồn mở. Sách giáo khoa bán chạy nhất #1 được sử dụng trong khóa học này được viết bởi chính người hướng dẫn. Khóa học cũng sẽ sử dụng một loạt các tài liệu đào tạo video từ MIT, Coursera, Google và các nơi khác. (Đơn vị 4) Điều kiện tiên quyết: Sự đồng ý của khoa khoa

  • Công nghệ dữ liệu lớn (Khoa học dữ liệu) (CS 523)

    Chỉ trong vài năm ngắn ngủi, các công nghệ dữ liệu lớn đã đi từ cõi cường điệu sang 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ụ thực sự quan trọng trong kho vũ khí của bạn để giúp bạn giải quyết các vấn đề dữ liệu lớn khác nhau. Chúng ta sẽ bắt đầu với việc đưa ra câu trả lời cho các câu hỏi như dữ liệu Big Data là gì? Tại sao nó quan trọng hay hữu ích? Làm thế nào để bạn lưu trữ dữ liệu lớn này? Sau đó, chúng tôi sẽ nghiên cứu các công cụ và mô hình lập trình khác nhau từ ngăn xếp công nghệ dữ liệu lớn sẽ giúp chúng tôi phân tích dữ liệu. Các chủ đề bao gồm một số dự án trong hệ sinh thái Hadoop như MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoQuery DB), Zookeeper và Apache Spark hệ sinh thái. Chúng tôi cũng sẽ giới thiệu về AWS và EMR. Bạn sẽ chủ yếu làm việc với một phân phối Hadoop nút đơn của Cloudera. (Đơn vị 4) (Không có điều kiện tiên quyết)

  • Bảo mật máy tính (CS 466)

    Khóa học này đi sâu vào ba khía cạnh của bảo mật máy tính: bảo mật, toàn vẹn và sẵn có. Một số mô hình cho các chính sách bảo mật bí mật và toàn vẹn được nghiên cứu. Vai trò của mật mã học trong việc đảm bảo tính bảo mật và tính toàn vẹn được kiểm tra. Các chủ đề khác bao gồm xác thực, kiểm toán, kiểm tra thâm nhập, các lỗ hổng phổ biến và phát hiện xâm nhập. Khóa học kết thúc với nghiên cứu trường hợp của một hệ thống an toàn thực tế. Học sinh sẽ được yêu cầu đọc các bài báo từ các tài liệu bảo mật và áp dụng chúng vào tài liệu được đưa ra trong các bài giảng. (Tín dụng 4) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của khoa khoa.

  • Kiến trúc doanh nghiệp (CS 544)

    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 tiễn đượ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ẽ kiểm tra 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 được liên kết với các lớp này, bao gồm Ánh xạ quan hệ đối tượng (ORM), Tiêm phụ thuộc (DI), Lập trình hướng đối tượng (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ó khóa học mạnh hoặc kiến ​​thức tốt về SQL, bạn nên đăng ký CS422 DBMS trước khi đăng ký EA. (Đơn vị 4)

  • Học máy (Khoa học dữ liệu) (CS 582)

    Machine Learning, lĩnh vực nghiên cứu cung cấp cho máy tính khả năng học từ dữ liệu, là trung tâm của hầu hết mọi ngành khoa học và nghiên cứu về khái quát hóa (nghĩa là dự đoán) từ dữ liệu là chủ đề chính của học máy. Khóa học này giới thiệu trình độ sau đại học về học máy và bao quát sâu về các phương pháp mới và nâng cao 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 cách 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, 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, Tin học sinh học và Xử lý dữ liệu văn bản và web. Machine Learning được sử dụng trong các ngành công nghiệp 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 vạn vật.

    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 khi 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 tổng quát / phân biệt đối xử, học tập tham số / không tham số, mạng lưới thần kinh, máy vectơ hỗ trợ, cây quyết định, học tập & tối ưu hóa Bayes); học tập không giám sát (phân cụm, giảm kích thước, phương pháp kernel); học lý thuyết (đánh đổi sai lệch / sai lệch; lý thuyết VC; tỷ suất lợi nhuận lớn); tăng cường học tập 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 mạng lưới thần kinh) và các thuật toán thiết kế mà hiệu suất của chúng 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ó.

  • Lập trình thiết bị di động (CS 473)

    Tầm quan trọng của lập trình thiết bị di động đã nổi lên trong những năm gần đây như là một lĩnh vực mới trong phát triển phần mềm. Khóa học này chuẩn bị cho sinh viên phát triển các ứng dụng chạy trên thiết bị di động như điện thoại IPhone, IPad hoặc Android. Đây là một thị trường phát triển nhanh chóng. Khóa học tập trung vào việc cài đặt, phát triển, thử nghiệm và phân phối các ứng dụng di động. Kết thúc khóa học này, sinh viên có thể phát triển một ứng dụng cho các nền tảng được bảo hiểm, mô phỏng chúng, thử nghiệm chúng trên thiết bị thực và cuối cùng xuất bản trên cửa hàng ứng dụng để cung cấp cho người dùng. (Đơn vị 4) Điều kiện tiên quyết: CS472 hoặc sự đồng ý của khoa khoa.

  • Ứng dụng web hiện đại (CS 572)

    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)

  • Hệ điều hành (CS 465)

    Một hệ điều hành kiểm soát các tài nguyên trung tâm của hệ thống máy tính và phân bổ chúng cho người dùng cá nhân. Các chủ đề của khóa học bao gồm các quy trình tuần tự và đồng thời, loại trừ lẫn nhau, chia sẻ tài nguyên, hợp tác quy trình, bế tắc, phân bổ tài nguyên, lập lịch xử lý, quản lý bộ nhớ, phân đoạn và thuật toán phân trang, hệ thống chia sẻ thời gian, thuật toán lập lịch và bảo vệ tài nguyên. (Đơn vị 4) Điều kiện tiên quyết: CS 401 hoặc sự đồng ý của khoa khoa.

  • Lập trình song song (CS 471)

    Bộ xử lý tiêu chuẩn cho tất cả các máy tính mới hiện là bộ xử lý đa lõi, có khả năng thực thi các chương trình nhanh hơn nhiều. Tuy nhiên, để tận 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. Trong khóa học này, sinh viên sẽ dành phần lớn thời gian để viết và gỡ lỗi các chương trình song song. Kết quả dự kiến ​​sẽ là phát triển một cấp độ mới về kỹ năng lập trình thực tế. Kỹ năng này sẽ không chỉ hữu ích cho việc lập trình bộ xử lý đa lõi, mà còn lập trình hệ điều hành và lập trình cơ sở dữ liệu phân tán. 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 C / C ++, thư viện đa luồng Java và tiêu chuẩn luồng OpenMP. (Đơn vị 4) Điều kiện tiên quyết: Kiến thức về lập trình máy tính sử dụng Java, C hoặc C ++.

  • Kiến trúc phần mềm (CS 590)

    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)

  • Thực hành phát triển phần mềm (CS 575)

    Trong khóa học thực hành này, sinh viên thực hiện các nhiệm vụ liên quan đến máy tính ở vị trí chuyên nghiệp kỹ thuật. Các nhiệm vụ được thực hiện có thể là trong việc thiết kế và phát triển các hệ thống mới hoặc ứng 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ế được xây dựng bởi người sử dụng lao động và sinh viên, và cần có sự chấp thuận trước của một trong những giảng viên tốt nghiệp của khoa, với sự tư vấn của giám sát viên thực tế nơi sinh viên được đặt. (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.) (Đơn vị 0.5-1 trên mỗi khối - có thể được lặp lại.)

Lần đầu tiên tôi nghe về chương trình MSCS, tôi đã nghi ngờ nó. 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, 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 nộp đơn 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.

Edwin Bwambaleuganda